VirtualBox

Changeset 49665 in vbox


Ignore:
Timestamp:
Nov 26, 2013 4:04:30 PM (11 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
90920
Message:

VMM/HMVMXR0: Careful with preemption!

File:
1 edited

Legend:

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

    r49664 r49665  
    58435843static int hmR0VmxSaveGuestLazyMsrs(PVMCPU pVCpu, PCPUMCTX pMixedCtx)
    58445844{
    5845     if (pVCpu->hm.s.vmx.fUpdatedGuestState & HMVMX_UPDATED_GUEST_LAZY_MSRS)
    5846         return VINF_SUCCESS;
    5847 
    58485845#if HC_ARCH_BITS == 64 || defined(VBOX_WITH_HYBRID_32BIT_KERNEL)
    58495846    if (   HMVMX_IS_64BIT_HOST_MODE()
     
    58545851        HM_DISABLE_PREEMPT_IF_NEEDED();
    58555852
    5856         hmR0VmxLazySaveGuestMsrs(pVCpu, pMixedCtx);
     5853        if (!(pVCpu->hm.s.vmx.fUpdatedGuestState & HMVMX_UPDATED_GUEST_LAZY_MSRS))
     5854        {
     5855            hmR0VmxLazySaveGuestMsrs(pVCpu, pMixedCtx);
     5856            pVCpu->hm.s.vmx.fUpdatedGuestState |= HMVMX_UPDATED_GUEST_LAZY_MSRS;
     5857        }
    58575858
    58585859        HM_RESTORE_PREEMPT_IF_NEEDED();
    58595860        VMMRZCallRing3Enable(pVCpu);
    58605861    }
    5861 #endif
    5862 
     5862#else
    58635863    pVCpu->hm.s.vmx.fUpdatedGuestState |= HMVMX_UPDATED_GUEST_LAZY_MSRS;
     5864#endif
     5865
    58645866    return VINF_SUCCESS;
    58655867}
Note: See TracChangeset for help on using the changeset viewer.

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