Lines Matching refs:sptep
32 typedef void (*inspect_spte_fn) (struct kvm_vcpu *vcpu, u64 *sptep, int level);
93 static void audit_mappings(struct kvm_vcpu *vcpu, u64 *sptep, int level)
100 sp = sptep_to_sp(sptep);
110 if (!is_shadow_present_pte(*sptep) || !is_last_spte(*sptep, level))
113 gfn = kvm_mmu_page_get_gfn(sp, sptep - sp->spt);
120 if ((*sptep & PT64_BASE_ADDR_MASK) != hpa)
123 hpa, *sptep);
126 static void inspect_spte_has_rmap(struct kvm *kvm, u64 *sptep)
135 rev_sp = sptep_to_sp(sptep);
136 gfn = kvm_mmu_page_get_gfn(rev_sp, sptep - rev_sp->spt);
145 (long int)(sptep - rev_sp->spt), rev_sp->gfn);
155 *sptep);
160 static void audit_sptes_have_rmaps(struct kvm_vcpu *vcpu, u64 *sptep, int level)
162 if (is_shadow_present_pte(*sptep) && is_last_spte(*sptep, level))
163 inspect_spte_has_rmap(vcpu->kvm, sptep);
166 static void audit_spte_after_sync(struct kvm_vcpu *vcpu, u64 *sptep, int level)
168 struct kvm_mmu_page *sp = sptep_to_sp(sptep);
193 u64 *sptep;
205 for_each_rmap_spte(rmap_head, &iter, sptep) {
206 if (is_writable_pte(*sptep))
224 static void audit_spte(struct kvm_vcpu *vcpu, u64 *sptep, int level)
226 audit_sptes_have_rmaps(vcpu, sptep, level);
227 audit_mappings(vcpu, sptep, level);
228 audit_spte_after_sync(vcpu, sptep, level);