VirtualBox

Changeset 49186 in vbox for trunk/src/VBox/VMM/VMMR0


Ignore:
Timestamp:
Oct 18, 2013 3:00:04 PM (11 years ago)
Author:
vboxsync
Message:

VMM/HMVMXR0: Fix MSR_TSC_AUX auto-load/store when not using TSC offsetted mode.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r49152 r49186  
    40714071        /*
    40724072         * 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).
    40744074         */
    4075         if (   CPUMGetGuestCpuIdFeature(pVM, CPUMCPUIDFEATURE_RDTSCP)
    4076             && (pVCpu->hm.s.vmx.u32ProcCtls2 & VMX_VMCS_CTRL_PROC_EXEC2_RDTSCP))
     4075        if (CPUMGetGuestCpuIdFeature(pVM, CPUMCPUIDFEATURE_RDTSCP))
    40774076        {
    40784077            pGuestMsr->u32Msr      = MSR_K8_TSC_AUX;
     
    95049503    rc |= hmR0VmxSaveGuestRflags(pVCpu, pMixedCtx);
    95059504    rc |= hmR0VmxSaveGuestSegmentRegs(pVCpu, pMixedCtx);
     9505    rc |= hmR0VmxSaveGuestAutoLoadStoreMsrs(pVCpu, pMixedCtx);
    95069506    AssertRCReturn(rc, rc);
    95079507    Log4(("ecx=%#RX32\n", pMixedCtx->ecx));
     
    95259525        }
    95269526        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);
    95309527            VMCPU_HMCF_SET(pVCpu, HM_CHANGED_VMX_GUEST_AUTO_MSRS);
    9531         }
    95329528        else if (pMixedCtx->ecx == MSR_IA32_TSC)        /* Windows 7 does this during bootup. See @bugref{6398}. */
    95339529            pVmxTransient->fUpdateTscOffsettingAndPreemptTimer = true;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette