tdp_ptep_t
tdp_ptep_t ptep;
static inline bool is_mirror_sptep(tdp_ptep_t sptep)
iter->pt_path[iter->root_level - 1] = (tdp_ptep_t)root->spt;
tdp_ptep_t spte_to_child_pt(u64 spte, int level)
return (tdp_ptep_t)__va(spte_to_pfn(spte) << PAGE_SHIFT);
tdp_ptep_t child_pt;
tdp_ptep_t spte_to_child_pt(u64 pte, int level);
static inline u64 kvm_tdp_mmu_read_spte(tdp_ptep_t sptep)
static inline u64 kvm_tdp_mmu_write_spte_atomic(tdp_ptep_t sptep, u64 new_spte)
static inline u64 tdp_mmu_clear_spte_bits_atomic(tdp_ptep_t sptep, u64 mask)
static inline void __kvm_tdp_mmu_write_spte(tdp_ptep_t sptep, u64 new_spte)
static inline u64 kvm_tdp_mmu_write_spte(tdp_ptep_t sptep, u64 old_spte,
static inline u64 tdp_mmu_clear_spte_bits(tdp_ptep_t sptep, u64 old_spte,
tdp_ptep_t pt_path[PT64_ROOT_MAX_LEVEL];
tdp_ptep_t sptep;
tdp_ptep_t sptep = NULL;
static void tdp_mmu_init_sp(struct kvm_mmu_page *sp, tdp_ptep_t sptep,
static void handle_removed_pt(struct kvm *kvm, tdp_ptep_t pt, bool shared)
tdp_ptep_t sptep = pt + i;
static int __must_check set_external_spte_present(struct kvm *kvm, tdp_ptep_t sptep,
static u64 tdp_mmu_set_spte(struct kvm *kvm, int as_id, tdp_ptep_t sptep,
if ((tdp_ptep_t)sp->spt != spte_to_child_pt(iter.old_spte, iter.level))
WARN_ON_ONCE((tdp_ptep_t)sp->spt == spte_to_child_pt(iter.old_spte, iter.level));