Changeset 20126 in vbox
- Timestamp:
- May 28, 2009 3:47:14 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
r20125 r20126 2585 2585 GCPhys |= (iPDDst & 1) * (PAGE_SIZE / 2); 2586 2586 # endif 2587 rc = pgmPoolAlloc(pVM, GCPhys, BTH_PGMPOOLKIND_PT_FOR_PT, pShwPde->idx, iPDDst, &pShwPage); 2588 } 2589 else 2590 { 2591 GCPhys = GST_GET_PDE_BIG_PG_GCPHYS(PdeSrc); 2592 # if PGM_SHW_TYPE == PGM_TYPE_PAE && PGM_GST_TYPE == PGM_TYPE_32BIT 2593 /* Select the right PDE as we're emulating a 4MB page directory with two 2 MB shadow PDEs.*/ 2594 GCPhys |= GCPtrPage & (1 << X86_PD_PAE_SHIFT); 2595 # endif 2587 2596 /* Modify the physical address to distinguish between different access types to prevent incorrect reuse of cached entries. */ 2588 2597 if (PdeSrc.n.u1Write) … … 2591 2600 GCPhys |= PGMPOOL_PHYS_ACCESS_USER; 2592 2601 2593 rc = pgmPoolAlloc(pVM, GCPhys, BTH_PGMPOOLKIND_PT_FOR_PT, pShwPde->idx, iPDDst, &pShwPage);2594 }2595 else2596 {2597 GCPhys = GST_GET_PDE_BIG_PG_GCPHYS(PdeSrc);2598 # if PGM_SHW_TYPE == PGM_TYPE_PAE && PGM_GST_TYPE == PGM_TYPE_32BIT2599 /* Select the right PDE as we're emulating a 4MB page directory with two 2 MB shadow PDEs.*/2600 GCPhys |= GCPtrPage & (1 << X86_PD_PAE_SHIFT);2601 # endif2602 2602 rc = pgmPoolAlloc(pVM, GCPhys, BTH_PGMPOOLKIND_PT_FOR_BIG, pShwPde->idx, iPDDst, &pShwPage); 2603 2603 }
Note:
See TracChangeset
for help on using the changeset viewer.