Changeset 9945 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Jun 26, 2008 9:58:34 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp
r9944 r9945 420 420 LogFlow(("pgmPoolMonitorChainChanging: Detected conflict at iShw=%#x!\n", iShw)); 421 421 } 422 423 if (uShw.pPDPae->a[iShw].n.u1Present) 422 else 424 423 { 425 LogFlow(("pgmPoolMonitorChainChanging: pae pd iShw=%#x: %RX64 -> freeing it!\n", iShw, uShw.pPDPae->a[iShw].u)); 426 pgmPoolFree(pPool->CTXSUFF(pVM), 427 uShw.pPDPae->a[iShw].u & X86_PDE_PAE_PG_MASK, 428 /* Note: hardcoded PAE implementation dependency */ 429 (pPage->enmKind == PGMPOOLKIND_PAE_PD_FOR_PAE_PD) ? PGMPOOL_IDX_PAE_PD : pPage->idx, 430 (pPage->enmKind == PGMPOOLKIND_PAE_PD_FOR_PAE_PD) ? iShw + (pPage->idx - PGMPOOL_IDX_PAE_PD_0) * X86_PG_PAE_ENTRIES : iShw); 431 uShw.pPDPae->a[iShw].u = 0; 424 if (uShw.pPDPae->a[iShw].n.u1Present) 425 { 426 LogFlow(("pgmPoolMonitorChainChanging: pae pd iShw=%#x: %RX64 -> freeing it!\n", iShw, uShw.pPDPae->a[iShw].u)); 427 pgmPoolFree(pPool->CTXSUFF(pVM), 428 uShw.pPDPae->a[iShw].u & X86_PDE_PAE_PG_MASK, 429 /* Note: hardcoded PAE implementation dependency */ 430 (pPage->enmKind == PGMPOOLKIND_PAE_PD_FOR_PAE_PD) ? PGMPOOL_IDX_PAE_PD : pPage->idx, 431 (pPage->enmKind == PGMPOOLKIND_PAE_PD_FOR_PAE_PD) ? iShw + (pPage->idx - PGMPOOL_IDX_PAE_PD_0) * X86_PG_PAE_ENTRIES : iShw); 432 uShw.pPDPae->a[iShw].u = 0; 433 } 432 434 } 433 435 … … 438 440 { 439 441 const unsigned iShw2 = (off + pgmPoolDisasWriteSize(pCpu) - 1) / sizeof(X86PDEPAE); 442 AssertReturnVoid(iShw2 < ELEMENTS(uShw.pPDPae->a)); 443 440 444 if ( iShw2 != iShw 441 && iShw2 < ELEMENTS(uShw.pPDPae->a)442 445 && uShw.pPDPae->a[iShw2].u & PGM_PDFLAGS_MAPPING) 443 446 { … … 446 449 LogFlow(("pgmPoolMonitorChainChanging: Detected conflict at iShw2=%#x!\n", iShw2)); 447 450 } 451 else 448 452 if (uShw.pPDPae->a[iShw2].n.u1Present) 449 453 {
Note:
See TracChangeset
for help on using the changeset viewer.