Changeset 49186 in vbox for trunk/src/VBox/VMM/VMMR0
- Timestamp:
- Oct 18, 2013 3:00:04 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r49152 r49186 4071 4071 /* 4072 4072 * RDTSCP requires the TSC_AUX MSR. Host and guest share the physical MSR. So we have to 4073 * load the guest's copy if the guest can execute RDTSCP without causing VM-exits.4073 * load the guest's copy always (since the MSR bitmap allows passthru unconditionally). 4074 4074 */ 4075 if ( CPUMGetGuestCpuIdFeature(pVM, CPUMCPUIDFEATURE_RDTSCP) 4076 && (pVCpu->hm.s.vmx.u32ProcCtls2 & VMX_VMCS_CTRL_PROC_EXEC2_RDTSCP)) 4075 if (CPUMGetGuestCpuIdFeature(pVM, CPUMCPUIDFEATURE_RDTSCP)) 4077 4076 { 4078 4077 pGuestMsr->u32Msr = MSR_K8_TSC_AUX; … … 9504 9503 rc |= hmR0VmxSaveGuestRflags(pVCpu, pMixedCtx); 9505 9504 rc |= hmR0VmxSaveGuestSegmentRegs(pVCpu, pMixedCtx); 9505 rc |= hmR0VmxSaveGuestAutoLoadStoreMsrs(pVCpu, pMixedCtx); 9506 9506 AssertRCReturn(rc, rc); 9507 9507 Log4(("ecx=%#RX32\n", pMixedCtx->ecx)); … … 9525 9525 } 9526 9526 else if (pMixedCtx->ecx == MSR_K6_EFER) /* EFER is the only MSR we auto-load but don't allow write-passthrough. */ 9527 {9528 rc = hmR0VmxSaveGuestAutoLoadStoreMsrs(pVCpu, pMixedCtx);9529 AssertRCReturn(rc, rc);9530 9527 VMCPU_HMCF_SET(pVCpu, HM_CHANGED_VMX_GUEST_AUTO_MSRS); 9531 }9532 9528 else if (pMixedCtx->ecx == MSR_IA32_TSC) /* Windows 7 does this during bootup. See @bugref{6398}. */ 9533 9529 pVmxTransient->fUpdateTscOffsettingAndPreemptTimer = true;
Note:
See TracChangeset
for help on using the changeset viewer.