Changeset 93267 in vbox
- Timestamp:
- Jan 17, 2022 11:14:57 AM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h
r93224 r93267 5998 5998 PCVMXVVMCS const pVmcs = &pVCpu->cpum.GstCtx.hwvirt.vmx.Vmcs; 5999 5999 const char * const pszFailure = "VMFail"; 6000 bool const fVmxTrueMsrs = RT_BOOL(pVCpu->cpum.GstCtx.hwvirt.vmx.Msrs.u64Basic & VMX_BF_BASIC_TRUE_CTLS_MASK); 6000 6001 6001 6002 /* … … 6006 6007 /* Pin-based VM-execution controls. */ 6007 6008 { 6008 VMXCTLSMSR const PinCtls = pVCpu->cpum.GstCtx.hwvirt.vmx.Msrs.PinCtls; 6009 VMXCTLSMSR const PinCtls = fVmxTrueMsrs ? pVCpu->cpum.GstCtx.hwvirt.vmx.Msrs.TruePinCtls 6010 : pVCpu->cpum.GstCtx.hwvirt.vmx.Msrs.PinCtls; 6009 6011 if (!(~pVmcs->u32PinCtls & PinCtls.n.allowed0)) 6010 6012 { /* likely */ } … … 6020 6022 /* Processor-based VM-execution controls. */ 6021 6023 { 6022 VMXCTLSMSR const ProcCtls = pVCpu->cpum.GstCtx.hwvirt.vmx.Msrs.ProcCtls; 6024 VMXCTLSMSR const ProcCtls = fVmxTrueMsrs ? pVCpu->cpum.GstCtx.hwvirt.vmx.Msrs.TrueProcCtls 6025 : pVCpu->cpum.GstCtx.hwvirt.vmx.Msrs.ProcCtls; 6023 6026 if (!(~pVmcs->u32ProcCtls & ProcCtls.n.allowed0)) 6024 6027 { /* likely */ } … … 6206 6209 Assert(!(pVmcs->u32PinCtls & VMX_PIN_CTLS_POSTED_INT)); /* We don't support posted interrupts yet. */ 6207 6210 Assert(!(pVmcs->u32ProcCtls2 & VMX_PROC_CTLS2_PML)); /* We don't support PML yet. */ 6208 Assert(!(pVmcs->u32ProcCtls2 & VMX_PROC_CTLS2_UNRESTRICTED_GUEST)); /* We don't support Unrestricted-guests yet. */ 6211 #ifndef VBOX_WITH_NESTED_HWVIRT_VMX_EPT 6212 Assert(!(pVmcs->u32ProcCtls2 & VMX_PROC_CTLS2_UNRESTRICTED_GUEST)); /* Support for Unrestricted-guests is conditional. */ 6213 #endif 6209 6214 Assert(!(pVmcs->u32ProcCtls2 & VMX_PROC_CTLS2_VMFUNC)); /* We don't support VM functions yet. */ 6210 6215 Assert(!(pVmcs->u32ProcCtls2 & VMX_PROC_CTLS2_EPT_XCPT_VE)); /* We don't support EPT-violation #VE yet. */ … … 6240 6245 */ 6241 6246 { 6242 VMXCTLSMSR const ExitCtls = pVCpu->cpum.GstCtx.hwvirt.vmx.Msrs.ExitCtls; 6247 VMXCTLSMSR const ExitCtls = fVmxTrueMsrs ? pVCpu->cpum.GstCtx.hwvirt.vmx.Msrs.TrueExitCtls 6248 : pVCpu->cpum.GstCtx.hwvirt.vmx.Msrs.ExitCtls; 6243 6249 if (!(~pVmcs->u32ExitCtls & ExitCtls.n.allowed0)) 6244 6250 { /* likely */ } … … 6286 6292 */ 6287 6293 { 6288 VMXCTLSMSR const EntryCtls = pVCpu->cpum.GstCtx.hwvirt.vmx.Msrs.EntryCtls; 6294 VMXCTLSMSR const EntryCtls = fVmxTrueMsrs ? pVCpu->cpum.GstCtx.hwvirt.vmx.Msrs.TrueEntryCtls 6295 : pVCpu->cpum.GstCtx.hwvirt.vmx.Msrs.EntryCtls; 6289 6296 if (!(~pVmcs->u32EntryCtls & EntryCtls.n.allowed0)) 6290 6297 { /* likely */ }
Note:
See TracChangeset
for help on using the changeset viewer.