Lines Matching refs:kvm
104 static void kvm_mips_init_tlbs(struct kvm *kvm) in kvm_mips_init_tlbs() argument
115 kvm->arch.commpage_tlb = wired; in kvm_mips_init_tlbs()
118 kvm->arch.commpage_tlb); in kvm_mips_init_tlbs()
123 struct kvm *kvm = (struct kvm *)arg; in kvm_mips_init_vm_percpu() local
125 kvm_mips_init_tlbs(kvm); in kvm_mips_init_vm_percpu()
126 kvm_mips_callbacks->vm_init(kvm); in kvm_mips_init_vm_percpu()
130 int kvm_arch_init_vm(struct kvm *kvm, unsigned long type) in kvm_arch_init_vm() argument
135 on_each_cpu(kvm_mips_init_vm_percpu, kvm, 1); in kvm_arch_init_vm()
141 void kvm_mips_free_vcpus(struct kvm *kvm) in kvm_mips_free_vcpus() argument
147 for (i = 0; i < kvm->arch.guest_pmap_npages; i++) { in kvm_mips_free_vcpus()
148 if (kvm->arch.guest_pmap[i] != KVM_INVALID_PAGE) in kvm_mips_free_vcpus()
149 kvm_mips_release_pfn_clean(kvm->arch.guest_pmap[i]); in kvm_mips_free_vcpus()
151 kfree(kvm->arch.guest_pmap); in kvm_mips_free_vcpus()
153 kvm_for_each_vcpu(i, vcpu, kvm) { in kvm_mips_free_vcpus()
157 mutex_lock(&kvm->lock); in kvm_mips_free_vcpus()
159 for (i = 0; i < atomic_read(&kvm->online_vcpus); i++) in kvm_mips_free_vcpus()
160 kvm->vcpus[i] = NULL; in kvm_mips_free_vcpus()
162 atomic_set(&kvm->online_vcpus, 0); in kvm_mips_free_vcpus()
164 mutex_unlock(&kvm->lock); in kvm_mips_free_vcpus()
176 void kvm_arch_destroy_vm(struct kvm *kvm) in kvm_arch_destroy_vm() argument
178 kvm_mips_free_vcpus(kvm); in kvm_arch_destroy_vm()
194 int kvm_arch_create_memslot(struct kvm *kvm, struct kvm_memory_slot *slot, in kvm_arch_create_memslot() argument
200 int kvm_arch_prepare_memory_region(struct kvm *kvm, in kvm_arch_prepare_memory_region() argument
208 void kvm_arch_commit_memory_region(struct kvm *kvm, in kvm_arch_commit_memory_region() argument
218 __func__, kvm, mem->slot, mem->guest_phys_addr, in kvm_arch_commit_memory_region()
222 if (!kvm->arch.guest_pmap) { in kvm_arch_commit_memory_region()
227 kvm->arch.guest_pmap_npages = npages; in kvm_arch_commit_memory_region()
228 kvm->arch.guest_pmap = in kvm_arch_commit_memory_region()
231 if (!kvm->arch.guest_pmap) { in kvm_arch_commit_memory_region()
237 npages, kvm->arch.guest_pmap); in kvm_arch_commit_memory_region()
241 kvm->arch.guest_pmap[i] = KVM_INVALID_PAGE; in kvm_arch_commit_memory_region()
246 struct kvm_vcpu *kvm_arch_vcpu_create(struct kvm *kvm, unsigned int id) in kvm_arch_vcpu_create() argument
259 err = kvm_vcpu_init(vcpu, kvm, id); in kvm_arch_vcpu_create()
264 kvm_debug("kvm @ %p: create cpu %d at %p\n", kvm, id, vcpu); in kvm_arch_vcpu_create()
433 dvcpu = vcpu->kvm->vcpus[irq->cpu]; in kvm_vcpu_ioctl_interrupt()
877 if (!kvm_vm_ioctl_check_extension(vcpu->kvm, cap->cap)) in kvm_vcpu_ioctl_enable_cap()
974 int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, struct kvm_dirty_log *log) in kvm_vm_ioctl_get_dirty_log() argument
983 mutex_lock(&kvm->slots_lock); in kvm_vm_ioctl_get_dirty_log()
985 r = kvm_get_dirty_log(kvm, log, &is_dirty); in kvm_vm_ioctl_get_dirty_log()
991 slots = kvm_memslots(kvm); in kvm_vm_ioctl_get_dirty_log()
1006 mutex_unlock(&kvm->slots_lock); in kvm_vm_ioctl_get_dirty_log()
1069 int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) in kvm_vm_ioctl_check_extension() argument