Lines Matching defs:enmKind

47 DECLINLINE(unsigned) pgmPoolTrackGetShadowEntrySize(PGMPOOLKIND enmKind);
48 DECLINLINE(unsigned) pgmPoolTrackGetGuestEntrySize(PGMPOOLKIND enmKind);
57 static const char *pgmPoolPoolKindToStr(uint8_t enmKind);
75 * @param enmKind The page kind.
77 DECLINLINE(bool) pgmPoolIsBigPage(PGMPOOLKIND enmKind)
79 switch (enmKind)
101 LogFlow(("pgmPoolMonitorChainFlush: Flush page %RGp type=%d\n", pPage->GCPhys, pPage->enmKind));
201 LogFlow(("pgmPoolMonitorChainChanging: page idx=%d phys=%RGp (next=%d) kind=%s\n", pPage->idx, pPage->GCPhys, pPage->iMonitoredNext, pgmPoolPoolKindToStr(pPage->enmKind), cbWrite));
204 switch (pPage->enmKind)
264 LogFlow(("pgmPoolMonitorChainChanging PAE for 32 bits: iGst=%x iShw=%x idx = %d page idx=%d\n", iGst, iShw, iShwPdpt, pPage->enmKind - PGMPOOLKIND_PAE_PD0_FOR_32BIT_PD));
266 if (iShwPdpt == pPage->enmKind - (unsigned)PGMPOOLKIND_PAE_PD0_FOR_32BIT_PD)
675 AssertFatalMsgFailed(("enmKind=%d\n", pPage->enmKind));
1016 switch (pPage->enmKind)
1092 if (pPage->enmKind == PGMPOOLKIND_PAE_PT_FOR_PAE_PT)
1115 Assert(pPage->enmKind != PGMPOOLKIND_FREE);
1125 if ( pPage->enmKind == PGMPOOLKIND_PAE_PT_FOR_PAE_PT
1126 || pPage->enmKind == PGMPOOLKIND_PAE_PT_FOR_32BIT_PT)
1144 Log(("Possible page reuse cMods=%d -> %d (locked=%d type=%s)\n", pPage->cModifications, pPage->cModifications * 2, pgmPoolIsPageLocked(pPage), pgmPoolPoolKindToStr(pPage->enmKind)));
1157 Log(("Mod overflow %RGv cMods=%d (locked=%d type=%s)\n", pvFault, pPage->cModifications, pgmPoolIsPageLocked(pPage), pgmPoolPoolKindToStr(pPage->enmKind)));
1266 && (pPage->enmKind == PGMPOOLKIND_PAE_PT_FOR_PAE_PT || pPage->enmKind == PGMPOOLKIND_PAE_PT_FOR_32BIT_PT)
1293 Log(("Flush duplicate page idx=%d GCPhys=%RGp type=%s\n", pPageHead->idx, pPageHead->GCPhys, pgmPoolPoolKindToStr(pPageHead->enmKind)));
1405 if (pTempPage->enmKind == PGMPOOLKIND_PAE_PT_FOR_PAE_PT)
1471 if (pTempPage->enmKind == PGMPOOLKIND_PAE_PT_FOR_32BIT_PT)
1687 if (pPage->enmKind == PGMPOOLKIND_PAE_PT_FOR_PAE_PT)
1766 memcpy(&pPool->aDirtyPages[idxFree].aPage[0], pvGst, (pPage->enmKind == PGMPOOLKIND_PAE_PT_FOR_PAE_PT) ? PAGE_SIZE : PAGE_SIZE/2);
1769 if (pPage->enmKind == PGMPOOLKIND_PAE_PT_FOR_PAE_PT)
2188 * @param enmKind The kind of mapping.
2197 static int pgmPoolCacheAlloc(PPGMPOOL pPool, RTGCPHYS GCPhys, PGMPOOLKIND enmKind, PGMPOOLACCESS enmAccess, bool fA20Enabled,
2204 Log3(("pgmPoolCacheAlloc: %RGp kind %s iUser=%d iUserTable=%x SLOT=%d\n", GCPhys, pgmPoolPoolKindToStr(enmKind), iUser, iUserTable, i));
2213 if ( (PGMPOOLKIND)pPage->enmKind == enmKind
2227 Assert((PGMPOOLKIND)pPage->enmKind == enmKind);
2237 if ((PGMPOOLKIND)pPage->enmKind != enmKind)
2245 if (pgmPoolCacheReusedByKind((PGMPOOLKIND)pPage->enmKind, enmKind))
2259 Log3(("pgmPoolCacheAlloc: Missed GCPhys=%RGp enmKind=%s\n", GCPhys, pgmPoolPoolKindToStr(enmKind)));
2282 Log3(("pgmPoolCacheInsert: Caching %p:{.Core=%RHp, .idx=%d, .enmKind=%s, GCPhys=%RGp}\n",
2283 pPage, pPage->Core.Key, pPage->idx, pgmPoolPoolKindToStr(pPage->enmKind), pPage->GCPhys));
2288 Log3(("pgmPoolCacheInsert: Not caching %p:{.Core=%RHp, .idx=%d, .enmKind=%s, GCPhys=%RGp}\n",
2289 pPage, pPage->Core.Key, pPage->idx, pgmPoolPoolKindToStr(pPage->enmKind), pPage->GCPhys));
2366 switch (pPage->enmKind)
2409 AssertFatalMsgFailed(("enmKind=%d idx=%d\n", pPage->enmKind, pPage->idx));
2435 switch (pPage->enmKind)
2473 AssertFatalMsgFailed(("This can't happen! enmKind=%d\n", pPage->enmKind));
2533 switch (pPage->enmKind)
2569 AssertFatalMsgFailed(("This can't happen! enmKind=%d\n", pPage->enmKind));
3030 * @param enmKind The kind of page.
3036 DECLINLINE(unsigned) pgmPoolTrackGetShadowEntrySize(PGMPOOLKIND enmKind)
3038 switch (enmKind)
3072 AssertFatalMsgFailed(("enmKind=%d\n", enmKind));
3080 * @param enmKind The kind of page.
3086 DECLINLINE(unsigned) pgmPoolTrackGetGuestEntrySize(PGMPOOLKIND enmKind)
3088 switch (enmKind)
3126 AssertFatalMsgFailed(("enmKind=%d\n", enmKind));
3158 switch (pPage->enmKind)
3226 AssertFatalMsgFailed(("iFirstPresent=%d cPresent=%d u32=%RX32 poolkind=%x\n", pPage->iFirstPresent, pPage->cPresent, u32, pPage->enmKind));
3300 AssertFatalMsgFailed(("iFirstPresent=%d cPresent=%d u64=%RX64 poolkind=%x iPte=%d PT=%RX64\n", pPage->iFirstPresent, pPage->cPresent, u64, pPage->enmKind, iPte, PGMSHWPTEPAE_GET_LOG(pPT->a[iPte])));
3375 AssertFatalMsgFailed(("enmKind=%d iShw=%d\n", pPage->enmKind, iShw));
3623 switch (pPage->enmKind)
3746 LogFlow(("pgmPoolTrackClearPageUser: clear %x in %s (%RGp) (flushing %s)\n", iUserTable, pgmPoolPoolKindToStr(pUserPage->enmKind), pUserPage->Core.Key, pgmPoolPoolKindToStr(pPage->enmKind)));
3767 switch (pUserPage->enmKind)
3814 AssertMsgFailed(("enmKind=%d\n", pUserPage->enmKind));
3822 switch (pUserPage->enmKind)
3861 AssertFatalMsgFailed(("enmKind=%d iUser=%d iUserTable=%#x\n", pUserPage->enmKind, pUser->iUser, pUser->iUserTable));
4686 switch (pPage->enmKind)
4784 AssertFatalMsgFailed(("enmKind=%d\n", pPage->enmKind));
4815 LogFlow(("pgmPoolFlushPage: pPage=%p:{.Key=%RHp, .idx=%d, .enmKind=%s, .GCPhys=%RGp}\n",
4816 pPage, pPage->Core.Key, pPage->idx, pgmPoolPoolKindToStr(pPage->enmKind), pPage->GCPhys));
4823 ("pgmPoolFlushPage: special root page, rejected. enmKind=%s idx=%d\n",
4824 pgmPoolPoolKindToStr(pPage->enmKind), pPage->idx),
4834 AssertMsg( pPage->enmKind == PGMPOOLKIND_64BIT_PML4
4835 || pPage->enmKind == PGMPOOLKIND_PAE_PDPT
4836 || pPage->enmKind == PGMPOOLKIND_PAE_PDPT_FOR_32BIT
4837 || pPage->enmKind == PGMPOOLKIND_32BIT_PD
4838 || pPage->enmKind == PGMPOOLKIND_PAE_PD_FOR_PAE_PD
4839 || pPage->enmKind == PGMPOOLKIND_PAE_PD0_FOR_32BIT_PD
4840 || pPage->enmKind == PGMPOOLKIND_PAE_PD1_FOR_32BIT_PD
4841 || pPage->enmKind == PGMPOOLKIND_PAE_PD2_FOR_32BIT_PD
4842 || pPage->enmKind == PGMPOOLKIND_PAE_PD3_FOR_32BIT_PD
4843 || pPage->enmKind == PGMPOOLKIND_ROOT_NESTED,
4844 ("Can't free the shadow CR3! (%RHp vs %RHp kind=%d\n", PGMGetHyperCR3(VMMGetCpu(pVM)), pPage->Core.Key, pPage->enmKind));
4845 Log(("pgmPoolFlushPage: current active shadow CR3, rejected. enmKind=%s idx=%d\n", pgmPoolPoolKindToStr(pPage->enmKind), pPage->idx));
4900 pPage->enmKind = PGMPOOLKIND_FREE;
4938 LogFlow(("pgmPoolFreeByPage: pPage=%p:{.Key=%RHp, .idx=%d, enmKind=%s} iUser=%d iUserTable=%#x\n",
4939 pPage, pPage->Core.Key, pPage->idx, pgmPoolPoolKindToStr(pPage->enmKind), iUser, iUserTable));
4960 * @param enmKind Page table kind
4963 static int pgmPoolMakeMoreFreePages(PPGMPOOL pPool, PGMPOOLKIND enmKind, uint16_t iUser)
4966 LogFlow(("pgmPoolMakeMoreFreePages: enmKind=%d iUser=%d\n", enmKind, iUser));
4967 NOREF(enmKind);
4975 && enmKind != PGMPOOLKIND_PAE_PD_FOR_PAE_PD
4976 && (enmKind < PGMPOOLKIND_PAE_PD0_FOR_32BIT_PD || enmKind > PGMPOOLKIND_PAE_PD3_FOR_32BIT_PD)
5015 * @param enmKind The kind of mapping.
5025 int pgmPoolAlloc(PVM pVM, RTGCPHYS GCPhys, PGMPOOLKIND enmKind, PGMPOOLACCESS enmAccess, bool fA20Enabled,
5030 LogFlow(("pgmPoolAlloc: GCPhys=%RGp enmKind=%s iUser=%d iUserTable=%#x\n", GCPhys, pgmPoolPoolKindToStr(enmKind), iUser, iUserTable));
5040 int rc2 = pgmPoolCacheAlloc(pPool, GCPhys, enmKind, enmAccess, fA20Enabled, iUser, iUserTable, ppPage);
5059 rc = pgmPoolMakeMoreFreePages(pPool, enmKind, iUser);
5080 pPage->enmKind = enmKind;
5110 pPage->enmKind = PGMPOOLKIND_FREE;
5182 AssertFatalMsg(pPage && pPage->enmKind != PGMPOOLKIND_FREE, ("HCPhys=%RHp pPage=%p idx=%d\n", HCPhys, pPage, (pPage) ? pPage->idx : 0));
5227 switch (pPage->enmKind)
5274 AssertFatalMsgFailed(("enmKind=%d idx=%d\n", pPage->enmKind, pPage->idx));
5351 pPage->enmKind = PGMPOOLKIND_FREE;
5464 static const char *pgmPoolPoolKindToStr(uint8_t enmKind)
5466 switch ((PGMPOOLKIND)enmKind)