Lines Matching defs:vcpu

32 typedef void (*inspect_spte_fn) (struct kvm_vcpu *vcpu, u64 *sptep, int level);
34 static void __mmu_spte_walk(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp,
42 fn(vcpu, ent + i, level);
49 __mmu_spte_walk(vcpu, child, fn, level - 1);
54 static void mmu_spte_walk(struct kvm_vcpu *vcpu, inspect_spte_fn fn)
59 if (!VALID_PAGE(vcpu->arch.mmu->root_hpa))
62 if (vcpu->arch.mmu->root_level >= PT64_ROOT_4LEVEL) {
63 hpa_t root = vcpu->arch.mmu->root_hpa;
66 __mmu_spte_walk(vcpu, sp, fn, vcpu->arch.mmu->root_level);
71 hpa_t root = vcpu->arch.mmu->pae_root[i];
76 __mmu_spte_walk(vcpu, sp, fn, 2);
93 static void audit_mappings(struct kvm_vcpu *vcpu, u64 *sptep, int level)
104 audit_printk(vcpu->kvm, "unsync sp: %p "
114 pfn = kvm_vcpu_gfn_to_pfn_atomic(vcpu, gfn);
121 audit_printk(vcpu->kvm, "levels %d pfn %llx hpa %llx "
122 "ent %llxn", vcpu->arch.mmu->root_level, pfn,
160 static void audit_sptes_have_rmaps(struct kvm_vcpu *vcpu, u64 *sptep, int level)
163 inspect_spte_has_rmap(vcpu->kvm, sptep);
166 static void audit_spte_after_sync(struct kvm_vcpu *vcpu, u64 *sptep, int level)
170 if (vcpu->kvm->arch.audit_point == AUDIT_POST_SYNC && sp->unsync)
171 audit_printk(vcpu->kvm, "meet unsync sp(%p) after sync "
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);
231 static void audit_vcpu_spte(struct kvm_vcpu *vcpu)
233 mmu_spte_walk(vcpu, audit_spte);
239 static void __kvm_mmu_audit(struct kvm_vcpu *vcpu, int point)
246 vcpu->kvm->arch.audit_point = point;
247 audit_all_active_sps(vcpu->kvm);
248 audit_vcpu_spte(vcpu);
251 static inline void kvm_mmu_audit(struct kvm_vcpu *vcpu, int point)
254 __kvm_mmu_audit(vcpu, point);