VirtualBox

Changeset 17166 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Feb 26, 2009 1:45:26 PM (16 years ago)
Author:
vboxsync
Message:

Another case of dynamic cache entry trashing.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/PGMAll.cpp

    r17158 r17166  
    876876    int            rc;
    877877
     878# if defined(IN_RC) && defined(VBOX_WITH_PGMPOOL_PAGING_ONLY)
     879    /* Make sure the dynamic pPdeDst mapping will not be reused during this function. */
     880    PGMDynLockHCPage(pVM, (uint8_t *)pPdpe);
     881# endif
     882
    878883    /* Allocate page directory if not present. */
    879884    if (    !pPdpe->n.u1Present
     
    914919            Assert(pVM->pgm.s.fSyncFlags & PGM_SYNC_CLEAR_PGM_POOL);
    915920            VM_FF_SET(pVM, VM_FF_PGM_SYNC_CR3);
     921# if defined(IN_RC) && defined(VBOX_WITH_PGMPOOL_PAGING_ONLY)
     922            PGMDynUnlockHCPage(pVM, (uint8_t *)pPdpe);
     923# endif
    916924            return VINF_PGM_SYNC_CR3;
    917925        }
     
    927935             | (pGstPdpe->u & ~(X86_PDPE_PG_MASK | X86_PDPE_AVL_MASK | X86_PDPE_PCD | X86_PDPE_PWT));
    928936
     937# if defined(IN_RC) && defined(VBOX_WITH_PGMPOOL_PAGING_ONLY)
     938    PGMDynUnlockHCPage(pVM, (uint8_t *)pPdpe);
     939# endif
    929940    *ppPD = (PX86PDPAE)PGMPOOL_PAGE_2_PTR(pVM, pShwPage);
    930941    return VINF_SUCCESS;
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