VirtualBox

Changeset 52573 in vbox


Ignore:
Timestamp:
Sep 2, 2014 4:16:48 PM (10 years ago)
Author:
vboxsync
Message:

VMM/HMVMXR0: Fix a wrong invalid-guest-state check with regards to EFER.LMA and LME.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/hm_vmx.h

    r52282 r52573  
    209209/** VMCS' EFER MSR.LMA does not match the IA32e mode guest control. */
    210210#define VMX_IGS_EFER_LMA_GUEST_MODE_MISMATCH                    14
    211 /** VMCS' EFER MSR.LMA does not match CR0.PG of the guest when not using
    212  *  unrestricted guest. */
    213 #define VMX_IGS_EFER_LMA_PG_MISMATCH                            15
     211/** VMCS' EFER MSR.LMA does not match EFER.LME of the guest when using paging
     212 *  without unrestricted guest. */
     213#define VMX_IGS_EFER_LMA_LME_MISMATCH                            15
    214214/** CS.Attr.P bit invalid. */
    215215#define VMX_IGS_CS_ATTR_P_INVALID                               16
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r52411 r52573  
    93519351                              VMX_IGS_EFER_LMA_GUEST_MODE_MISMATCH);
    93529352            HMVMX_CHECK_BREAK(   fUnrestrictedGuest
    9353                               || RT_BOOL(u64Val & MSR_K6_EFER_LMA) == RT_BOOL(u32GuestCR0 & X86_CR0_PG),
    9354                               VMX_IGS_EFER_LMA_PG_MISMATCH);
     9353                              || !(u32GuestCR0 & X86_CR0_PG)
     9354                              || RT_BOOL(u64Val & MSR_K6_EFER_LMA) == RT_BOOL(u64Val & MSR_K6_EFER_LME),
     9355                              VMX_IGS_EFER_LMA_LME_MISMATCH);
    93559356        }
    93569357
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette