Changeset 74702 in vbox for trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h
- Timestamp:
- Oct 9, 2018 8:06:48 AM (6 years ago)
- File:
-
- 1 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);
Note:
See TracChangeset
for help on using the changeset viewer.