Changeset 15423 in vbox
- Timestamp:
- Dec 13, 2008 8:43:02 AM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 40872
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/PGMR0DynMap.cpp
r15411 r15423 231 231 /** Pointer to the ring-0 dynamic mapping cache. */ 232 232 static PPGMR0DYNMAP g_pPGMR0DynMap; 233 /** For overflow testing. */ 234 static bool g_fPGMR0DynMapTestRunning = false; 233 235 234 236 … … 1322 1324 { 1323 1325 RTSpinlockRelease(pThis->hSpinlock, &Tmp); 1326 *ppvPage = NULL; 1324 1327 return iPage; 1325 1328 } … … 1343 1346 ASMAtomicDecS32(&paPages[iPage].cRefs); 1344 1347 RTSpinlockRelease(pThis->hSpinlock, &Tmp); 1348 *ppvPage = NULL; 1345 1349 AssertLogRelMsgFailedReturn(("cRefs=%d iPage=%p HCPhys=%RHp\n", cRefs, iPage, HCPhys), UINT32_MAX); 1346 1350 } … … 1805 1809 if (RT_UNLIKELY(iPage == UINT32_MAX)) 1806 1810 { 1807 static uint32_t s_cBitched = 0;1808 if (++s_cBitched < 10)1809 LogRel(("PGMDynMapHCPage: cLoad=%u/%u cPages=%u cGuardPages=%u\n",1810 g_pPGMR0DynMap->cLoad, g_pPGMR0DynMap->cMaxLoad, g_pPGMR0DynMap->cPages, g_pPGMR0DynMap->cGuardPages));1811 AssertMsg2("PGMDynMapHCPage: cLoad=%u/%u cPages=%u cGuardPages=%u\n", 1812 g_pPGMR0DynMap->cLoad, g_pPGMR0DynMap->cMaxLoad, g_pPGMR0DynMap->cPages, g_pPGMR0DynMap->cGuardPages); 1813 if (!g_fPGMR0DynMapTestRunning) 1814 VMMR0CallHost(pVM, VMMCALLHOST_VM_R0_ASSERTION, 0); 1811 1815 *ppv = NULL; 1812 1816 return VERR_PGM_DYNMAP_FAILED; … … 1900 1904 pgmR0DynMapReleasePage(g_pPGMR0DynMap, iPage, 1); 1901 1905 1902 static uint32_t s_cBitched = 0;1903 if ( ++s_cBitched < 10)1904 LogRel(("PGMDynMapHCPage: set is full!\n"));1906 AssertMsg2("PGMDynMapHCPage: set is full!\n"); 1907 if (!g_fPGMR0DynMapTestRunning) 1908 VMMR0CallHost(pVM, VMMCALLHOST_VM_R0_ASSERTION, 0); 1905 1909 *ppv = NULL; 1906 1910 return VERR_PGM_DYNMAP_FULL_SET; … … 1990 1994 void *pvR0DynMapUsedSaved = pVM->pgm.s.pvR0DynMapUsed; 1991 1995 pVM->pgm.s.pvR0DynMapUsed = pThis; 1996 g_fPGMR0DynMapTestRunning = true; 1992 1997 1993 1998 /* … … 2176 2181 PGMR0DynMapAssertIntegrity(); 2177 2182 2183 g_fPGMR0DynMapTestRunning = false; 2178 2184 LogRel(("Result: rc=%Rrc Load=%u/%u/%u Set=%#x/%u\n", rc, 2179 2185 pThis->cLoad, pThis->cMaxLoad, pThis->cPages - pThis->cPages, pSet->cEntries, RT_ELEMENTS(pSet->aEntries)));
Note:
See TracChangeset
for help on using the changeset viewer.