- Timestamp:
- Aug 27, 2010 9:58:31 AM (14 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/PGMMap.cpp
r31775 r32033 883 883 if (pVM->pgm.s.apInterPaePDs[iPDPE]->a[iPDE].u) 884 884 { 885 RTHCPHYS HCPhysPT = pVM->pgm.s.apInterPaePDs[iPDPE]->a[iPDE].u & X86_PDE_PAE_PG_MASK ;885 RTHCPHYS HCPhysPT = pVM->pgm.s.apInterPaePDs[iPDPE]->a[iPDE].u & X86_PDE_PAE_PG_MASK_FULL; 886 886 if (HCPhysPT == MMPage2Phys(pVM, pVM->pgm.s.apInterPaePTs[0])) 887 887 pPTPae = pVM->pgm.s.apInterPaePTs[0]; … … 950 950 PX86PTPAE pPTPae; 951 951 if (pVM->pgm.s.apInterPaePDs[iPDPE]->a[iPDE].u) 952 pPTPae = (PX86PTPAE)MMPagePhys2Page(pVM, pVM->pgm.s.apInterPaePDs[iPDPE]->a[iPDE].u & X86_PDE_PAE_PG_MASK );952 pPTPae = (PX86PTPAE)MMPagePhys2Page(pVM, pVM->pgm.s.apInterPaePDs[iPDPE]->a[iPDE].u & X86_PDE_PAE_PG_MASK_FULL); 953 953 else 954 954 { -
trunk/src/VBox/VMM/VMMAll/PGMAllMap.cpp
r32009 r32033 360 360 { 361 361 Assert(PGMGetGuestMode(pVCpu) >= PGMMODE_PAE); /** @todo We may hit this during reset, will fix later. */ 362 AssertFatalMsg( (pShwPaePd->a[iPaePde].u & X86_PDE_PAE_PG_MASK ) == pMap->aPTs[i].HCPhysPaePT0362 AssertFatalMsg( (pShwPaePd->a[iPaePde].u & X86_PDE_PAE_PG_MASK_FULL) == pMap->aPTs[i].HCPhysPaePT0 363 363 || !PGMMODE_WITH_PAGING(PGMGetGuestMode(pVCpu)), 364 ("%RX64 vs %RX64\n", pShwPaePd->a[iPaePde+1].u & X86_PDE_PAE_PG_MASK , pMap->aPTs[i].HCPhysPaePT0));364 ("%RX64 vs %RX64\n", pShwPaePd->a[iPaePde+1].u & X86_PDE_PAE_PG_MASK_FULL, pMap->aPTs[i].HCPhysPaePT0)); 365 365 Assert(pShwPaePd->a[iPaePde+1].u & PGM_PDFLAGS_MAPPING); 366 AssertFatalMsg( (pShwPaePd->a[iPaePde+1].u & X86_PDE_PAE_PG_MASK ) == pMap->aPTs[i].HCPhysPaePT1366 AssertFatalMsg( (pShwPaePd->a[iPaePde+1].u & X86_PDE_PAE_PG_MASK_FULL) == pMap->aPTs[i].HCPhysPaePT1 367 367 || !PGMMODE_WITH_PAGING(PGMGetGuestMode(pVCpu)), 368 ("%RX64 vs %RX64\n", pShwPaePd->a[iPaePde+1].u & X86_PDE_PAE_PG_MASK , pMap->aPTs[i].HCPhysPaePT1));368 ("%RX64 vs %RX64\n", pShwPaePd->a[iPaePde+1].u & X86_PDE_PAE_PG_MASK_FULL, pMap->aPTs[i].HCPhysPaePT1)); 369 369 } 370 370 #endif … … 374 374 */ 375 375 Assert( (pShwPaePd->a[iPaePde].u & (X86_PDE_P | PGM_PDFLAGS_MAPPING)) != (X86_PDE_P | PGM_PDFLAGS_MAPPING) 376 || (pShwPaePd->a[iPaePde].u & X86_PDE_PAE_PG_MASK ) == pMap->aPTs[i].HCPhysPaePT0);376 || (pShwPaePd->a[iPaePde].u & X86_PDE_PAE_PG_MASK_FULL) == pMap->aPTs[i].HCPhysPaePT0); 377 377 if ( pShwPaePd->a[iPaePde].n.u1Present 378 378 && !(pShwPaePd->a[iPaePde].u & PGM_PDFLAGS_MAPPING)) 379 379 { 380 380 Assert(!(pShwPaePd->a[iPaePde].u & PGM_PDFLAGS_MAPPING)); 381 pgmPoolFree(pVM, pShwPaePd->a[iPaePde].u & X86_PDE_PAE_PG_MASK , pPoolPagePd->idx, iPaePde);381 pgmPoolFree(pVM, pShwPaePd->a[iPaePde].u & X86_PDE_PAE_PG_MASK_FULL, pPoolPagePd->idx, iPaePde); 382 382 } 383 383 pShwPaePd->a[iPaePde].u = PGM_PDFLAGS_MAPPING | X86_PDE_P | X86_PDE_A | X86_PDE_RW | X86_PDE_US … … 388 388 AssertFatal(iPaePde < 512); 389 389 Assert( (pShwPaePd->a[iPaePde].u & (X86_PDE_P | PGM_PDFLAGS_MAPPING)) != (X86_PDE_P | PGM_PDFLAGS_MAPPING) 390 || (pShwPaePd->a[iPaePde].u & X86_PDE_PAE_PG_MASK ) == pMap->aPTs[i].HCPhysPaePT1);390 || (pShwPaePd->a[iPaePde].u & X86_PDE_PAE_PG_MASK_FULL) == pMap->aPTs[i].HCPhysPaePT1); 391 391 if ( pShwPaePd->a[iPaePde].n.u1Present 392 392 && !(pShwPaePd->a[iPaePde].u & PGM_PDFLAGS_MAPPING)) -
trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp
r32009 r32033 276 276 LogFlow(("pgmPoolMonitorChainChanging: pae pd iShw=%#x: %RX64 -> freeing it!\n", iShw+i, uShw.pPDPae->a[iShw+i].u)); 277 277 pgmPoolFree(pVM, 278 uShw.pPDPae->a[iShw+i].u & X86_PDE_PAE_PG_MASK ,278 uShw.pPDPae->a[iShw+i].u & X86_PDE_PAE_PG_MASK_FULL, 279 279 pPage->idx, 280 280 iShw + i); … … 303 303 LogFlow(("pgmPoolMonitorChainChanging: pae pd iShw=%#x: %RX64 -> freeing it!\n", iShw2, uShw.pPDPae->a[iShw2].u)); 304 304 pgmPoolFree(pVM, 305 uShw.pPDPae->a[iShw2].u & X86_PDE_PAE_PG_MASK ,305 uShw.pPDPae->a[iShw2].u & X86_PDE_PAE_PG_MASK_FULL, 306 306 pPage->idx, 307 307 iShw2); … … 386 386 LogFlow(("pgmPoolMonitorChainChanging: 32 bit pd iShw=%#x: %RX64 -> freeing it!\n", iShw, uShw.pPD->a[iShw].u)); 387 387 pgmPoolFree(pVM, 388 uShw.pPD->a[iShw].u & X86_PDE_PAE_PG_MASK ,388 uShw.pPD->a[iShw].u & X86_PDE_PAE_PG_MASK_FULL, 389 389 pPage->idx, 390 390 iShw); … … 418 418 LogFlow(("pgmPoolMonitorChainChanging: 32 bit pd iShw=%#x: %RX64 -> freeing it!\n", iShw2, uShw.pPD->a[iShw2].u)); 419 419 pgmPoolFree(pVM, 420 uShw.pPD->a[iShw2].u & X86_PDE_PAE_PG_MASK ,420 uShw.pPD->a[iShw2].u & X86_PDE_PAE_PG_MASK_FULL, 421 421 pPage->idx, 422 422 iShw2); … … 469 469 LogFlow(("pgmPoolMonitorChainChanging: pae pd iShw=%#x: %RX64 -> freeing it!\n", iShw, uShw.pPDPae->a[iShw].u)); 470 470 pgmPoolFree(pVM, 471 uShw.pPDPae->a[iShw].u & X86_PDE_PAE_PG_MASK ,471 uShw.pPDPae->a[iShw].u & X86_PDE_PAE_PG_MASK_FULL, 472 472 pPage->idx, 473 473 iShw); … … 500 500 LogFlow(("pgmPoolMonitorChainChanging: pae pd iShw2=%#x: %RX64 -> freeing it!\n", iShw2, uShw.pPDPae->a[iShw2].u)); 501 501 pgmPoolFree(pVM, 502 uShw.pPDPae->a[iShw2].u & X86_PDE_PAE_PG_MASK ,502 uShw.pPDPae->a[iShw2].u & X86_PDE_PAE_PG_MASK_FULL, 503 503 pPage->idx, 504 504 iShw2); … … 594 594 LogFlow(("pgmPoolMonitorChainChanging: pae pd iShw=%#x: %RX64 -> freeing it!\n", iShw, uShw.pPDPae->a[iShw].u)); 595 595 pgmPoolFree(pVM, 596 uShw.pPDPae->a[iShw].u & X86_PDE_PAE_PG_MASK ,596 uShw.pPDPae->a[iShw].u & X86_PDE_PAE_PG_MASK_FULL, 597 597 pPage->idx, 598 598 iShw); … … 611 611 LogFlow(("pgmPoolMonitorChainChanging: pae pd iShw2=%#x: %RX64 -> freeing it!\n", iShw2, uShw.pPDPae->a[iShw2].u)); 612 612 pgmPoolFree(pVM, 613 uShw.pPDPae->a[iShw2].u & X86_PDE_PAE_PG_MASK ,613 uShw.pPDPae->a[iShw2].u & X86_PDE_PAE_PG_MASK_FULL, 614 614 pPage->idx, 615 615 iShw2); … … 4270 4270 #endif 4271 4271 { 4272 PPGMPOOLPAGE pSubPage = (PPGMPOOLPAGE)RTAvloHCPhysGet(&pPool->HCPhysTree, pShwPD->a[i].u & X86_PDE_PAE_PG_MASK );4272 PPGMPOOLPAGE pSubPage = (PPGMPOOLPAGE)RTAvloHCPhysGet(&pPool->HCPhysTree, pShwPD->a[i].u & X86_PDE_PAE_PG_MASK_FULL); 4273 4273 if (pSubPage) 4274 4274 pgmPoolTrackFreeUser(pPool, pSubPage, pPage->idx, i); 4275 4275 else 4276 AssertFatalMsgFailed(("%RX64\n", pShwPD->a[i].u & X86_PDE_PAE_PG_MASK ));4276 AssertFatalMsgFailed(("%RX64\n", pShwPD->a[i].u & X86_PDE_PAE_PG_MASK_FULL)); 4277 4277 /** @todo 64-bit guests: have to ensure that we're not exhausting the dynamic mappings! */ 4278 4278 } -
trunk/src/VBox/VMM/VMMAll/PGMAllShw.h
r32009 r32033 132 132 # define SHWPDE X86PDEPAE 133 133 # define PSHWPDE PX86PDEPAE 134 # define SHW_PDE_PG_MASK X86_PDE_PAE_PG_MASK 134 # define SHW_PDE_PG_MASK X86_PDE_PAE_PG_MASK_FULL 135 135 # define SHW_PD_SHIFT X86_PD_PAE_SHIFT 136 136 # define SHW_PD_MASK X86_PD_PAE_MASK -
trunk/src/VBox/VMM/VMMGC/PGMGCShw.h
r31775 r32033 58 58 # define SHWPDE X86PDEPAE 59 59 # define PSHWPDE PX86PDEPAE 60 # define SHW_PDE_PG_MASK X86_PDE_PAE_PG_MASK 60 # define SHW_PDE_PG_MASK X86_PDE_PAE_PG_MASK_FULL 61 61 # define SHW_PD_SHIFT X86_PD_PAE_SHIFT 62 62 # define SHW_PD_MASK X86_PD_PAE_MASK
Note:
See TracChangeset
for help on using the changeset viewer.