Lines Matching refs:pPage

120  * @param    pPage      Pointer to the page.
124 static inline uint64_t rtR0MemObjSolPagePhys(page_t *pPage)
126 AssertPtr(pPage);
127 pfn_t PageFrameNum = page_pptonum(pPage);
128 AssertReleaseMsg(PageFrameNum != PFN_INVALID, ("rtR0MemObjSolPagePhys failed pPage=%p\n"));
157 page_t *pPage = page_create_va(&g_PageVnode, offPage, PAGE_SIZE, PG_WAIT | PG_NORELOC, &KernelSeg, virtAddr);
158 if (RT_LIKELY(pPage))
165 page_pp_lock(pPage, 0 /* COW */, 1 /* Kernel */);
166 page_io_unlock(pPage);
167 page_downgrade(pPage);
168 Assert(PAGE_LOCKED_SE(pPage, SE_SHARED));
171 return pPage;
178 * @param pPage Pointer to the page to be destroyed.
179 * @remarks This function expects page in @c pPage to be shared locked.
181 static void rtR0MemObjSolPageDestroy(page_t *pPage)
188 AssertPtr(pPage);
189 Assert(PAGE_LOCKED_SE(pPage, SE_SHARED));
191 u_offset_t offPage = pPage->p_offset;
192 int rc = page_tryupgrade(pPage);
195 page_unlock(pPage);
201 AssertReleaseMsg(pFoundPage == pPage, ("Page lookup failed %p:%llx returned %p, expected %p\n",
202 &g_PageVnode, offPage, pFoundPage, pPage));
204 Assert(PAGE_LOCKED_SE(pPage, SE_EXCL));
205 page_pp_unlock(pPage, 0 /* COW */, 1 /* Kernel */);
206 page_destroy(pPage, 0 /* move it to the free list */);
256 page_t *pPage = rtR0MemObjSolPageAlloc(virtAddr);
257 if (RT_UNLIKELY(!pPage))
269 ppPages[i] = pPage;
362 page_t *pPage = pPageList;
363 AssertPtr(pPage);
364 AssertMsg(page_pptonum(pPage) == iPage + page_pptonum(pRootPage),
365 ("%p:%lx %lx+%lx\n", pPage, page_pptonum(pPage), iPage, page_pptonum(pRootPage)));
366 AssertMsg(pPage->p_szc == pRootPage->p_szc, ("Size code mismatch %p %d %d\n", pPage,
367 (int)pPage->p_szc, (int)pRootPage->p_szc));
375 page_pp_lock(pPage, 0 /* COW */, 1 /* Kernel */);
377 page_sub(&pPageList, pPage);
378 page_io_unlock(pPage);
379 page_downgrade(pPage);
380 Assert(PAGE_LOCKED_SE(pPage, SE_SHARED));
382 ppPages[iPage] = pPage;
432 page_t *pPage = ppPages[iPage];
433 u_offset_t offPage = pPage->p_offset;
434 int rc = page_tryupgrade(pPage);
437 page_unlock(pPage);
446 AssertReleaseMsg(pFoundPage == pPage,
448 pFoundPage, pPage));
457 pPage = pFoundPage;
460 Assert(PAGE_LOCKED_SE(pPage, SE_EXCL));
461 page_pp_unlock(pPage, 0 /* COW */, 1 /* Kernel */);