Changeset 9881 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Jun 23, 2008 2:55:44 PM (16 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/PGMInternal.h
r9752 r9881 1311 1311 uint16_t iUser; 1312 1312 /** Index into the user table. */ 1313 uint 16_t iUserTable;1313 uint32_t iUserTable; 1314 1314 } PGMPOOLUSER, *PPGMPOOLUSER; 1315 1315 typedef const PGMPOOLUSER *PCPGMPOOLUSER; … … 2625 2625 void *pgmGCPoolMapPage(PVM pVM, PPGMPOOLPAGE pPage); 2626 2626 #endif 2627 int pgmPoolAlloc(PVM pVM, RTGCPHYS GCPhys, PGMPOOLKIND enmKind, uint16_t iUser, uint 16_t iUserTable, PPPGMPOOLPAGE ppPage);2627 int pgmPoolAlloc(PVM pVM, RTGCPHYS GCPhys, PGMPOOLKIND enmKind, uint16_t iUser, uint32_t iUserTable, PPPGMPOOLPAGE ppPage); 2628 2628 PPGMPOOLPAGE pgmPoolGetPageByHCPhys(PVM pVM, RTHCPHYS HCPhys); 2629 void pgmPoolFree(PVM pVM, RTHCPHYS HCPhys, uint16_t iUser, uint 16_t iUserTable);2630 void pgmPoolFreeByPage(PPGMPOOL pPool, PPGMPOOLPAGE pPage, uint16_t iUser, uint 16_t iUserTable);2629 void pgmPoolFree(PVM pVM, RTHCPHYS HCPhys, uint16_t iUser, uint32_t iUserTable); 2630 void pgmPoolFreeByPage(PPGMPOOL pPool, PPGMPOOLPAGE pPage, uint16_t iUser, uint32_t iUserTable); 2631 2631 int pgmPoolFlushPage(PPGMPOOL pPool, PPGMPOOLPAGE pPage); 2632 2632 void pgmPoolFlushAll(PVM pVM); -
trunk/src/VBox/VMM/PGMPool.cpp
r9778 r9881 200 200 paUsers[i].iNext = i + 1; 201 201 paUsers[i].iUser = NIL_PGMPOOL_IDX; 202 paUsers[i].iUserTable = 0xfff e;202 paUsers[i].iUserTable = 0xfffffffe; 203 203 } 204 204 paUsers[cMaxUsers - 1].iNext = NIL_PGMPOOL_USER_INDEX; -
trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
r9879 r9881 3086 3086 3087 3087 /* Fetch the pgm pool shadow descriptor if the shadow pml4e is present. */ 3088 if (!p VM->pgm.s.CTXMID(p,PaePML4)->a[iPml4e].n.u1Present)3088 if (!pPml4eDst->n.u1Present) 3089 3089 continue; 3090 3090 pShwPdpt = pgmPoolGetPage(pPool, pPml4eDst->u & X86_PML4E_PG_MASK); -
trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp
r9877 r9881 55 55 #endif 56 56 #ifdef PGMPOOL_WITH_CACHE 57 static int pgmPoolTrackAddUser(PPGMPOOL pPool, PPGMPOOLPAGE pPage, uint16_t iUser, uint 16_t iUserTable);57 static int pgmPoolTrackAddUser(PPGMPOOL pPool, PPGMPOOLPAGE pPage, uint16_t iUser, uint32_t iUserTable); 58 58 #endif 59 59 #ifdef PGMPOOL_WITH_MONITORING … … 1065 1065 * @param ppPage Where to store the pointer to the page. 1066 1066 */ 1067 static int pgmPoolCacheAlloc(PPGMPOOL pPool, RTGCPHYS GCPhys, PGMPOOLKIND enmKind, uint16_t iUser, uint 16_t iUserTable, PPPGMPOOLPAGE ppPage)1067 static int pgmPoolCacheAlloc(PPGMPOOL pPool, RTGCPHYS GCPhys, PGMPOOLKIND enmKind, uint16_t iUser, uint32_t iUserTable, PPPGMPOOLPAGE ppPage) 1068 1068 { 1069 1069 #ifndef IN_GC … … 1837 1837 * @param iUserTable The user table index. 1838 1838 */ 1839 DECLINLINE(int) pgmPoolTrackInsert(PPGMPOOL pPool, PPGMPOOLPAGE pPage, RTGCPHYS GCPhys, uint16_t iUser, uint 16_t iUserTable)1839 DECLINLINE(int) pgmPoolTrackInsert(PPGMPOOL pPool, PPGMPOOLPAGE pPage, RTGCPHYS GCPhys, uint16_t iUser, uint32_t iUserTable) 1840 1840 { 1841 1841 int rc = VINF_SUCCESS; … … 1927 1927 * @param iUserTable The user table. 1928 1928 */ 1929 static int pgmPoolTrackAddUser(PPGMPOOL pPool, PPGMPOOLPAGE pPage, uint16_t iUser, uint 16_t iUserTable)1929 static int pgmPoolTrackAddUser(PPGMPOOL pPool, PPGMPOOLPAGE pPage, uint16_t iUser, uint32_t iUserTable) 1930 1930 { 1931 1931 PPGMPOOLUSER paUsers = pPool->CTXSUFF(paUsers); … … 1991 1991 * @param iUserTable The index into the user table (shadowed). 1992 1992 */ 1993 static void pgmPoolTrackFreeUser(PPGMPOOL pPool, PPGMPOOLPAGE pPage, uint16_t iUser, uint 16_t iUserTable)1993 static void pgmPoolTrackFreeUser(PPGMPOOL pPool, PPGMPOOLPAGE pPage, uint16_t iUser, uint32_t iUserTable) 1994 1994 { 1995 1995 /* … … 3229 3229 paUsers[i].iNext = i + 1; 3230 3230 paUsers[i].iUser = NIL_PGMPOOL_IDX; 3231 paUsers[i].iUserTable = 0xfff e;3231 paUsers[i].iUserTable = 0xfffffffe; 3232 3232 } 3233 3233 paUsers[cMaxUsers - 1].iNext = NIL_PGMPOOL_USER_INDEX; … … 3406 3406 * @param iUserTable The index into the user table (shadowed). 3407 3407 */ 3408 void pgmPoolFreeByPage(PPGMPOOL pPool, PPGMPOOLPAGE pPage, uint16_t iUser, uint 16_t iUserTable)3408 void pgmPoolFreeByPage(PPGMPOOL pPool, PPGMPOOLPAGE pPage, uint16_t iUser, uint32_t iUserTable) 3409 3409 { 3410 3410 STAM_PROFILE_START(&pPool->StatFree, a); … … 3491 3491 * @param ppPage Where to store the pointer to the page. NULL is stored here on failure. 3492 3492 */ 3493 int pgmPoolAlloc(PVM pVM, RTGCPHYS GCPhys, PGMPOOLKIND enmKind, uint16_t iUser, uint 16_t iUserTable, PPPGMPOOLPAGE ppPage)3493 int pgmPoolAlloc(PVM pVM, RTGCPHYS GCPhys, PGMPOOLKIND enmKind, uint16_t iUser, uint32_t iUserTable, PPPGMPOOLPAGE ppPage) 3494 3494 { 3495 3495 PPGMPOOL pPool = pVM->pgm.s.CTXSUFF(pPool); … … 3611 3611 * @param iUserTable The index into the user table (shadowed). 3612 3612 */ 3613 void pgmPoolFree(PVM pVM, RTHCPHYS HCPhys, uint16_t iUser, uint 16_t iUserTable)3613 void pgmPoolFree(PVM pVM, RTHCPHYS HCPhys, uint16_t iUser, uint32_t iUserTable) 3614 3614 { 3615 3615 LogFlow(("pgmPoolFree: HCPhys=%VHp iUser=%#x iUserTable=%#x\n", HCPhys, iUser, iUserTable));
Note:
See TracChangeset
for help on using the changeset viewer.