Lines Matching defs:kvm

135 extern void kvm_init_loongson_ipi(struct kvm *kvm);
137 int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
154 kvm->arch.gpa_mm.pgd = kvm_pgd_alloc();
155 if (!kvm->arch.gpa_mm.pgd)
159 kvm_init_loongson_ipi(kvm);
165 void kvm_mips_free_vcpus(struct kvm *kvm)
170 kvm_for_each_vcpu(i, vcpu, kvm) {
174 mutex_lock(&kvm->lock);
176 for (i = 0; i < atomic_read(&kvm->online_vcpus); i++)
177 kvm->vcpus[i] = NULL;
179 atomic_set(&kvm->online_vcpus, 0);
181 mutex_unlock(&kvm->lock);
184 static void kvm_mips_free_gpa_pt(struct kvm *kvm)
187 WARN_ON(!kvm_mips_flush_gpa_pt(kvm, 0, ~0));
188 pgd_free(NULL, kvm->arch.gpa_mm.pgd);
191 void kvm_arch_destroy_vm(struct kvm *kvm)
193 kvm_mips_free_vcpus(kvm);
194 kvm_mips_free_gpa_pt(kvm);
203 void kvm_arch_flush_shadow_all(struct kvm *kvm)
206 kvm_mips_flush_gpa_pt(kvm, 0, ~0);
209 kvm_mips_callbacks->flush_shadow_all(kvm);
212 void kvm_arch_flush_shadow_memslot(struct kvm *kvm,
220 spin_lock(&kvm->mmu_lock);
222 kvm_mips_flush_gpa_pt(kvm, slot->base_gfn,
225 kvm_mips_callbacks->flush_shadow_memslot(kvm, slot);
226 spin_unlock(&kvm->mmu_lock);
229 int kvm_arch_prepare_memory_region(struct kvm *kvm,
237 void kvm_arch_commit_memory_region(struct kvm *kvm,
245 kvm_debug("%s: kvm: %p slot: %d, GPA: %llx, size: %llx, QVA: %llx\n",
246 __func__, kvm, mem->slot, mem->guest_phys_addr,
261 spin_lock(&kvm->mmu_lock);
263 needs_flush = kvm_mips_mkclean_gpa_pt(kvm, new->base_gfn,
267 kvm_mips_callbacks->flush_shadow_memslot(kvm, new);
268 spin_unlock(&kvm->mmu_lock);
304 int kvm_arch_vcpu_precreate(struct kvm *kvm, unsigned int id)
315 kvm_debug("kvm @ %p: create cpu %d at %p\n",
316 vcpu->kvm, vcpu->vcpu_id, vcpu);
513 dvcpu = vcpu->kvm->vcpus[irq->cpu];
894 if (!kvm_vm_ioctl_check_extension(vcpu->kvm, cap->cap))
994 void kvm_arch_sync_dirty_log(struct kvm *kvm, struct kvm_memory_slot *memslot)
999 void kvm_arch_flush_remote_tlbs_memslot(struct kvm *kvm,
1003 kvm_mips_callbacks->flush_shadow_memslot(kvm, memslot);
1021 kvm_err("kvm: module already exists\n");
1064 int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
1105 r = kvm_mips_callbacks->check_extension(kvm, ext);