kvm_pgtable
struct kvm_pgtable *pgt;
int kvm_pgtable_hyp_init(struct kvm_pgtable *pgt, u32 va_bits,
void kvm_pgtable_hyp_destroy(struct kvm_pgtable *pgt);
int kvm_pgtable_hyp_map(struct kvm_pgtable *pgt, u64 addr, u64 size, u64 phys,
u64 kvm_pgtable_hyp_unmap(struct kvm_pgtable *pgt, u64 addr, u64 size);
int __kvm_pgtable_stage2_init(struct kvm_pgtable *pgt, struct kvm_s2_mmu *mmu,
static inline int kvm_pgtable_stage2_init(struct kvm_pgtable *pgt, struct kvm_s2_mmu *mmu,
void kvm_pgtable_stage2_destroy(struct kvm_pgtable *pgt);
void kvm_pgtable_stage2_destroy_range(struct kvm_pgtable *pgt,
void kvm_pgtable_stage2_destroy_pgd(struct kvm_pgtable *pgt);
kvm_pte_t *kvm_pgtable_stage2_create_unlinked(struct kvm_pgtable *pgt,
int kvm_pgtable_stage2_map(struct kvm_pgtable *pgt, u64 addr, u64 size,
int kvm_pgtable_stage2_set_owner(struct kvm_pgtable *pgt, u64 addr, u64 size,
int kvm_pgtable_stage2_unmap(struct kvm_pgtable *pgt, u64 addr, u64 size);
int kvm_pgtable_stage2_wrprotect(struct kvm_pgtable *pgt, u64 addr, u64 size);
void kvm_pgtable_stage2_mkyoung(struct kvm_pgtable *pgt, u64 addr,
bool kvm_pgtable_stage2_test_clear_young(struct kvm_pgtable *pgt, u64 addr,
int kvm_pgtable_stage2_relax_perms(struct kvm_pgtable *pgt, u64 addr,
int kvm_pgtable_stage2_flush(struct kvm_pgtable *pgt, u64 addr, u64 size);
int kvm_pgtable_stage2_split(struct kvm_pgtable *pgt, u64 addr, u64 size,
int kvm_pgtable_walk(struct kvm_pgtable *pgt, u64 addr, u64 size,
int kvm_pgtable_get_leaf(struct kvm_pgtable *pgt, u64 addr,
int pkvm_pgtable_stage2_init(struct kvm_pgtable *pgt, struct kvm_s2_mmu *mmu,
void pkvm_pgtable_stage2_destroy_range(struct kvm_pgtable *pgt,
void pkvm_pgtable_stage2_destroy_pgd(struct kvm_pgtable *pgt);
int pkvm_pgtable_stage2_map(struct kvm_pgtable *pgt, u64 addr, u64 size, u64 phys,
int pkvm_pgtable_stage2_unmap(struct kvm_pgtable *pgt, u64 addr, u64 size);
int pkvm_pgtable_stage2_wrprotect(struct kvm_pgtable *pgt, u64 addr, u64 size);
int pkvm_pgtable_stage2_flush(struct kvm_pgtable *pgt, u64 addr, u64 size);
bool pkvm_pgtable_stage2_test_clear_young(struct kvm_pgtable *pgt, u64 addr, u64 size, bool mkold);
int pkvm_pgtable_stage2_relax_perms(struct kvm_pgtable *pgt, u64 addr, enum kvm_pgtable_prot prot,
void pkvm_pgtable_stage2_mkyoung(struct kvm_pgtable *pgt, u64 addr,
int pkvm_pgtable_stage2_split(struct kvm_pgtable *pgt, u64 addr, u64 size,
kvm_pte_t *pkvm_pgtable_stage2_create_unlinked(struct kvm_pgtable *pgt, u64 phys, s8 level,
struct kvm_pgtable pgt;
extern struct kvm_pgtable pkvm_pgtable;
struct kvm_pgtable pgt;
struct kvm_pgtable *pgt = &host_mmu.pgt;
static int check_page_state_range(struct kvm_pgtable *pgt, u64 addr, u64 size,
struct kvm_pgtable pkvm_pgtable;
int kvm_pgtable_stage2_map(struct kvm_pgtable *pgt, u64 addr, u64 size,
int kvm_pgtable_stage2_set_owner(struct kvm_pgtable *pgt, u64 addr, u64 size,
struct kvm_pgtable *pgt = ctx->arg;
int kvm_pgtable_stage2_unmap(struct kvm_pgtable *pgt, u64 addr, u64 size)
static int stage2_update_leaf_attrs(struct kvm_pgtable *pgt, u64 addr,
int kvm_pgtable_stage2_wrprotect(struct kvm_pgtable *pgt, u64 addr, u64 size)
void kvm_pgtable_stage2_mkyoung(struct kvm_pgtable *pgt, u64 addr,
bool kvm_pgtable_stage2_test_clear_young(struct kvm_pgtable *pgt, u64 addr,
int kvm_pgtable_stage2_relax_perms(struct kvm_pgtable *pgt, u64 addr,
struct kvm_pgtable *pgt = ctx->arg;
int kvm_pgtable_stage2_flush(struct kvm_pgtable *pgt, u64 addr, u64 size)
kvm_pte_t *kvm_pgtable_stage2_create_unlinked(struct kvm_pgtable *pgt,
int kvm_pgtable_stage2_split(struct kvm_pgtable *pgt, u64 addr, u64 size,
int __kvm_pgtable_stage2_init(struct kvm_pgtable *pgt, struct kvm_s2_mmu *mmu,
void kvm_pgtable_stage2_destroy_range(struct kvm_pgtable *pgt,
void kvm_pgtable_stage2_destroy_pgd(struct kvm_pgtable *pgt)
void kvm_pgtable_stage2_destroy(struct kvm_pgtable *pgt)
static int _kvm_pgtable_walk(struct kvm_pgtable *pgt, struct kvm_pgtable_walk_data *data)
int kvm_pgtable_walk(struct kvm_pgtable *pgt, u64 addr, u64 size,
int kvm_pgtable_get_leaf(struct kvm_pgtable *pgt, u64 addr,
int kvm_pgtable_hyp_map(struct kvm_pgtable *pgt, u64 addr, u64 size, u64 phys,
u64 kvm_pgtable_hyp_unmap(struct kvm_pgtable *pgt, u64 addr, u64 size)
int kvm_pgtable_hyp_init(struct kvm_pgtable *pgt, u32 va_bits,
static u32 kvm_pgd_page_idx(struct kvm_pgtable *pgt, u64 addr)
void kvm_pgtable_hyp_destroy(struct kvm_pgtable *pgt)
struct kvm_pgtable pgt = {
static int stage2_set_prot_attr(struct kvm_pgtable *pgt, enum kvm_pgtable_prot prot,
static bool stage2_unmap_defer_tlb_flush(struct kvm_pgtable *pgt)
struct kvm_pgtable *pgt = ctx->arg;
static bool stage2_pte_cacheable(struct kvm_pgtable *pgt, kvm_pte_t pte)
struct kvm_pgtable *pgt = data->mmu->pgt;
struct kvm_pgtable *pgt = NULL;
struct kvm_pgtable *pgt = mmu->pgt;
struct kvm_pgtable *pgt;
struct kvm_pgtable *pgt = vcpu->arch.hw_mmu->pgt;
struct kvm_pgtable *pgt;
static struct kvm_pgtable *hyp_pgtable;
int (*fn)(struct kvm_pgtable *, u64, u64),
struct kvm_pgtable *pgt = mmu->pgt;
struct kvm_pgtable pgt = {
static void stage2_destroy_range(struct kvm_pgtable *pgt, phys_addr_t addr,
static void kvm_stage2_destroy(struct kvm_pgtable *pgt)
struct kvm_pgtable *pgt;
int pkvm_pgtable_stage2_init(struct kvm_pgtable *pgt, struct kvm_s2_mmu *mmu,
static int __pkvm_pgtable_stage2_unmap(struct kvm_pgtable *pgt, u64 start, u64 end)
void pkvm_pgtable_stage2_destroy_range(struct kvm_pgtable *pgt,
void pkvm_pgtable_stage2_destroy_pgd(struct kvm_pgtable *pgt)
int pkvm_pgtable_stage2_map(struct kvm_pgtable *pgt, u64 addr, u64 size,
int pkvm_pgtable_stage2_unmap(struct kvm_pgtable *pgt, u64 addr, u64 size)
int pkvm_pgtable_stage2_wrprotect(struct kvm_pgtable *pgt, u64 addr, u64 size)
int pkvm_pgtable_stage2_flush(struct kvm_pgtable *pgt, u64 addr, u64 size)
bool pkvm_pgtable_stage2_test_clear_young(struct kvm_pgtable *pgt, u64 addr, u64 size, bool mkold)
int pkvm_pgtable_stage2_relax_perms(struct kvm_pgtable *pgt, u64 addr, enum kvm_pgtable_prot prot,
void pkvm_pgtable_stage2_mkyoung(struct kvm_pgtable *pgt, u64 addr,
kvm_pte_t *pkvm_pgtable_stage2_create_unlinked(struct kvm_pgtable *pgt, u64 phys, s8 level,
int pkvm_pgtable_stage2_split(struct kvm_pgtable *pgt, u64 addr, u64 size,
struct kvm_pgtable *pgtable = mmu->pgt;
struct kvm_pgtable *pgtable = m->private;
struct kvm_pgtable *pgtable = m->private;
struct kvm_pgtable *pgtable;