Lines Matching defs:kvm
28 #define audit_printk(kvm, fmt, args...) \
30 fmt, audit_point_name[kvm->arch.audit_point], ##args)
83 typedef void (*sp_handler) (struct kvm *kvm, struct kvm_mmu_page *sp);
85 static void walk_all_active_sps(struct kvm *kvm, sp_handler fn)
89 list_for_each_entry(sp, &kvm->arch.active_mmu_pages, link)
90 fn(kvm, sp);
104 audit_printk(vcpu->kvm, "unsync sp: %p "
121 audit_printk(vcpu->kvm, "levels %d pfn %llx hpa %llx "
126 static void inspect_spte_has_rmap(struct kvm *kvm, u64 *sptep)
138 slots = kvm_memslots_for_spte_role(kvm, rev_sp->role);
143 audit_printk(kvm, "no memslot for gfn %llx\n", gfn);
144 audit_printk(kvm, "index %ld of sp (gfn=%llx)\n",
154 audit_printk(kvm, "no rmap for writable spte %llx\n",
163 inspect_spte_has_rmap(vcpu->kvm, sptep);
170 if (vcpu->kvm->arch.audit_point == AUDIT_POST_SYNC && sp->unsync)
171 audit_printk(vcpu->kvm, "meet unsync sp(%p) after sync "
175 static void check_mappings_rmap(struct kvm *kvm, struct kvm_mmu_page *sp)
186 inspect_spte_has_rmap(kvm, sp->spt + i);
190 static void audit_write_protection(struct kvm *kvm, struct kvm_mmu_page *sp)
201 slots = kvm_memslots_for_spte_role(kvm, sp->role);
207 audit_printk(kvm, "shadow page has writable "
213 static void audit_sp(struct kvm *kvm, struct kvm_mmu_page *sp)
215 check_mappings_rmap(kvm, sp);
216 audit_write_protection(kvm, sp);
219 static void audit_all_active_sps(struct kvm *kvm)
221 walk_all_active_sps(kvm, audit_sp);
246 vcpu->kvm->arch.audit_point = point;
247 audit_all_active_sps(vcpu->kvm);