Lines Matching defs:page
160 * - type of next level page table
161 * - type of entry inside this level page table
166 * give a PTE page table type, then request to get its next level page
168 * and a PTE page table doesn't have a next level page table type,
170 * page table.
655 * PPGTT shadow page table helpers.
730 spt->shadow_page.page = alloc_page(gfp_mask);
731 if (!spt->shadow_page.page) {
740 __free_page(spt->shadow_page.page);
821 /* Find the spt by shadow page mfn. */
830 /* Allocate shadow page table without guest page. */
845 gvt_vgpu_err("fail to allocate ppgtt shadow page\n");
857 daddr = dma_map_page(kdev, spt->shadow_page.page,
864 spt->shadow_page.vaddr = page_address(spt->shadow_page.page);
880 /* Allocate shadow page table associated with specific gfn. */
969 "Invalid page table type, cur_pt_type is: %d\n",
982 gvt_vgpu_err("fail to find shadow page: mfn: 0x%lx\n",
1034 WARN(1, "GVT doesn't support 1GB page\n");
1055 gvt_vgpu_err("fail: shadow page %p shadow entry 0x%llx type %d\n",
1137 gvt_vgpu_err("fail: shadow page %p guest entry 0x%llx type %d\n",
1158 * Check if can do 2M page
1290 * The layout of 64K page is special, the page size is
1292 * 64K page to smaller 4K pages in shadow PT.
1360 gvt_vgpu_err("fail: shadow page %p guest entry 0x%llx type %d\n",
1389 gvt_vgpu_err("fail to find guest page\n");
1405 gvt_vgpu_err("fail: shadow page %p guest entry 0x%llx type %d\n",
1538 trace_oos_change(spt->vgpu->id, "set page sync", oos_page->id,
1552 WARN(oos_page, "shadow PPGTT page has already has a oos page\n");
1573 if (WARN(!oos_page, "shadow PPGTT page should have a oos page\n"))
1576 trace_oos_change(spt->vgpu->id, "set page out of sync", oos_page->id,
1613 * The heart of PPGTT shadow page table.
1671 gvt_vgpu_err("fail: shadow page %p guest entry 0x%llx type %d.\n",
1749 * For page table which has 64K gtt entry, only PTE#0, PTE#16,
2159 /* walk the shadow page table and get gpa from guest entry */
2342 * settting the shadow entry to point to a scratch page
2423 gvt_vgpu_err("fail to allocate scratch page\n");
2436 gtt->scratch_pt[type].page = virt_to_page(scratch_pt);
2441 * point to the next level scratch pt or scratch page. The
2442 * scratch_pt[type] indicate the scratch pt/scratch page used by the
2446 * is GTT_TYPE_PPGTT_PTE_PT, and full filled by scratch page mfn.
2456 * set to the same as i915's scratch page tree.
2476 if (vgpu->gtt.scratch_pt[i].page != NULL) {
2480 __free_page(vgpu->gtt.scratch_pt[i].page);
2481 vgpu->gtt.scratch_pt[i].page = NULL;
2597 "someone is still using oos page\n");
2743 void *page;
2752 page = (void *)get_zeroed_page(GFP_KERNEL);
2753 if (!page) {
2754 gvt_err("fail to allocate scratch ggtt page\n");
2758 daddr = dma_map_page(dev, virt_to_page(page), 0,
2761 gvt_err("fail to dmamap scratch ggtt page\n");
2762 __free_page(virt_to_page(page));
2766 gvt->gtt.scratch_page = virt_to_page(page);