VirtualBox

Changeset 16904 in vbox


Ignore:
Timestamp:
Feb 18, 2009 2:35:38 PM (16 years ago)
Author:
vboxsync
Message:

VBOX_WITH_PGMPOOL_PAGING_ONLY: fCR3Mix is not relevant anymore

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

Legend:

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

    r16882 r16904  
    16351635     * It's a hack required because of REMR3NotifyHandlerPhysicalDeregister. */
    16361636    bool volatile       fReusedFlushPending;
     1637#ifndef VBOX_WITH_PGMPOOL_PAGING_ONLY
    16371638    /** Used to indicate that the guest is mapping the page is also used as a CR3.
    16381639     * In these cases the access handler acts differently and will check
     
    16421643     */
    16431644    bool                fCR3Mix;
     1645#endif
    16441646} PGMPOOLPAGE, *PPGMPOOLPAGE, **PPPGMPOOLPAGE;
    16451647
  • trunk/src/VBox/VMM/PGMPool.cpp

    r16657 r16904  
    585585        STAM_PROFILE_STOP(&pPool->StatMonitorR3, a);
    586586    }
    587     else if (    (pPage->fCR3Mix || pPage->cModifications < 96) /* it's cheaper here. */
     587    else if (    (   pPage->cModifications < 96 /* it's cheaper here. */
     588#ifndef VBOX_WITH_PGMPOOL_PAGING_ONLY
     589                  || pPage->fCR3Mix
     590#endif
     591                  )
    588592             &&  cbBuf <= 4)
    589593    {
  • trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp

    r16782 r16904  
    12351235    bool fReused = false;
    12361236    if (    (   pPage->cModifications < 48   /** @todo #define */ /** @todo need to check that it's not mapping EIP. */ /** @todo adjust this! */
    1237              || pPage->fCR3Mix)
     1237#ifndef VBOX_WITH_PGMPOOL_PAGING_ONLY
     1238             || pPage->fCR3Mix
     1239#endif
     1240            )
    12381241        &&  !(fReused = pgmPoolMonitorIsReused(pVM, pPage, pRegFrame, &Cpu, pvFault))
    12391242        &&  !pgmPoolMonitorIsForking(pPool, &Cpu, GCPhysFault & PAGE_OFFSET_MASK))
     
    19441947            PPGMPOOLPAGE pNewHead = &pPool->aPages[pPage->iMonitoredNext];
    19451948            pNewHead->iMonitoredPrev = NIL_PGMPOOL_IDX;
     1949#ifndef VBOX_WITH_PGMPOOL_PAGING_ONLY
    19461950            pNewHead->fCR3Mix = pPage->fCR3Mix;
     1951#endif
    19471952            rc = PGMHandlerPhysicalChangeCallbacks(pVM, pPage->GCPhys & ~(RTGCPHYS)(PAGE_SIZE - 1),
    19481953                                                   pPool->pfnAccessHandlerR3, MMHyperCCToR3(pVM, pNewHead),
     
    41104115        pPage->fCached   = false;
    41114116        pPage->fReusedFlushPending = false;
    4112         pPage->fCR3Mix = false;
    41134117#ifdef PGMPOOL_WITH_USER_TRACKING
    41144118        pPage->iUserHead = NIL_PGMPOOL_USER_INDEX;
     4119#else
     4120        pPage->fCR3Mix = false;
    41154121#endif
    41164122#ifdef PGMPOOL_WITH_CACHE
     
    44964502    pPage->fCached = false;
    44974503    pPage->fReusedFlushPending = false;
    4498     pPage->fCR3Mix = false;
    44994504#ifdef PGMPOOL_WITH_MONITORING
    45004505    pPage->cModifications = 0;
    45014506    pPage->iModifiedNext = NIL_PGMPOOL_IDX;
    45024507    pPage->iModifiedPrev = NIL_PGMPOOL_IDX;
     4508#else
     4509    pPage->fCR3Mix = false;
    45034510#endif
    45044511#ifdef PGMPOOL_WITH_USER_TRACKING
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