VirtualBox

Changeset 10317 in vbox


Ignore:
Timestamp:
Jul 7, 2008 1:12:49 PM (17 years ago)
Author:
vboxsync
Message:

SyncCR3 change for nested paging to deal with pool flushes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/PGMAllBth.h

    r10287 r10317  
    29972997PGM_BTH_DECL(int, SyncCR3)(PVM pVM, uint64_t cr0, uint64_t cr3, uint64_t cr4, bool fGlobal)
    29982998{
    2999 #if PGM_SHW_TYPE == PGM_TYPE_NESTED
    3000     /** @todo check if this is really necessary */
    3001     HWACCMFlushTLB(pVM);
    3002     return VINF_SUCCESS;
    3003 
    3004 #else /* PGM_SHW_TYPE != PGM_TYPE_NESTED */
    30052999    if (VM_FF_ISSET(pVM, VM_FF_PGM_SYNC_CR3))
    30063000        fGlobal = true; /* Change this CR3 reload to be a global one. */
     
    30193013    STAM_PROFILE_STOP(&pVM->pgm.s.CTXMID(Stat,SyncCR3Handlers), h);
    30203014
    3021 # ifdef PGMPOOL_WITH_MONITORING
     3015#ifdef PGMPOOL_WITH_MONITORING
    30223016    /*
    30233017     * When monitoring shadowed pages, we reset the modification counters on CR3 sync.
     
    30303024    else
    30313025    {
    3032 #  ifdef IN_RING3
     3026# ifdef IN_RING3
    30333027        pVM->pgm.s.fSyncFlags &= ~PGM_SYNC_CLEAR_PGM_POOL;
    30343028        pgmPoolClearAll(pVM);
    3035 #  else
     3029# else
    30363030        LogFlow(("SyncCR3: PGM_SYNC_CLEAR_PGM_POOL is set -> VINF_PGM_SYNC_CR3\n"));
    30373031        return VINF_PGM_SYNC_CR3;
    3038 #  endif
    3039     }
    3040 # endif
     3032# endif
     3033    }
     3034#endif
     3035
     3036#if PGM_SHW_TYPE == PGM_TYPE_NESTED
     3037    /** @todo check if this is really necessary */
     3038    HWACCMFlushTLB(pVM);
     3039    return VINF_SUCCESS;
     3040
     3041#else /* PGM_SHW_TYPE != PGM_TYPE_NESTED */
    30413042
    30423043    Assert(fGlobal || (cr4 & X86_CR4_PGE));
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