- Timestamp:
- Sep 5, 2013 10:20:18 PM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 88756
- Location:
- trunk/src/VBox
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/Support/SUPDrv.c
r48268 r48328 3371 3371 * @returns VBox status code. 3372 3372 * @retval VERR_VMX_NO_VMX 3373 * @retval VERR_VMX_MSR_LOCKED_OR_DISABLED 3373 * @retval VERR_VMX_MSR_SMX_VMXON_DISABLED 3374 * @retval VERR_VMX_MSR_VMXON_DISABLED 3374 3375 * @retval VERR_SVM_NO_SVM 3375 3376 * @retval VERR_SVM_DISABLED … … 3390 3391 *pfCaps = 0; 3391 3392 3393 /** @todo r=ramshankar: Although we're only reading CPUIDs/MSRs here which 3394 * should be identical on all CPUs on the system, it's probably 3395 * cleaner to prevent migration nonetheless? */ 3392 3396 if (ASMHasCpuId()) 3393 3397 { … … 3400 3404 3401 3405 if ( ASMIsValidStdRange(uMaxId) 3402 && ( ASMIsIntelCpuEx( uVendorEBX, uVendorECX, uVendorEDX)3406 && ( ASMIsIntelCpuEx( uVendorEBX, uVendorECX, uVendorEDX) 3403 3407 || ASMIsViaCentaurCpuEx(uVendorEBX, uVendorECX, uVendorEDX) ) 3404 3408 ) -
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.