Changeset 76468 in vbox for trunk/src/VBox/HostDrivers
- Timestamp:
- Dec 25, 2018 5:00:01 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 127769
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/Support/SUPDrv.cpp
r76461 r76468 4625 4625 g_HwvirtMsrs.u.vmx.u64FeatCtrl = ASMRdMsr(MSR_IA32_FEATURE_CONTROL); 4626 4626 g_HwvirtMsrs.u.vmx.u64Basic = ASMRdMsr(MSR_IA32_VMX_BASIC); 4627 g_HwvirtMsrs.u.vmx. PinCtls.u= ASMRdMsr(MSR_IA32_VMX_PINBASED_CTLS);4628 g_HwvirtMsrs.u.vmx. ProcCtls.u= ASMRdMsr(MSR_IA32_VMX_PROCBASED_CTLS);4629 g_HwvirtMsrs.u.vmx. ExitCtls.u= ASMRdMsr(MSR_IA32_VMX_EXIT_CTLS);4630 g_HwvirtMsrs.u.vmx. EntryCtls.u= ASMRdMsr(MSR_IA32_VMX_ENTRY_CTLS);4627 g_HwvirtMsrs.u.vmx.u64PinCtls = ASMRdMsr(MSR_IA32_VMX_PINBASED_CTLS); 4628 g_HwvirtMsrs.u.vmx.u64ProcCtls = ASMRdMsr(MSR_IA32_VMX_PROCBASED_CTLS); 4629 g_HwvirtMsrs.u.vmx.u64ExitCtls = ASMRdMsr(MSR_IA32_VMX_EXIT_CTLS); 4630 g_HwvirtMsrs.u.vmx.u64EntryCtls = ASMRdMsr(MSR_IA32_VMX_ENTRY_CTLS); 4631 4631 g_HwvirtMsrs.u.vmx.u64Misc = ASMRdMsr(MSR_IA32_VMX_MISC); 4632 4632 g_HwvirtMsrs.u.vmx.u64Cr0Fixed0 = ASMRdMsr(MSR_IA32_VMX_CR0_FIXED0); … … 4638 4638 if (RT_BF_GET(g_HwvirtMsrs.u.vmx.u64Basic, VMX_BF_BASIC_TRUE_CTLS)) 4639 4639 { 4640 g_HwvirtMsrs.u.vmx. TruePinCtls.u= ASMRdMsr(MSR_IA32_VMX_TRUE_PINBASED_CTLS);4641 g_HwvirtMsrs.u.vmx. TrueProcCtls.u= ASMRdMsr(MSR_IA32_VMX_TRUE_PROCBASED_CTLS);4642 g_HwvirtMsrs.u.vmx. TrueEntryCtls.u= ASMRdMsr(MSR_IA32_VMX_TRUE_ENTRY_CTLS);4643 g_HwvirtMsrs.u.vmx. TrueExitCtls.u= ASMRdMsr(MSR_IA32_VMX_TRUE_EXIT_CTLS);4644 } 4645 4646 uint32_t const fProcCtlsAllowed1 = g_HwvirtMsrs.u.vmx.ProcCtls.n.allowed1;4640 g_HwvirtMsrs.u.vmx.u64TruePinCtls = ASMRdMsr(MSR_IA32_VMX_TRUE_PINBASED_CTLS); 4641 g_HwvirtMsrs.u.vmx.u64TrueProcCtls = ASMRdMsr(MSR_IA32_VMX_TRUE_PROCBASED_CTLS); 4642 g_HwvirtMsrs.u.vmx.u64TrueEntryCtls = ASMRdMsr(MSR_IA32_VMX_TRUE_ENTRY_CTLS); 4643 g_HwvirtMsrs.u.vmx.u64TrueExitCtls = ASMRdMsr(MSR_IA32_VMX_TRUE_EXIT_CTLS); 4644 } 4645 4646 uint32_t const fProcCtlsAllowed1 = RT_HI_U32(g_HwvirtMsrs.u.vmx.u64ProcCtls); 4647 4647 if (fProcCtlsAllowed1 & VMX_PROC_CTLS_USE_SECONDARY_CTLS) 4648 4648 { 4649 g_HwvirtMsrs.u.vmx. ProcCtls2.u= ASMRdMsr(MSR_IA32_VMX_PROCBASED_CTLS2);4650 4651 uint32_t const fProcCtls2Allowed1 = g_HwvirtMsrs.u.vmx.ProcCtls2.n.allowed1;4649 g_HwvirtMsrs.u.vmx.u64ProcCtls2 = ASMRdMsr(MSR_IA32_VMX_PROCBASED_CTLS2); 4650 4651 uint32_t const fProcCtls2Allowed1 = RT_HI_U32(g_HwvirtMsrs.u.vmx.u64ProcCtls2); 4652 4652 if (fProcCtls2Allowed1 & (VMX_PROC_CTLS2_EPT | VMX_PROC_CTLS2_VPID)) 4653 4653 g_HwvirtMsrs.u.vmx.u64EptVpidCaps = ASMRdMsr(MSR_IA32_VMX_EPT_VPID_CAP);
Note:
See TracChangeset
for help on using the changeset viewer.