pt_ops
extern struct pt_alloc_ops pt_ops __meminitdata;
pt_ops.alloc_pte = alloc_pte_early;
pt_ops.get_pte_virt = get_pte_virt_early;
pt_ops.alloc_pmd = alloc_pmd_early;
pt_ops.get_pmd_virt = get_pmd_virt_early;
pt_ops.alloc_pud = alloc_pud_early;
pt_ops.get_pud_virt = get_pud_virt_early;
pt_ops.alloc_p4d = alloc_p4d_early;
pt_ops.get_p4d_virt = get_p4d_virt_early;
pt_ops.alloc_pte = kernel_mapping_pa_to_va(alloc_pte_fixmap);
pt_ops.get_pte_virt = kernel_mapping_pa_to_va(get_pte_virt_fixmap);
pt_ops.alloc_pmd = kernel_mapping_pa_to_va(alloc_pmd_fixmap);
pt_ops.get_pmd_virt = kernel_mapping_pa_to_va(get_pmd_virt_fixmap);
pt_ops.alloc_pud = kernel_mapping_pa_to_va(alloc_pud_fixmap);
pt_ops.get_pud_virt = kernel_mapping_pa_to_va(get_pud_virt_fixmap);
pt_ops.alloc_p4d = kernel_mapping_pa_to_va(alloc_p4d_fixmap);
pt_ops.get_p4d_virt = kernel_mapping_pa_to_va(get_p4d_virt_fixmap);
pt_ops.alloc_pte = alloc_pte_late;
pt_ops.get_pte_virt = get_pte_virt_late;
pt_ops.alloc_pmd = alloc_pmd_late;
pt_ops.get_pmd_virt = get_pmd_virt_late;
pt_ops.alloc_pud = alloc_pud_late;
pt_ops.get_pud_virt = get_pud_virt_late;
pt_ops.alloc_p4d = alloc_p4d_late;
pt_ops.get_p4d_virt = get_p4d_virt_late;
struct pt_alloc_ops pt_ops __meminitdata;
#define pt_ops (*(struct pt_alloc_ops *)XIP_FIXUP(&pt_ops))
pte_phys = pt_ops.alloc_pte(va);
ptep = pt_ops.get_pte_virt(pte_phys);
ptep = pt_ops.get_pte_virt(pte_phys);
next_phys = pt_ops.alloc_pmd(va);
nextp = pt_ops.get_pmd_virt(next_phys);
nextp = pt_ops.get_pmd_virt(next_phys);
next_phys = pt_ops.alloc_pud(va);
nextp = pt_ops.get_pud_virt(next_phys);
nextp = pt_ops.get_pud_virt(next_phys);
pt_ops.alloc_p4d(__va) : (pgtable_l4_enabled ? \
pt_ops.alloc_pud(__va) : pt_ops.alloc_pmd(__va)))
pt_ops.get_p4d_virt(__pa) : (pgd_next_t *)(pgtable_l4_enabled ? \
pt_ops.get_pud_virt(__pa) : (pud_t *)pt_ops.get_pmd_virt(__pa)))
#define alloc_pgd_next(__va) pt_ops.alloc_pte(__va)
#define get_pgd_next_virt(__pa) pt_ops.get_pte_virt(__pa)
base_pud = pt_ops.get_pud_virt(pfn_to_phys(_p4d_pfn(p4dp_get(p4dp))));
base_p4d = pt_ops.get_p4d_virt(pfn_to_phys(_pgd_pfn(pgdp_get(pgdp))));
base_pud = pt_ops.get_pud_virt(pfn_to_phys(_p4d_pfn(p4dp_get(p4dp))));
base_p4d = pt_ops.get_p4d_virt(pfn_to_phys(_pgd_pfn(pgdp_get(pgdp))));
expected = m->q->vm->pt_ops->pte_encode_bo(pt, 0, xe->pat.idx[XE_CACHE_WB], 0);
pte = ggtt->pt_ops->ggtt_get_pte(ggtt, start);
ggtt->pt_ops->ggtt_set_pte(ggtt, start, vfid_pte);
return ggtt->pt_ops->pte_encode_flags(bo, pat_index);
const struct xe_ggtt_pt_ops *pt_ops;
ggtt->pt_ops->pte_encode_flags(ggtt->scratch,
ggtt->pt_ops->ggtt_set_pte(ggtt, start, scratch_pte);
ggtt->pt_ops =
ggtt->pt_ops = &xelp_pt_ops;
ggtt->pt_ops->ggtt_set_pte(ggtt, end - cur.remaining,
ggtt->pt_ops->ggtt_set_pte(ggtt, end - cur.remaining,
pte = ggtt->pt_ops->pte_encode_flags(bo, pat_index);
transform(ggtt, node, pte_flags, ggtt->pt_ops->ggtt_set_pte, arg);
u64 pte = ggtt->pt_ops->pte_encode_flags(bo, pat_index);
ggtt->pt_ops->ggtt_set_pte(ggtt, start, pte);
flags = vm->pt_ops->pte_encode_addr(xe, 0, pat_index, level,
entry = vm->pt_ops->pde_encode_bo(bo, pt_2m_ofs);
flags = vm->pt_ops->pte_encode_addr(xe, 0,
addr = vm->pt_ops->pte_encode_bo(pt_bo, 0,
pte = m->q->vm->pt_ops->pte_encode_addr(m->tile->xe,
entry = vm->pt_ops->pde_encode_bo(bo, pt29_ofs);
entry = vm->pt_ops->pte_encode_bo(bo, i * XE_PAGE_SIZE,
entry = vm->pt_ops->pte_encode_bo(batch, i,
entry = vm->pt_ops->pte_encode_bo(batch, i,
entry = vm->pt_ops->pde_encode_bo(bo, map_ofs + (u64)(level - 1) *
entry = vm->pt_ops->pde_encode_bo(bo, (u64)i * XE_PAGE_SIZE);
vm->pt_ops->pte_encode_addr(xe, 0, pat_index, level, IS_DGFX(xe), 0)
addr = vm->pt_ops->pte_encode_addr(m->tile->xe,
pte = vm->pt_ops->pte_encode_vma(is_null_or_purged ? 0 :
pte = vm->pt_ops->pde_encode_bo(xe_child->bo, 0) | flags;
return vm->pt_ops->pde_encode_bo(vm->scratch_pt[id][level - 1]->bo,
return vm->pt_ops->pte_encode_addr(xe, 0, pat_index, level, IS_DGFX(xe), 0) |
vm->pt_ops = &xelp_pt_ops;
return vm->pt_ops->pde_encode_bo(vm->pt_root[tile->id]->bo, 0);
const struct xe_pt_ops *pt_ops;