Changeset 74702 in vbox for trunk/src/VBox
- Timestamp:
- Oct 9, 2018 8:06:48 AM (6 years ago)
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h
r74699 r74702 7992 7992 * Raise exceptions. 7993 7993 */ 7994 /* When in VMX non-root mode and XSAVE/XRSTOR is not enabled, it results in #UD. */ 7995 if ( IEM_VMX_IS_NON_ROOT_MODE(pVCpu) 7996 && !IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_XSAVES_XRSTORS)) 7997 { 7998 Log(("xrstor: Not enabled for nested-guest execution -> #UD\n")); 7999 return iemRaiseUndefinedOpcode(pVCpu); 8000 } 7994 8001 if (!(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSXSAVE)) 7995 8002 return iemRaiseUndefinedOpcode(pVCpu); … … 8008 8015 8009 8016 /* 8010 * Calc the requested mask 8017 * Calc the requested mask. 8011 8018 */ 8012 8019 uint64_t const fReqComponents = RT_MAKE_U64(pVCpu->cpum.GstCtx.eax, pVCpu->cpum.GstCtx.edx) & pVCpu->cpum.GstCtx.aXcr[0]; … … 8148 8155 * Raise exceptions. 8149 8156 */ 8157 /* When in VMX non-root mode and XSAVE/XRSTOR is not enabled, it results in #UD. */ 8158 if ( IEM_VMX_IS_NON_ROOT_MODE(pVCpu) 8159 && !IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_XSAVES_XRSTORS)) 8160 { 8161 Log(("xrstor: Not enabled for nested-guest execution -> #UD\n")); 8162 return iemRaiseUndefinedOpcode(pVCpu); 8163 } 8150 8164 if (!(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSXSAVE)) 8151 8165 return iemRaiseUndefinedOpcode(pVCpu); -
trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h
r74695 r74702 132 132 /* 20 */ RT_UOFFSETOF(VMXVVMCS, u64AddrVmwriteBitmap), 133 133 /* 21 */ RT_UOFFSETOF(VMXVVMCS, u64AddrXcptVeInfo), 134 /* 22 */ RT_UOFFSETOF(VMXVVMCS, u64 AddrXssBitmap),134 /* 22 */ RT_UOFFSETOF(VMXVVMCS, u64XssBitmap), 135 135 /* 23 */ RT_UOFFSETOF(VMXVVMCS, u64AddrEnclsBitmap), 136 136 /* 24 */ UINT16_MAX,
Note:
See TracChangeset
for help on using the changeset viewer.