Lines Matching refs:kvm
103 static void kvm_mips_init_tlbs(struct kvm *kvm) in kvm_mips_init_tlbs() argument
114 kvm->arch.commpage_tlb = wired; in kvm_mips_init_tlbs()
117 kvm->arch.commpage_tlb); in kvm_mips_init_tlbs()
122 struct kvm *kvm = (struct kvm *)arg; in kvm_mips_init_vm_percpu() local
124 kvm_mips_init_tlbs(kvm); in kvm_mips_init_vm_percpu()
125 kvm_mips_callbacks->vm_init(kvm); in kvm_mips_init_vm_percpu()
129 int kvm_arch_init_vm(struct kvm *kvm, unsigned long type) in kvm_arch_init_vm() argument
134 on_each_cpu(kvm_mips_init_vm_percpu, kvm, 1); in kvm_arch_init_vm()
140 void kvm_mips_free_vcpus(struct kvm *kvm) in kvm_mips_free_vcpus() argument
146 for (i = 0; i < kvm->arch.guest_pmap_npages; i++) { in kvm_mips_free_vcpus()
147 if (kvm->arch.guest_pmap[i] != KVM_INVALID_PAGE) in kvm_mips_free_vcpus()
148 kvm_mips_release_pfn_clean(kvm->arch.guest_pmap[i]); in kvm_mips_free_vcpus()
150 kfree(kvm->arch.guest_pmap); in kvm_mips_free_vcpus()
152 kvm_for_each_vcpu(i, vcpu, kvm) { in kvm_mips_free_vcpus()
156 mutex_lock(&kvm->lock); in kvm_mips_free_vcpus()
158 for (i = 0; i < atomic_read(&kvm->online_vcpus); i++) in kvm_mips_free_vcpus()
159 kvm->vcpus[i] = NULL; in kvm_mips_free_vcpus()
161 atomic_set(&kvm->online_vcpus, 0); in kvm_mips_free_vcpus()
163 mutex_unlock(&kvm->lock); in kvm_mips_free_vcpus()
175 void kvm_arch_destroy_vm(struct kvm *kvm) in kvm_arch_destroy_vm() argument
177 kvm_mips_free_vcpus(kvm); in kvm_arch_destroy_vm()
193 int kvm_arch_create_memslot(struct kvm *kvm, struct kvm_memory_slot *slot, in kvm_arch_create_memslot() argument
199 int kvm_arch_prepare_memory_region(struct kvm *kvm, in kvm_arch_prepare_memory_region() argument
207 void kvm_arch_commit_memory_region(struct kvm *kvm, in kvm_arch_commit_memory_region() argument
216 __func__, kvm, mem->slot, mem->guest_phys_addr, in kvm_arch_commit_memory_region()
220 if (!kvm->arch.guest_pmap) { in kvm_arch_commit_memory_region()
225 kvm->arch.guest_pmap_npages = npages; in kvm_arch_commit_memory_region()
226 kvm->arch.guest_pmap = in kvm_arch_commit_memory_region()
229 if (!kvm->arch.guest_pmap) { in kvm_arch_commit_memory_region()
235 npages, kvm->arch.guest_pmap); in kvm_arch_commit_memory_region()
239 kvm->arch.guest_pmap[i] = KVM_INVALID_PAGE; in kvm_arch_commit_memory_region()
244 struct kvm_vcpu *kvm_arch_vcpu_create(struct kvm *kvm, unsigned int id) in kvm_arch_vcpu_create() argument
257 err = kvm_vcpu_init(vcpu, kvm, id); in kvm_arch_vcpu_create()
262 kvm_debug("kvm @ %p: create cpu %d at %p\n", kvm, id, vcpu); in kvm_arch_vcpu_create()
431 dvcpu = vcpu->kvm->vcpus[irq->cpu]; in kvm_vcpu_ioctl_interrupt()
875 if (!kvm_vm_ioctl_check_extension(vcpu->kvm, cap->cap)) in kvm_vcpu_ioctl_enable_cap()
972 int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, struct kvm_dirty_log *log) in kvm_vm_ioctl_get_dirty_log() argument
980 mutex_lock(&kvm->slots_lock); in kvm_vm_ioctl_get_dirty_log()
982 r = kvm_get_dirty_log(kvm, log, &is_dirty); in kvm_vm_ioctl_get_dirty_log()
988 memslot = id_to_memslot(kvm->memslots, log->slot); in kvm_vm_ioctl_get_dirty_log()
1002 mutex_unlock(&kvm->slots_lock); in kvm_vm_ioctl_get_dirty_log()
1065 int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) in kvm_vm_ioctl_check_extension() argument