- Timestamp:
- Aug 26, 2010 1:32:30 PM (14 years ago)
- Location:
- trunk/src/VBox
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Debugger/DBGCEmulateCodeView.cpp
r31995 r31996 2722 2722 /* Page Map Level 4 Lookup. */ 2723 2723 /* Check if it's a valid address first? */ 2724 VarCur.u.u64Number &= X86_PTE_PAE_PG_MASK ;2724 VarCur.u.u64Number &= X86_PTE_PAE_PG_MASK_FULL; 2725 2725 VarCur.u.u64Number += (((uint64_t)VarGCPtr.u.GCFlat >> X86_PML4_SHIFT) & X86_PML4_MASK) * sizeof(X86PML4E); 2726 2726 X86PML4E Pml4e; … … 3093 3093 /* Page Map Level 4 Lookup. */ 3094 3094 /* Check if it's a valid address first? */ 3095 VarCur.u.u64Number &= X86_PTE_PAE_PG_MASK ;3095 VarCur.u.u64Number &= X86_PTE_PAE_PG_MASK_FULL; 3096 3096 VarCur.u.u64Number += (((uint64_t)VarGCPtr.u.GCFlat >> X86_PML4_SHIFT) & X86_PML4_MASK) * sizeof(X86PML4E); 3097 3097 X86PML4E Pml4e; … … 3189 3189 : "%08llx 4kb phys=%08llx %s %s %s %s %s avl=%02x %s %s %s %s %s", 3190 3190 Pte.u, 3191 Pte.u & X86_PTE_PAE_PG_MASK ,3191 Pte.u & X86_PTE_PAE_PG_MASK_FULL, 3192 3192 Pte.n.u1Present ? "p " : "np", 3193 3193 Pte.n.u1Write ? "w" : "r", -
trunk/src/VBox/VMM/MM.cpp
r28800 r31996 319 319 else 320 320 AssertMsgRCReturn(rc, ("Configuration error: Failed to query integer \"RamSize\", rc=%Rrc.\n", rc), rc); 321 AssertLogRelMsg(!(cbRam & ~X86_PTE_PAE_PG_MASK ), ("%RGp X86_PTE_PAE_PG_MASK=%RX64\n", cbRam, X86_PTE_PAE_PG_MASK));321 AssertLogRelMsg(!(cbRam & ~X86_PTE_PAE_PG_MASK_FULL), ("%RGp X86_PTE_PAE_PG_MASK_FULL=%RX64\n", cbRam, X86_PTE_PAE_PG_MASK_FULL)); 322 322 AssertLogRelMsgReturn(cbRam <= GMM_GCPHYS_LAST, ("cbRam=%RGp GMM_GCPHYS_LAST=%RX64\n", cbRam, GMM_GCPHYS_LAST), VERR_OUT_OF_RANGE); 323 cbRam &= X86_PTE_PAE_PG_MASK ;323 cbRam &= X86_PTE_PAE_PG_MASK_FULL; 324 324 pVM->mm.s.cbRamBase = cbRam; 325 325 -
trunk/src/VBox/VMM/PGMDbg.cpp
r31993 r31996 156 156 return VERR_INVALID_POINTER; 157 157 unsigned off = HCPhys & PAGE_OFFSET_MASK; 158 HCPhys &= X86_PTE_PAE_PG_MASK ;158 HCPhys &= X86_PTE_PAE_PG_MASK_FULL; 159 159 if (HCPhys == 0) 160 160 return VERR_INVALID_POINTER; … … 1104 1104 Pte.u & RT_BIT(10) ? '1' : '0', 1105 1105 Pte.u & PGM_PTFLAGS_CSAM_VALIDATED? 'v' : '-', 1106 Pte.u & X86_PTE_PAE_PG_MASK );1106 Pte.u & X86_PTE_PAE_PG_MASK_FULL); 1107 1107 if (pState->fDumpPageInfo) 1108 pgmR3DumpHierarchyShwGuestPageInfo(pState, Pte.u & X86_PTE_PAE_PG_MASK , _4K);1108 pgmR3DumpHierarchyShwGuestPageInfo(pState, Pte.u & X86_PTE_PAE_PG_MASK_FULL, _4K); 1109 1109 if ((Pte.u >> 52) & 0x7ff) 1110 1110 pState->pHlp->pfnPrintf(pState->pHlp, " 62:52=%03llx%s", (Pte.u >> 52) & 0x7ff, pState->fLme ? "" : "!"); … … 1785 1785 Pte.u & RT_BIT(10) ? '1' : '0', 1786 1786 Pte.u & RT_BIT(11) ? '1' : '0', 1787 Pte.u & X86_PTE_PAE_PG_MASK );1787 Pte.u & X86_PTE_PAE_PG_MASK_FULL); 1788 1788 if (pState->fDumpPageInfo) 1789 pgmR3DumpHierarchyGstPageInfo(pState, Pte.u & X86_PTE_PAE_PG_MASK , _4K);1789 pgmR3DumpHierarchyGstPageInfo(pState, Pte.u & X86_PTE_PAE_PG_MASK_FULL, _4K); 1790 1790 pgmR3DumpHierarchyGstCheckReservedHighBits(pState, Pte.u); 1791 1791 pState->pHlp->pfnPrintf(pState->pHlp, "\n"); -
trunk/src/VBox/VMM/PGMGstDefs.h
r31870 r31996 75 75 # define GSTPDE X86PDEPAE 76 76 # define PGSTPDE PX86PDEPAE 77 # define GST_PTE_PG_MASK X86_PTE_PAE_PG_MASK 77 # define GST_PTE_PG_MASK X86_PTE_PAE_PG_MASK_FULL 78 78 # define GST_IS_NX_ACTIVE(pVCpu) (true && This_should_perhaps_not_be_used_in_this_context) 79 79 # define BTH_IS_NP_ACTIVE(pVM) (true) … … 98 98 # define GSTPDE X86PDEPAE 99 99 # define PGSTPDE PX86PDEPAE 100 # define GST_PTE_PG_MASK X86_PTE_PAE_PG_MASK 100 # define GST_PTE_PG_MASK X86_PTE_PAE_PG_MASK_FULL 101 101 # endif 102 102 # define GST_IS_NX_ACTIVE(pVCpu) (pgmGstIsNoExecuteActive(pVCpu)) … … 197 197 # define GST_PDPT_SHIFT X86_PDPT_SHIFT 198 198 # define GST_PDPT_MASK X86_PDPT_MASK_PAE 199 # define GST_PTE_PG_MASK X86_PTE_PAE_PG_MASK 199 # define GST_PTE_PG_MASK X86_PTE_PAE_PG_MASK_FULL 200 200 # define GST_CR3_PAGE_MASK X86_CR3_PAE_PAGE_MASK 201 201 # define GST_IS_PTE_VALID(pVCpu, Pte) (!( (Pte).u & (pVCpu)->pgm.s.fGstPaeMbzPteMask )) -
trunk/src/VBox/VMM/PGMInline.h
r31994 r31996 521 521 int rc; 522 522 PPGMPAGEMAPTLBE pTlbe = &pPGM->CTXSUFF(PhysTlb).aEntries[PGM_PAGEMAPTLB_IDX(GCPhys)]; 523 if (pTlbe->GCPhys == (GCPhys & X86_PTE_PAE_PG_MASK ))523 if (pTlbe->GCPhys == (GCPhys & X86_PTE_PAE_PG_MASK_FULL)) 524 524 { 525 525 STAM_COUNTER_INC(&pPGM->CTX_SUFF(pStats)->CTX_MID_Z(Stat,PageMapTlbHits)); … … 551 551 int rc; 552 552 PPGMPAGEMAPTLBE pTlbe = &pPGM->CTXSUFF(PhysTlb).aEntries[PGM_PAGEMAPTLB_IDX(GCPhys)]; 553 if (pTlbe->GCPhys == (GCPhys & X86_PTE_PAE_PG_MASK ))553 if (pTlbe->GCPhys == (GCPhys & X86_PTE_PAE_PG_MASK_FULL)) 554 554 { 555 555 STAM_COUNTER_INC(&pPGM->CTX_SUFF(pStats)->CTX_MID_Z(Stat,PageMapTlbHits)); -
trunk/src/VBox/VMM/PGMPool.cpp
r31897 r31996 824 824 * 825 825 * Remark: assumes the caller will flush all TLBs (!!) 826 */ 826 */ 827 827 void pgmR3PoolWriteProtectPages(PVM pVM) 828 828 { … … 931 931 { 932 932 RTHCPHYS HCPhys = NIL_RTHCPHYS; 933 rc = PGMPhysGCPhys2HCPhys(pPool->CTX_SUFF(pVM), pGstPT->a[j].u & X86_PTE_PAE_PG_MASK , &HCPhys);933 rc = PGMPhysGCPhys2HCPhys(pPool->CTX_SUFF(pVM), pGstPT->a[j].u & X86_PTE_PAE_PG_MASK_FULL, &HCPhys); 934 934 if ( rc != VINF_SUCCESS 935 935 || PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[j]) != HCPhys) -
trunk/src/VBox/VMM/VMMAll/PGMAll.cpp
r31994 r31996 854 854 DECLINLINE(int) pdmShwModifyPage(PVMCPU pVCpu, RTGCPTR GCPtr, uint64_t fFlags, uint64_t fMask, uint32_t fOpFlags) 855 855 { 856 AssertMsg(!(fFlags & X86_PTE_PAE_PG_MASK ), ("fFlags=%#llx\n", fFlags));856 AssertMsg(!(fFlags & X86_PTE_PAE_PG_MASK_FULL), ("fFlags=%#llx\n", fFlags)); 857 857 Assert(!(fOpFlags & ~(PGM_MK_PG_IS_MMIO2 | PGM_MK_PG_IS_WRITE_FAULT))); 858 858 … … 1409 1409 * Validate input. 1410 1410 */ 1411 AssertMsg(!(fFlags & X86_PTE_PAE_PG_MASK ), ("fFlags=%#llx\n", fFlags));1411 AssertMsg(!(fFlags & X86_PTE_PAE_PG_MASK_FULL), ("fFlags=%#llx\n", fFlags)); 1412 1412 Assert(cb); 1413 1413 -
trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
r31994 r31996 353 353 || pCur->enmType != PGMVIRTHANDLERTYPE_WRITE ) ) 354 354 { 355 Assert((pCur->aPhysToVirt[iPage].Core.Key & X86_PTE_PAE_PG_MASK ) == (pGstWalk->Core.GCPhys & X86_PTE_PAE_PG_MASK));355 Assert((pCur->aPhysToVirt[iPage].Core.Key & X86_PTE_PAE_PG_MASK_FULL) == (pGstWalk->Core.GCPhys & X86_PTE_PAE_PG_MASK_FULL)); 356 356 # ifdef IN_RC 357 357 STAM_PROFILE_START(&pCur->Stat, h); … … 4205 4205 continue; 4206 4206 4207 fIgnoreFlags = X86_PTE_PAE_PG_MASK | X86_PTE_AVL_MASK | X86_PTE_PWT | X86_PTE_PCD | X86_PTE_PAT | X86_PTE_D | X86_PTE_A | X86_PTE_G | X86_PTE_PAE_NX;4207 fIgnoreFlags = X86_PTE_PAE_PG_MASK_FULL | X86_PTE_AVL_MASK | X86_PTE_PWT | X86_PTE_PCD | X86_PTE_PAT | X86_PTE_D | X86_PTE_A | X86_PTE_G | X86_PTE_PAE_NX; 4208 4208 4209 4209 /* match the physical addresses */ -
trunk/src/VBox/VMM/VMMAll/PGMAllGst.h
r31849 r31996 353 353 { 354 354 GSTPTE Pte = Walk.pPt->a[iPTE]; 355 Pte.u = (Pte.u & (fMask | X86_PTE_PAE_PG_MASK ))355 Pte.u = (Pte.u & (fMask | X86_PTE_PAE_PG_MASK_FULL)) 356 356 | (fFlags & ~GST_PTE_PG_MASK); 357 357 Walk.pPt->a[iPTE] = Pte; -
trunk/src/VBox/VMM/VMMAll/PGMAllHandler.cpp
r31136 r31996 145 145 pNew->Core.KeyLast = GCPhysLast; 146 146 pNew->enmType = enmType; 147 pNew->cPages = (GCPhysLast - (GCPhys & X86_PTE_PAE_PG_MASK ) + PAGE_SIZE) >> PAGE_SHIFT;147 pNew->cPages = (GCPhysLast - (GCPhys & X86_PTE_PAE_PG_MASK_FULL) + PAGE_SIZE) >> PAGE_SHIFT; 148 148 pNew->pfnHandlerR3 = pfnHandlerR3; 149 149 pNew->pvUserR3 = pvUserR3; … … 307 307 && PGM_PAGE_GET_HNDL_PHYS_STATE(pPage) != PGM_PAGE_HNDL_PHYS_STATE_NONE) 308 308 { 309 RTGCPHYS GCPhys = (GCPhysStart + (PAGE_SIZE - 1)) & X86_PTE_PAE_PG_MASK ;309 RTGCPHYS GCPhys = (GCPhysStart + (PAGE_SIZE - 1)) & X86_PTE_PAE_PG_MASK_FULL; 310 310 if ( GCPhys > GCPhysLast 311 311 || GCPhys < GCPhysStart) … … 314 314 } 315 315 else 316 GCPhysStart &= X86_PTE_PAE_PG_MASK ;316 GCPhysStart &= X86_PTE_PAE_PG_MASK_FULL; 317 317 Assert(!pPage || PGM_PAGE_GET_TYPE(pPage) != PGMPAGETYPE_MMIO); /* these are page aligned atm! */ 318 318 } … … 324 324 && PGM_PAGE_GET_HNDL_PHYS_STATE(pPage) != PGM_PAGE_HNDL_PHYS_STATE_NONE) 325 325 { 326 RTGCPHYS GCPhys = (GCPhysLast & X86_PTE_PAE_PG_MASK ) - 1;326 RTGCPHYS GCPhys = (GCPhysLast & X86_PTE_PAE_PG_MASK_FULL) - 1; 327 327 if ( GCPhys < GCPhysStart 328 328 || GCPhys > GCPhysLast) … … 536 536 pCur->Core.Key = GCPhys; 537 537 pCur->Core.KeyLast = GCPhysLast; 538 pCur->cPages = (GCPhysLast - (GCPhys & X86_PTE_PAE_PG_MASK ) + 1) >> PAGE_SHIFT;538 pCur->cPages = (GCPhysLast - (GCPhys & X86_PTE_PAE_PG_MASK_FULL) + 1) >> PAGE_SHIFT; 539 539 540 540 if (RTAvlroGCPhysInsert(&pVM->pgm.s.CTX_SUFF(pTrees)->PhysHandlers, &pCur->Core)) … … 684 684 *pNew = *pCur; 685 685 pNew->Core.Key = GCPhysSplit; 686 pNew->cPages = (pNew->Core.KeyLast - (pNew->Core.Key & X86_PTE_PAE_PG_MASK ) + PAGE_SIZE) >> PAGE_SHIFT;686 pNew->cPages = (pNew->Core.KeyLast - (pNew->Core.Key & X86_PTE_PAE_PG_MASK_FULL) + PAGE_SIZE) >> PAGE_SHIFT; 687 687 688 688 pCur->Core.KeyLast = GCPhysSplit - 1; 689 pCur->cPages = (pCur->Core.KeyLast - (pCur->Core.Key & X86_PTE_PAE_PG_MASK ) + PAGE_SIZE) >> PAGE_SHIFT;689 pCur->cPages = (pCur->Core.KeyLast - (pCur->Core.Key & X86_PTE_PAE_PG_MASK_FULL) + PAGE_SIZE) >> PAGE_SHIFT; 690 690 691 691 if (RT_LIKELY(RTAvlroGCPhysInsert(&pVM->pgm.s.CTX_SUFF(pTrees)->PhysHandlers, &pNew->Core))) … … 750 750 { 751 751 pCur1->Core.KeyLast = pCur2->Core.KeyLast; 752 pCur1->cPages = (pCur1->Core.KeyLast - (pCur1->Core.Key & X86_PTE_PAE_PG_MASK ) + PAGE_SIZE) >> PAGE_SHIFT;752 pCur1->cPages = (pCur1->Core.KeyLast - (pCur1->Core.Key & X86_PTE_PAE_PG_MASK_FULL) + PAGE_SIZE) >> PAGE_SHIFT; 753 753 LogFlow(("PGMHandlerPhysicalJoin: %RGp-%RGp %RGp-%RGp\n", 754 754 pCur1->Core.Key, pCur1->Core.KeyLast, pCur2->Core.Key, pCur2->Core.KeyLast)); … … 1481 1481 for (unsigned iPage = 0; iPage < pCur->cPages; iPage++) 1482 1482 { 1483 if ((pCur->aPhysToVirt[iPage].Core.Key & X86_PTE_PAE_PG_MASK ) == pState->GCPhys)1483 if ((pCur->aPhysToVirt[iPage].Core.Key & X86_PTE_PAE_PG_MASK_FULL) == pState->GCPhys) 1484 1484 { 1485 1485 unsigned uState = pgmHandlerVirtualCalcState(pCur); … … 1574 1574 1575 1575 AssertRCReturn(rc, 0); 1576 if ((pVirt->aPhysToVirt[iPage].Core.Key & X86_PTE_PAE_PG_MASK ) != GCPhysGst)1576 if ((pVirt->aPhysToVirt[iPage].Core.Key & X86_PTE_PAE_PG_MASK_FULL) != GCPhysGst) 1577 1577 { 1578 1578 AssertMsgFailed(("virt handler phys out of sync. %RGp GCPhysGst=%RGp iPage=%#x %RGv %s\n", … … 1713 1713 GCPhysKey, true /* above-or-equal */); 1714 1714 if ( !pPhys2Virt 1715 || (pPhys2Virt->Core.Key & X86_PTE_PAE_PG_MASK ) != State.GCPhys)1715 || (pPhys2Virt->Core.Key & X86_PTE_PAE_PG_MASK_FULL) != State.GCPhys) 1716 1716 break; 1717 1717 … … 1732 1732 1733 1733 /* done? */ 1734 if ((GCPhysKey & X86_PTE_PAE_PG_MASK ) != State.GCPhys)1734 if ((GCPhysKey & X86_PTE_PAE_PG_MASK_FULL) != State.GCPhys) 1735 1735 break; 1736 1736 } -
trunk/src/VBox/VMM/VMMAll/PGMAllMap.cpp
r31978 r31996 144 144 * Validate input. 145 145 */ 146 AssertMsg(!(fFlags & (X86_PTE_PAE_PG_MASK | X86_PTE_PAE_MBZ_MASK_NX)), ("fFlags=%#x\n", fFlags));146 AssertMsg(!(fFlags & (X86_PTE_PAE_PG_MASK_FULL | X86_PTE_PAE_MBZ_MASK_NX)), ("fFlags=%#x\n", fFlags)); 147 147 Assert(cb); 148 148 -
trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp
r31988 r31996 1078 1078 if ( PGM_PAGE_GET_TYPE(pPage) < PGMPAGETYPE_ROM_SHADOW 1079 1079 || PGM_PAGE_GET_TYPE(pPage) > PGMPAGETYPE_ROM) 1080 pTlbe->GCPhys = GCPhys & X86_PTE_PAE_PG_MASK ;1080 pTlbe->GCPhys = GCPhys & X86_PTE_PAE_PG_MASK_FULL; 1081 1081 else 1082 1082 pTlbe->GCPhys = NIL_RTGCPHYS; /* ROM: Problematic because of the two pages. :-/ */ -
trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp
r31995 r31996 326 326 AssertRC(rc); 327 327 328 Log4(("pgmPoolMonitorChainChanging pae: deref %016RX64 GCPhys %016RX64\n", PGMSHWPTEPAE_GET_HCPHYS(uShw.pPTPae->a[iShw]), GstPte.u & X86_PTE_PAE_PG_MASK ));328 Log4(("pgmPoolMonitorChainChanging pae: deref %016RX64 GCPhys %016RX64\n", PGMSHWPTEPAE_GET_HCPHYS(uShw.pPTPae->a[iShw]), GstPte.u & X86_PTE_PAE_PG_MASK_FULL)); 329 329 pgmPoolTracDerefGCPhysHint(pPool, pPage, 330 330 PGMSHWPTEPAE_GET_HCPHYS(uShw.pPTPae->a[iShw]), 331 GstPte.u & X86_PTE_PAE_PG_MASK ,331 GstPte.u & X86_PTE_PAE_PG_MASK_FULL, 332 332 iShw); 333 333 PGMSHWPTEPAE_ATOMIC_SET(uShw.pPTPae->a[iShw], 0); … … 350 350 # endif 351 351 AssertRC(rc); 352 Log4(("pgmPoolMonitorChainChanging pae: deref %016RX64 GCPhys %016RX64\n", PGMSHWPTEPAE_GET_HCPHYS(uShw.pPTPae->a[iShw2]), GstPte.u & X86_PTE_PAE_PG_MASK ));352 Log4(("pgmPoolMonitorChainChanging pae: deref %016RX64 GCPhys %016RX64\n", PGMSHWPTEPAE_GET_HCPHYS(uShw.pPTPae->a[iShw2]), GstPte.u & X86_PTE_PAE_PG_MASK_FULL)); 353 353 pgmPoolTracDerefGCPhysHint(pPool, pPage, 354 354 PGMSHWPTEPAE_GET_HCPHYS(uShw.pPTPae->a[iShw2]), 355 GstPte.u & X86_PTE_PAE_PG_MASK ,355 GstPte.u & X86_PTE_PAE_PG_MASK_FULL, 356 356 iShw2); 357 357 PGMSHWPTEPAE_ATOMIC_SET(uShw.pPTPae->a[iShw2], 0); … … 1014 1014 { 1015 1015 RTHCPHYS HCPhys = -1; 1016 int rc = PGMPhysGCPhys2HCPhys(pVM, GstPte.u & X86_PTE_PAE_PG_MASK , &HCPhys);1016 int rc = PGMPhysGCPhys2HCPhys(pVM, GstPte.u & X86_PTE_PAE_PG_MASK_FULL, &HCPhys); 1017 1017 if (rc != VINF_SUCCESS) 1018 1018 { … … 1366 1366 { 1367 1367 RTHCPHYS HCPhys = NIL_RTHCPHYS; 1368 int rc = PGMPhysGCPhys2HCPhys(pVM, pGstPT->a[i].u & X86_PTE_PAE_PG_MASK , &HCPhys);1368 int rc = PGMPhysGCPhys2HCPhys(pVM, pGstPT->a[i].u & X86_PTE_PAE_PG_MASK_FULL, &HCPhys); 1369 1369 if ( rc != VINF_SUCCESS 1370 1370 || PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]) != HCPhys) … … 1438 1438 && pGstPT->a[i].n.u1Present) 1439 1439 { 1440 if (!PGMPhysIsGCPhysValid(pPool->CTX_SUFF(pVM), pGstPT->a[i].u & X86_PTE_PAE_PG_MASK ))1440 if (!PGMPhysIsGCPhysValid(pPool->CTX_SUFF(pVM), pGstPT->a[i].u & X86_PTE_PAE_PG_MASK_FULL)) 1441 1441 { 1442 1442 *pfFlush = true; … … 1447 1447 { 1448 1448 /* If the old cached PTE is identical, then there's no need to flush the shadow copy. */ 1449 if ((pGstPT->a[i].u & X86_PTE_PAE_PG_MASK ) == (pOldGstPT->a[i].u & X86_PTE_PAE_PG_MASK))1449 if ((pGstPT->a[i].u & X86_PTE_PAE_PG_MASK_FULL) == (pOldGstPT->a[i].u & X86_PTE_PAE_PG_MASK_FULL)) 1450 1450 { 1451 1451 #ifdef VBOX_STRICT 1452 1452 RTHCPHYS HCPhys = NIL_RTGCPHYS; 1453 int rc = PGMPhysGCPhys2HCPhys(pPool->CTX_SUFF(pVM), pGstPT->a[i].u & X86_PTE_PAE_PG_MASK , &HCPhys);1453 int rc = PGMPhysGCPhys2HCPhys(pPool->CTX_SUFF(pVM), pGstPT->a[i].u & X86_PTE_PAE_PG_MASK_FULL, &HCPhys); 1454 1454 AssertMsg(rc == VINF_SUCCESS && PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]) == HCPhys, ("rc=%d guest %RX64 old %RX64 shw=%RX64 vs %RHp\n", rc, pGstPT->a[i].u, pOldGstPT->a[i].u, PGMSHWPTEPAE_GET_LOG(pShwPT->a[i]), HCPhys)); 1455 1455 #endif … … 1466 1466 /* Something was changed, so flush it. */ 1467 1467 Log4(("pgmPoolTrackDerefPTPaePae: i=%d pte=%RX64 hint=%RX64\n", 1468 i, PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]), pOldGstPT->a[i].u & X86_PTE_PAE_PG_MASK ));1469 pgmPoolTracDerefGCPhysHint(pPool, pPage, PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]), pOldGstPT->a[i].u & X86_PTE_PAE_PG_MASK , i);1468 i, PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]), pOldGstPT->a[i].u & X86_PTE_PAE_PG_MASK_FULL)); 1469 pgmPoolTracDerefGCPhysHint(pPool, pPage, PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]), pOldGstPT->a[i].u & X86_PTE_PAE_PG_MASK_FULL, i); 1470 1470 PGMSHWPTEPAE_ATOMIC_SET(pShwPT->a[i], 0); 1471 1471 } … … 4146 4146 { 4147 4147 Log4(("pgmPoolTrackDerefPTPaePae: i=%d pte=%RX32 hint=%RX32\n", 4148 i, PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]), pGstPT->a[i].u & X86_PTE_PAE_PG_MASK ));4149 pgmPoolTracDerefGCPhysHint(pPool, pPage, PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]), pGstPT->a[i].u & X86_PTE_PAE_PG_MASK , i);4148 i, PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]), pGstPT->a[i].u & X86_PTE_PAE_PG_MASK_FULL)); 4149 pgmPoolTracDerefGCPhysHint(pPool, pPage, PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]), pGstPT->a[i].u & X86_PTE_PAE_PG_MASK_FULL, i); 4150 4150 if (!pPage->cPresent) 4151 4151 break; -
trunk/src/VBox/VMM/VMMGC/PGMGCGst.h
r31995 r31996 70 70 # define GST_PD_SHIFT X86_PD_PAE_SHIFT 71 71 # define GST_PD_MASK X86_PD_PAE_MASK 72 # define GST_PTE_PG_MASK X86_PTE_PAE_PG_MASK 72 # define GST_PTE_PG_MASK X86_PTE_PAE_PG_MASK_FULL 73 73 # define GST_PT_SHIFT X86_PT_PAE_SHIFT 74 74 # define GST_PT_MASK X86_PT_PAE_MASK -
trunk/src/VBox/VMM/testcase/tstCompiler.cpp
r29440 r31996 174 174 void Mix6432Consts(PX86PTEPAE64 pPteDst, PX86PTEPAE64 pPteSrc) 175 175 { 176 pPteDst->u = pPteSrc->u & ~(X86_PTE_PAE_PG_MASK | X86_PTE_AVL_MASK | X86_PTE_PAT | X86_PTE_PCD | X86_PTE_PWT);176 pPteDst->u = pPteSrc->u & ~(X86_PTE_PAE_PG_MASK_FULL | X86_PTE_AVL_MASK | X86_PTE_PAT | X86_PTE_PCD | X86_PTE_PWT); 177 177 } 178 178 … … 180 180 void Mix32Var64Const64Data(PX86PTEPAE64 pPteDst, uint32_t fMask, uint32_t fFlags) 181 181 { 182 pPteDst->u = (pPteDst->u & (fMask | X86_PTE_PAE_PG_MASK )) | (fFlags & ~X86_PTE_PAE_PG_MASK);182 pPteDst->u = (pPteDst->u & (fMask | X86_PTE_PAE_PG_MASK_FULL)) | (fFlags & ~X86_PTE_PAE_PG_MASK_FULL); 183 183 } 184 184
Note:
See TracChangeset
for help on using the changeset viewer.