Changeset 9754 in vbox
- Timestamp:
- Jun 17, 2008 11:05:07 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
r9753 r9754 2185 2185 2186 2186 # if PGM_GST_TYPE == PGM_GST_PAE || PGM_GST_TYPE == PGM_GST_AMD64 2187 PPGMPOOLPAGE pShwPde = NULL;2188 2187 /* Fetch the pgm pool shadow descriptor. */ 2189 pShwPde = pgmPoolGetPage(pPool, pPdptDst->a[iPdPte].u & SHW_PDE_PG_MASK);2188 PPGMPOOLPAGE pShwPde = pgmPoolGetPage(pPool, pPdptDst->a[iPdPte].u & SHW_PDE_PG_MASK); 2190 2189 Assert(pShwPde); 2191 2190 # endif … … 3012 3011 for (uint64_t iPML4E = 0; iPML4E < X86_PG_PAE_ENTRIES; iPML4E++) 3013 3012 { 3014 PPGMPOOLPAGE pShwP ml4e= NULL;3013 PPGMPOOLPAGE pShwPdpt = NULL; 3015 3014 3016 3015 /* Fetch the pgm pool shadow descriptor if the shadow pml4e is present. */ 3017 3016 if (pVM->pgm.s.CTXMID(p,PaePML4)->a[iPML4E].n.u1Present) 3018 pShwP ml4e= pgmPoolGetPage(pPool, pVM->pgm.s.CTXMID(p,PaePML4)->a[iPML4E].u & SHW_PDE_PG_MASK);3017 pShwPdpt = pgmPoolGetPage(pPool, pVM->pgm.s.CTXMID(p,PaePML4)->a[iPML4E].u & SHW_PDE_PG_MASK); 3019 3018 3020 3019 /* Guest PML4E not present (anymore). */ … … 3025 3024 { 3026 3025 /* Shadow PML4 present, so free it. */ 3027 pgmPoolFreeByPage(pPool, pShwP ml4e, PGMPOOL_IDX_PML4, iPML4E);3026 pgmPoolFreeByPage(pPool, pShwPdpt, PGMPOOL_IDX_PML4, iPML4E); 3028 3027 pVM->pgm.s.CTXMID(p,PaePML4)->a[iPML4E].u = 0; 3029 3028 } … … 3038 3037 { 3039 3038 unsigned iPDSrc; 3040 PPGMPOOLPAGE pShwPd pte = NULL;3039 PPGMPOOLPAGE pShwPde = NULL; 3041 3040 # if PGM_GST_TYPE == PGM_TYPE_PAE 3042 3041 PX86PDPAE pPDPAE = pVM->pgm.s.CTXMID(ap,PaePDs)[0]; … … 3069 3068 /* Fetch the pgm pool shadow descriptor if the shadow pdpte is present. */ 3070 3069 if (pPdptDst->a[iPDPTE].n.u1Present) 3071 pShwPd pte = pgmPoolGetPage(pPool, pPdptDst->a[iPDPTE].u & SHW_PDE_PG_MASK);3070 pShwPde = pgmPoolGetPage(pPool, pPdptDst->a[iPDPTE].u & SHW_PDE_PG_MASK); 3072 3071 else 3073 3072 Assert(pPDSrc == NULL); … … 3084 3083 { 3085 3084 # if PGM_GST_TYPE == PGM_TYPE_AMD64 3086 Assert(pShwP ml4e);3087 pgmPoolFreeByPage(pPool, pShwPd pte, pShwPml4e->idx, iPDPTE);3085 Assert(pShwPde); 3086 pgmPoolFreeByPage(pPool, pShwPde, pShwPde->idx, iPDPTE); 3088 3087 # else 3089 3088 AssertFailed(); /* can't happen; the 4 pdpt pages are fixed! */ … … 3242 3241 { 3243 3242 # if PGM_GST_TYPE == PGM_TYPE_PAE || PGM_GST_TYPE == PGM_TYPE_AMD64 3244 pgmPoolFreeByPage(pPool, pShwPage, pShwPd pte->idx, iPdShw);3243 pgmPoolFreeByPage(pPool, pShwPage, pShwPde->idx, iPdShw); 3245 3244 # else 3246 3245 pgmPoolFreeByPage(pPool, pShwPage, SHW_POOL_ROOT_IDX, iPdShw); … … 3273 3272 { 3274 3273 # if PGM_GST_TYPE == PGM_TYPE_PAE || PGM_GST_TYPE == PGM_TYPE_AMD64 3275 pgmPoolFreeByPage(pPool, pgmPoolGetPage(pPool, pPDEDst->u & SHW_PDE_PG_MASK), pShwPd pte->idx, iPdShw);3274 pgmPoolFreeByPage(pPool, pgmPoolGetPage(pPool, pPDEDst->u & SHW_PDE_PG_MASK), pShwPde->idx, iPdShw); 3276 3275 # else 3277 3276 pgmPoolFreeByPage(pPool, pgmPoolGetPage(pPool, pPDEDst->u & SHW_PDE_PG_MASK), SHW_POOL_ROOT_IDX, iPdShw);
Note:
See TracChangeset
for help on using the changeset viewer.