VirtualBox

Changeset 19860 in vbox


Ignore:
Timestamp:
May 20, 2009 11:55:12 AM (15 years ago)
Author:
vboxsync
Message:

Flush updates

Location:
trunk/src/VBox/VMM
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/PGMInternal.h

    r19834 r19860  
    361361#else
    362362# define PGM_INVL_VCPU_TLBS(pVCpu)             HWACCMFlushTLB(pVCpu)
     363#endif
     364
     365/** @def PGM_INVL_ALL_VCPU_TLBS()
     366 * Invalidates the TLBs of all VCPUs
     367 */
     368#ifdef IN_RC
     369# define PGM_INVL_ALL_VCPU_TLBS(pVM)            ASMReloadCR3()
     370#elif defined(IN_RING0)
     371# define PGM_INVL_ALL_VCPU_TLBS(pVM)            HWACCMFlushAllTLBs(pVM)
     372#else
     373# define PGM_INVL_ALL_VCPU_TLBS(pVM)            HWACCMFlushAllTLBs(pVM)
    363374#endif
    364375
  • trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp

    r19833 r19860  
    344344int pgmPhysAllocPage(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys)
    345345{
    346     PVMCPU pVCpu = VMMGetCpu(pVM);
    347346    LogFlow(("pgmPhysAllocPage: %R[pgmpage] %RGp\n", pPage, GCPhys));
    348347
     
    370369    {
    371370        if (fFlushTLBs)
    372             PGM_INVL_VCPU_TLBS(pVCpu);
     371            PGM_INVL_ALL_VCPU_TLBS(pVM);
    373372        Assert(rc2 == VERR_EM_NO_MEMORY);
    374373        return rc2;
     
    425424    if (    fFlushTLBs
    426425        &&  rc != VINF_PGM_GCPHYS_ALIASED)
    427         PGM_INVL_VCPU_TLBS(pVCpu);
     426        PGM_INVL_ALL_VCPU_TLBS(pVM);
    428427    return rc;
    429428}
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