diff options
Diffstat (limited to 'src/VBox/VMM/PGM.cpp')
-rw-r--r-- | src/VBox/VMM/PGM.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/VBox/VMM/PGM.cpp b/src/VBox/VMM/PGM.cpp index 5dbad08f5..4957e2f90 100644 --- a/src/VBox/VMM/PGM.cpp +++ b/src/VBox/VMM/PGM.cpp @@ -1,4 +1,4 @@ -/* $Id: PGM.cpp 28800 2010-04-27 08:22:32Z vboxsync $ */ +/* $Id: PGM.cpp 29646 2010-05-18 15:44:08Z vboxsync $ */ /** @file * PGM - Page Manager and Monitor. (Mixing stuff here, not good?) */ @@ -1563,6 +1563,7 @@ static void pgmR3InitStats(PVM pVM) STAM_REL_REG(pVM, &pPGM->cAllPages, STAMTYPE_U32, "/PGM/Page/cAllPages", STAMUNIT_COUNT, "The total number of pages."); STAM_REL_REG(pVM, &pPGM->cPrivatePages, STAMTYPE_U32, "/PGM/Page/cPrivatePages", STAMUNIT_COUNT, "The number of private pages."); STAM_REL_REG(pVM, &pPGM->cSharedPages, STAMTYPE_U32, "/PGM/Page/cSharedPages", STAMUNIT_COUNT, "The number of shared pages."); + STAM_REL_REG(pVM, &pPGM->cReusedSharedPages, STAMTYPE_U32, "/PGM/Page/cReusedSharedPages", STAMUNIT_COUNT, "The number of reused shared pages."); STAM_REL_REG(pVM, &pPGM->cZeroPages, STAMTYPE_U32, "/PGM/Page/cZeroPages", STAMUNIT_COUNT, "The number of zero backed pages."); STAM_REL_REG(pVM, &pPGM->cPureMmioPages, STAMTYPE_U32, "/PGM/Page/cPureMmioPages", STAMUNIT_COUNT, "The number of pure MMIO pages."); STAM_REL_REG(pVM, &pPGM->cMonitoredPages, STAMTYPE_U32, "/PGM/Page/cMonitoredPages", STAMUNIT_COUNT, "The number of write monitored pages."); @@ -2328,6 +2329,11 @@ static DECLCALLBACK(void) pgmR3ResetNoMorePhysWritesFlag(PVM pVM, VMSTATE enmSta */ VMMR3DECL(int) PGMR3Term(PVM pVM) { + /* Must free shared pages here. */ + pgmLock(pVM); + pgmR3PhysRamTerm(pVM); + pgmUnlock(pVM); + PGMDeregisterStringFormatTypes(); return PDMR3CritSectDelete(&pVM->pgm.s.CritSect); } |