- Timestamp:
- May 12, 2009 2:16:11 PM (16 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/PGMInternal.h
r19504 r19628 1614 1614 bool volatile fReusedFlushPending; 1615 1615 /** Used to indicate that this page can't be flushed. Important for cr3 root pages or shadow pae pd pages). */ 1616 bool fLocked;1616 uint8_t cLocked; 1617 1617 } PGMPOOLPAGE, *PPGMPOOLPAGE, **PPPGMPOOLPAGE; 1618 1618 /** Pointer to a const pool page. */ … … 4433 4433 DECLINLINE(void) pgmPoolLockPage(PPGMPOOL pPool, PPGMPOOLPAGE pPage) 4434 4434 { 4435 Assert(!pPage->fLocked); 4436 pPage->fLocked = true; 4435 pPage->cLocked++; 4437 4436 } 4438 4437 … … 4446 4445 DECLINLINE(void) pgmPoolUnlockPage(PPGMPOOL pPool, PPGMPOOLPAGE pPage) 4447 4446 { 4448 Assert(pPage-> fLocked);4449 pPage-> fLocked = false;4447 Assert(pPage->cLocked); 4448 pPage->cLocked--; 4450 4449 } 4451 4450 … … 4459 4458 DECLINLINE(bool) pgmPoolIsPageLocked(PPGM pPGM, PPGMPOOLPAGE pPage) 4460 4459 { 4461 if (pPage-> fLocked)4460 if (pPage->cLocked) 4462 4461 { 4463 4462 LogFlow(("pgmPoolIsPageLocked found root page %d\n", pPage->enmKind)); -
trunk/src/VBox/VMM/VMMAll/PGMAllMap.cpp
r19329 r19628 577 577 PCPGMPOOLPAGE pPoolPagePd = pgmPoolGetPage(pPool, pShwPdpt->a[iPdpt].u & X86_PDPE_PG_MASK); 578 578 AssertFatal(pPoolPagePd); 579 AssertMsg(pPoolPagePd-> fLocked, (".idx=%d .type=%d\n", pPoolPagePd->idx, pPoolPagePd->enmKind));579 AssertMsg(pPoolPagePd->cLocked, (".idx=%d .type=%d\n", pPoolPagePd->idx, pPoolPagePd->enmKind)); 580 580 break; 581 581 } -
trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp
r19627 r19628 3864 3864 pPage->iAgePrev = NIL_PGMPOOL_IDX; 3865 3865 #endif 3866 pPage-> fLocked = false;3866 pPage->cLocked = 0; 3867 3867 } 3868 3868 pPool->aPages[pPool->cCurPages - 1].iNext = NIL_PGMPOOL_IDX;
Note:
See TracChangeset
for help on using the changeset viewer.