Lines Matching refs:pPage

150  * @param   pPage           The guest page at @a pvFault.
156 RTGCPTR pvFault, PPGMPAGE pPage, bool *pfLockTaken
168 if (PGM_PAGE_HAS_ANY_PHYSICAL_HANDLERS(pPage))
238 ("Unexpected trap for physical handler: %08X (phys=%08x) pPage=%R[pgmpage] uErr=%X, enum=%d\n",
239 pvFault, GCPhysFault, pPage, uErr, pCur->enmType));
291 if ( PGM_PAGE_GET_HNDL_VIRT_STATE(pPage) < PGM_PAGE_HNDL_PHYS_STATE_ALL
324 ("Unexpected trap for virtual handler: %RGv (phys=%RGp) pPage=%R[pgmpage] uErr=%X, enum=%d\n",
325 pvFault, pGstWalk->Core.GCPhys, pPage, uErr, pCur->enmType));
409 if ( !PGM_PAGE_HAS_ACTIVE_ALL_HANDLERS(pPage)
432 LogFlow(("PGM: PGMInterpretInstruction -> rc=%d pPage=%R[pgmpage]\n", rc, pPage));
557 PPGMPAGE pPage;
559 rc = pgmPhysGetPageEx(pVM, GstWalk.Core.GCPhys, &pPage);
560 if (RT_SUCCESS(rc) && PGM_PAGE_HAS_ACTIVE_ALL_HANDLERS(pPage))
561 return VBOXSTRICTRC_TODO(PGM_BTH_NAME(Trap0eHandlerDoAccessHandlers)(pVCpu, uErr, pRegFrame, pvFault, pPage,
565 rc = pgmPhysGetPageEx(pVM, PGM_A20_APPLY(pVCpu, (RTGCPHYS)pvFault), &pPage);
566 if (RT_SUCCESS(rc) && PGM_PAGE_HAS_ACTIVE_ALL_HANDLERS(pPage))
567 return VBOXSTRICTRC_TODO(PGM_BTH_NAME(Trap0eHandlerDoAccessHandlers)(pVCpu, uErr, pRegFrame, pvFault, pPage,
759 PPGMPAGE pPage;
760 rc = pgmPhysGetPageEx(pVM, GCPhys, &pPage);
777 if (PGM_PAGE_HAS_ACTIVE_HANDLERS(pPage))
779 return VBOXSTRICTRC_TODO(PGM_BTH_NAME(Trap0eHandlerDoAccessHandlers)(pVCpu, uErr, pRegFrame, pvFault, pPage, pfLockTaken,
782 return VBOXSTRICTRC_TODO(PGM_BTH_NAME(Trap0eHandlerDoAccessHandlers)(pVCpu, uErr, pRegFrame, pvFault, pPage, pfLockTaken));
804 ("Unexpected trap for virtual handler: %08X (phys=%08x) %R[pgmpage] uErr=%X, enum=%d\n", pvFault, GCPhys, pPage, uErr, pCur->enmType));
842 if (PGM_PAGE_IS_BALLOONED(pPage))
848 LogFlow(("PGM: PGMInterpretInstruction balloon -> rc=%d pPage=%R[pgmpage]\n", rc, pPage));
963 if (PGM_PAGE_GET_STATE(pPage) != PGM_PAGE_STATE_ALLOCATED)
965 Log(("PGM #PF: Make writable: %RGp %R[pgmpage] pvFault=%RGp uErr=%#x\n", GCPhys, pPage, pvFault, uErr));
966 Assert(!PGM_PAGE_IS_ZERO(pPage));
967 AssertFatalMsg(!PGM_PAGE_IS_BALLOONED(pPage), ("Unexpected ballooned page at %RGp\n", GCPhys));
970 rc = pgmPhysPageMakeWritable(pVM, pPage, GCPhys);
1544 * @param u16 The top 16-bit of the pPage->HCPhys.
1545 * @param pPage Pointer to the guest page. this will be modified.
1548 DECLINLINE(void) PGM_BTH_NAME(SyncPageWorkerTrackAddref)(PVMCPU pVCpu, PPGMPOOLPAGE pShwPage, uint16_t u16, PPGMPAGE pPage, const unsigned iPTDst)
1560 PGM_PAGE_SET_PTE_INDEX(pVM, pPage, iPTDst);
1563 u16 = pgmPoolTrackPhysExtAddref(pVM, pPage, u16, pShwPage->idx, iPTDst);
1566 Log2(("SyncPageWorkerTrackAddRef: u16=%#x->%#x iPTDst=%#x\n", u16, PGM_PAGE_GET_TRACKING(pPage), iPTDst));
1567 PGM_PAGE_SET_TRACKING(pVM, pPage, u16);
1581 * @param pPage The page in question.
1587 DECLINLINE(void) PGM_BTH_NAME(SyncHandlerPte)(PVM pVM, PCPGMPAGE pPage, uint64_t fPteSrc, PSHWPTE pPteDst)
1592 if (!PGM_PAGE_HAS_ACTIVE_ALL_HANDLERS(pPage))
1594 LogFlow(("SyncHandlerPte: monitored page (%R[pgmpage]) -> mark read-only\n", pPage));
1596 pPteDst->u = PGM_PAGE_GET_HCPHYS(pPage);
1605 SHW_PTE_SET(*pPteDst, fPteSrc | PGM_PAGE_GET_HCPHYS(pPage));
1614 else if ( PGM_PAGE_HAS_ACTIVE_ALL_HANDLERS(pPage)
1641 LogFlow(("SyncHandlerPte: monitored page (%R[pgmpage]) -> mark not present\n", pPage));
1706 PPGMPAGE pPage;
1707 int rc = pgmPhysGetPageEx(pVM, GCPhysPage, &pPage);
1713 if (PGM_PAGE_IS_BALLOONED(pPage))
1721 if ( PGM_PAGE_GET_TYPE(pPage) == PGMPAGETYPE_RAM
1722 && ( PGM_PAGE_IS_ZERO(pPage)
1728 && PGM_PAGE_GET_STATE(pPage) != PGM_PAGE_STATE_ALLOCATED
1730 && PGM_PAGE_GET_STATE(pPage) != PGM_PAGE_STATE_WRITE_MONITORED
1733 && PGM_PAGE_GET_STATE(pPage) != PGM_PAGE_STATE_SHARED
1739 rc = pgmPhysPageMakeWritable(pVM, pPage, GCPhysPage);
1753 if (PGM_PAGE_HAS_ACTIVE_HANDLERS(pPage))
1754 PGM_BTH_NAME(SyncHandlerPte)(pVM, pPage, fGstShwPteFlags, &PteDst);
1777 | PGM_PAGE_GET_HCPHYS(pPage)
1786 PteDst.u = PGM_PAGE_GET_HCPHYS(pPage);
1794 SHW_PTE_SET(PteDst, fGstShwPteFlags | PGM_PAGE_GET_HCPHYS(pPage));
1802 && PGM_PAGE_GET_STATE(pPage) != PGM_PAGE_STATE_ALLOCATED)
1805 Assert(!PGM_PAGE_IS_ZERO(pPage));
1807 Log3(("SyncPageWorker: write-protecting %RGp pPage=%R[pgmpage]at iPTDst=%d\n", GCPhysPage, pPage, iPTDst));
1817 PGM_BTH_NAME(SyncPageWorkerTrackAddref)(pVCpu, pShwPage, PGM_PAGE_GET_TRACKING(pPage), pPage, iPTDst);
1822 PGM_BTH_NAME(SyncPageWorkerTrackAddref)(pVCpu, pShwPage, PGM_PAGE_GET_TRACKING(pPage), pPage, iPTDst);
2060 PPGMPAGE pPage;
2064 || ( (pPage = pgmPhysGetPage(pVM, pPteSrc->u & GST_PTE_PG_MASK))
2065 && PGM_PAGE_HAS_ACTIVE_HANDLERS(pPage))
2110 PPGMPAGE pPage;
2111 int rc = pgmPhysGetPageEx(pVM, GCPhys, &pPage);
2114 AssertFatalMsg(!PGM_PAGE_IS_BALLOONED(pPage), ("Unexpected ballooned page at %RGp\n", GCPhys));
2118 if ( PGM_PAGE_GET_TYPE(pPage) == PGMPAGETYPE_RAM
2119 && ( PGM_PAGE_IS_ZERO(pPage)
2121 && PGM_PAGE_GET_STATE(pPage) != PGM_PAGE_STATE_ALLOCATED
2123 && PGM_PAGE_GET_STATE(pPage) != PGM_PAGE_STATE_WRITE_MONITORED
2126 && PGM_PAGE_GET_STATE(pPage) != PGM_PAGE_STATE_SHARED
2132 rc = pgmPhysPageMakeWritable(pVM, pPage, GCPhys);
2141 if (PGM_PAGE_HAS_ACTIVE_HANDLERS(pPage))
2142 PGM_BTH_NAME(SyncHandlerPte)(pVM, pPage, GST_GET_BIG_PDE_SHW_FLAGS_4_PTE(pVCpu, PdeSrc), &PteDst);
2144 SHW_PTE_SET(PteDst, GST_GET_BIG_PDE_SHW_FLAGS_4_PTE(pVCpu, PdeSrc) | PGM_PAGE_GET_HCPHYS(pPage));
2149 PGM_BTH_NAME(SyncPageWorkerTrackAddref)(pVCpu, pShwPage, PGM_PAGE_GET_TRACKING(pPage), pPage, iPTDst);
2153 && PGM_PAGE_GET_STATE(pPage) != PGM_PAGE_STATE_ALLOCATED)
2156 Assert(!PGM_PAGE_IS_ZERO(pPage));
2158 Log3(("SyncPage: write-protecting %RGp pPage=%R[pgmpage] at %RGv\n", GCPhys, pPage, GCPtrPage));
2530 PPGMPAGE pPage = pgmPhysGetPage(pVM, GST_GET_PTE_GCPHYS(PteSrc));
2542 if (RT_LIKELY(pPage))
2544 if (PGM_PAGE_HAS_ACTIVE_HANDLERS(pPage))
2546 //AssertMsgFailed(("%R[pgmpage] - we don't set PGM_PTFLAGS_TRACK_DIRTY for these pages\n", pPage));
2547 Assert(!PGM_PAGE_HAS_ACTIVE_ALL_HANDLERS(pPage));
2553 if ( PGM_PAGE_GET_STATE(pPage) == PGM_PAGE_STATE_WRITE_MONITORED
2554 && PGM_PAGE_GET_TYPE(pPage) == PGMPAGETYPE_RAM)
2556 rc = pgmPhysPageMakeWritable(pVM, pPage, GST_GET_PTE_GCPHYS(PteSrc));
2559 if (PGM_PAGE_GET_STATE(pPage) == PGM_PAGE_STATE_ALLOCATED)
2564 Assert(!PGM_PAGE_IS_ZERO(pPage));
2905 PPGMPAGE pPage;
2908 || ( (pPage = pgmPhysGetPage(pVM, GST_GET_PTE_GCPHYS(PteSrc)))
2909 && PGM_PAGE_HAS_ACTIVE_HANDLERS(pPage))
2993 PPGMPAGE pPage = &pRam->aPages[(GCPhys - pRam->GCPhys) >> PAGE_SHIFT];
2995 PPGMPAGE pPage = &pRam->aPages[iHCPage];
3001 if ( PGM_PAGE_GET_TYPE(pPage) == PGMPAGETYPE_RAM
3002 && ( PGM_PAGE_IS_ZERO(pPage)
3004 && PGM_PAGE_GET_STATE(pPage) != PGM_PAGE_STATE_ALLOCATED
3006 && PGM_PAGE_GET_STATE(pPage) != PGM_PAGE_STATE_WRITE_MONITORED
3009 && PGM_PAGE_GET_STATE(pPage) != PGM_PAGE_STATE_SHARED
3011 && !PGM_PAGE_IS_BALLOONED(pPage))
3015 rc = pgmPhysPageMakeWritable(pVM, pPage, GCPhys);
3022 if (PGM_PAGE_HAS_ACTIVE_HANDLERS(pPage))
3023 PGM_BTH_NAME(SyncHandlerPte)(pVM, pPage, SHW_PTE_GET_U(PteDstBase), &PteDst);
3024 else if (PGM_PAGE_IS_BALLOONED(pPage))
3037 SHW_PTE_SET(PteDst, PGM_PAGE_GET_HCPHYS(pPage) | SHW_PTE_GET_U(PteDstBase));
3041 && PGM_PAGE_GET_STATE(pPage) != PGM_PAGE_STATE_ALLOCATED)
3044 Assert(!PGM_PAGE_IS_ZERO(pPage));
3046 Log3(("SyncPT: write-protecting %RGp pPage=%R[pgmpage] at %RGv\n", GCPhys, pPage, (RTGCPTR)(GCPtr | (iPTDst << SHW_PT_SHIFT))));
3050 PGM_BTH_NAME(SyncPageWorkerTrackAddref)(pVCpu, pShwPage, PGM_PAGE_GET_TRACKING(pPage), pPage, iPTDst);
3178 PPGMPAGE pPage;
3179 rc = pgmPhysGetPageEx(pVM, PGM_A20_APPLY(pVCpu, GCPtrPage & X86_PDE2M_PAE_PG_MASK), &pPage);
3183 if (PGM_PAGE_GET_PDE_TYPE(pPage) == PGM_PAGE_PDE_TYPE_PDE)
3188 AssertRelease(PGM_PAGE_GET_STATE(pPage) == PGM_PAGE_STATE_ALLOCATED);
3189 HCPhys = PGM_PAGE_GET_HCPHYS(pPage);
3193 PGM_PAGE_SET_PDE_TYPE(pVM, pPage, PGM_PAGE_PDE_TYPE_PDE_DISABLED);
3197 else if ( PGM_PAGE_GET_PDE_TYPE(pPage) == PGM_PAGE_PDE_TYPE_PDE_DISABLED
3201 rc = pgmPhysRecheckLargePage(pVM, GCPtrPage, pPage);
3204 Assert(PGM_PAGE_GET_STATE(pPage) == PGM_PAGE_STATE_ALLOCATED);
3205 Assert(PGM_PAGE_GET_PDE_TYPE(pPage) == PGM_PAGE_PDE_TYPE_PDE);
3206 HCPhys = PGM_PAGE_GET_HCPHYS(pPage);
3215 Assert(PGM_PAGE_GET_STATE(pPage) == PGM_PAGE_STATE_ALLOCATED);
3216 Assert(PGM_PAGE_GET_PDE_TYPE(pPage) == PGM_PAGE_PDE_TYPE_PDE);
3217 HCPhys = PGM_PAGE_GET_HCPHYS(pPage);
3241 PGM_BTH_NAME(SyncPageWorkerTrackAddref)(pVCpu, pShwPde, PGM_PAGE_GET_TRACKING(pPage), pPage, iPDDst);
4079 AssertMsgFailed(("GCPhysGst=%RGp != pPage->GCPhys=%RGp at %RGv\n",
4586 PPGMPAGE pPage = pgmPhysGetPage(pVM, GCPhys);
4587 AssertReturn(pPage, VERR_PGM_INVALID_PDPE_ADDR);
4588 HCPhys = PGM_PAGE_GET_HCPHYS(pPage);
4593 int rc2 = pgmPhysGCPhys2CCPtrInternalDepr(pVM, pPage, GCPhys, (void **)&HCPtr);