Changeset 22504 in vbox
- Timestamp:
- Aug 27, 2009 10:17:04 AM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 51524
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp
r22474 r22504 65 65 static const char *pgmPoolPoolKindToStr(uint8_t enmKind); 66 66 #endif 67 static PPGMPOOLPAGE pgmPoolMonitorGetPageByGCPhys(PPGMPOOL pPool, PPGMPOOLPAGE pNewPage); 67 68 68 69 void pgmPoolTrackFlushGCPhysPT(PVM pVM, PPGMPAGE pPhysPage, uint16_t iShw, uint16_t cRefs); … … 250 251 PVM pVM = pPool->CTX_SUFF(pVM); 251 252 252 LogFlow(("pgmPoolMonitorChainChanging: %RGv phys=%RGp kind=%s cbWrite=%d\n", (RTGCPTR)pvAddress, GCPhysFault, pgmPoolPoolKindToStr(pPage->enmKind), cbWrite)); 253 LogFlow(("pgmPoolMonitorChainChanging: %RGv phys=%RGp cbWrite=%d\n", (RTGCPTR)pvAddress, GCPhysFault, cbWrite)); 254 253 255 for (;;) 254 256 { … … 263 265 PX86PML4 pPML4; 264 266 } uShw; 267 268 LogFlow(("pgmPoolMonitorChainChanging: page idx=%d phys=%RGp (next=%d) kind=%s\n", pPage->idx, pPage->GCPhys, pPage->iMonitoredNext, pgmPoolPoolKindToStr(pPage->enmKind), cbWrite)); 265 269 266 270 uShw.pv = NULL; … … 1283 1287 && pPage->enmKind == PGMPOOLKIND_PAE_PT_FOR_PAE_PT 1284 1288 && pPage->cModifications >= cMaxModifications 1285 && pPage->iMo difiedNext == NIL_PGMPOOL_IDX1286 && pPage->iMo difiedPrev == NIL_PGMPOOL_IDX)1289 && pPage->iMonitoredNext != NIL_PGMPOOL_IDX 1290 && pPage->iMonitoredPrev != NIL_PGMPOOL_IDX) 1287 1291 { 1288 1292 Assert(!pgmPoolIsPageLocked(&pVM->pgm.s, pPage)); … … 1395 1399 pPage = &pPool->aPages[idxPage]; 1396 1400 Assert(pPage->idx == idxPage); 1397 Assert(pPage->iMo difiedNext == NIL_PGMPOOL_IDX && pPage->iModifiedPrev == NIL_PGMPOOL_IDX);1401 Assert(pPage->iMonitoredNext == NIL_PGMPOOL_IDX && pPage->iMonitoredPrev == NIL_PGMPOOL_IDX); 1398 1402 1399 1403 AssertMsg(pPage->fDirty, ("Page %RGp (slot=%d) not marked dirty!", pPage->GCPhys, idxSlot)); … … 1452 1456 idxFree = pPool->idxFreeDirtyPage; 1453 1457 Assert(idxFree < RT_ELEMENTS(pPool->aIdxDirtyPages)); 1454 Assert(pPage->iMo difiedNext == NIL_PGMPOOL_IDX && pPage->iModifiedPrev == NIL_PGMPOOL_IDX);1458 Assert(pPage->iMonitoredNext == NIL_PGMPOOL_IDX && pPage->iMonitoredPrev == NIL_PGMPOOL_IDX); 1455 1459 1456 1460 if (pPool->cDirtyPages >= RT_ELEMENTS(pPool->aIdxDirtyPages)) … … 2069 2073 Assert(pPageHead != pPage); Assert(pPageHead->iMonitoredNext != pPage->idx); 2070 2074 Assert(pPageHead->iMonitoredPrev != pPage->idx); 2075 Assert(pPageHead->iMonitoredPrev == NIL_PGMPOOL_IDX || pPool->aPages[pPageHead->iMonitoredPrev].GCPhys == pPage->GCPhys); 2076 Assert(pPageHead->iMonitoredNext == NIL_PGMPOOL_IDX || pPool->aPages[pPageHead->iMonitoredNext].GCPhys == pPage->GCPhys); 2071 2077 2072 2078 #ifdef PGMPOOL_WITH_OPTIMIZED_DIRTY_PT
Note:
See TracChangeset
for help on using the changeset viewer.