Changeset 48328 in vbox for trunk/src/VBox/VMM/VMMR0
- Timestamp:
- Sep 5, 2013 10:20:18 PM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 88756
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMR0.cpp
r48296 r48328 801 801 PHMR0FIRSTRC pFirstRc = (PHMR0FIRSTRC)pvUser1; 802 802 Assert(idCpu == (RTCPUID)RTMpCpuIdToSetIndex(idCpu)); /// @todo fix idCpu == index assumption (rainy day) 803 Assert(!RTThreadPreemptIsEnabled(NIL_RTTHREAD)); 803 804 NOREF(pvUser2); 804 805 805 uint64_t fFC= ASMRdMsr(MSR_IA32_FEATURE_CONTROL);806 bool const fInSmxMode 807 bool fMsrLocked 808 bool fSmxVmxAllowed 809 bool fVmxAllowed 806 uint64_t fFC = ASMRdMsr(MSR_IA32_FEATURE_CONTROL); 807 bool const fInSmxMode = !!(ASMGetCR4() & X86_CR4_SMXE); 808 bool fMsrLocked = !!(fFC & MSR_IA32_FEATURE_CONTROL_LOCK); 809 bool fSmxVmxAllowed = !!(fFC & MSR_IA32_FEATURE_CONTROL_SMX_VMXON); 810 bool fVmxAllowed = !!(fFC & MSR_IA32_FEATURE_CONTROL_VMXON); 810 811 811 812 /* Check if the LOCK bit is set but excludes the required VMXON bit. */ … … 835 836 836 837 /* Verify. */ 837 fFC = ASMRdMsr(MSR_IA32_FEATURE_CONTROL);838 fFC = ASMRdMsr(MSR_IA32_FEATURE_CONTROL); 838 839 fMsrLocked = !!(fFC & MSR_IA32_FEATURE_CONTROL_LOCK); 839 840 fSmxVmxAllowed = fMsrLocked && !!(fFC & MSR_IA32_FEATURE_CONTROL_SMX_VMXON);
Note:
See TracChangeset
for help on using the changeset viewer.