Lines Matching refs:kvm

25 int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)  in kvm_arch_init_vm()  argument
30 kvm->arch.pgd = kvm_pgd_alloc(); in kvm_arch_init_vm()
31 if (!kvm->arch.pgd) in kvm_arch_init_vm()
34 kvm->arch.phyid_map = kvzalloc(sizeof(struct kvm_phyid_map), GFP_KERNEL_ACCOUNT); in kvm_arch_init_vm()
35 if (!kvm->arch.phyid_map) { in kvm_arch_init_vm()
36 free_page((unsigned long)kvm->arch.pgd); in kvm_arch_init_vm()
37 kvm->arch.pgd = NULL; in kvm_arch_init_vm()
40 spin_lock_init(&kvm->arch.phyid_map_lock); in kvm_arch_init_vm()
42 kvm_init_vmcs(kvm); in kvm_arch_init_vm()
45 kvm->arch.pv_features = BIT(KVM_FEATURE_IPI); in kvm_arch_init_vm()
47 kvm->arch.pv_features |= BIT(KVM_FEATURE_STEAL_TIME); in kvm_arch_init_vm()
49 kvm->arch.gpa_size = BIT(cpu_vabits - 1); in kvm_arch_init_vm()
50 kvm->arch.root_level = CONFIG_PGTABLE_LEVELS - 1; in kvm_arch_init_vm()
51 kvm->arch.invalid_ptes[0] = 0; in kvm_arch_init_vm()
52 kvm->arch.invalid_ptes[1] = (unsigned long)invalid_pte_table; in kvm_arch_init_vm()
54 kvm->arch.invalid_ptes[2] = (unsigned long)invalid_pmd_table; in kvm_arch_init_vm()
57 kvm->arch.invalid_ptes[3] = (unsigned long)invalid_pud_table; in kvm_arch_init_vm()
59 for (i = 0; i <= kvm->arch.root_level; i++) in kvm_arch_init_vm()
60 kvm->arch.pte_shifts[i] = PAGE_SHIFT + i * (PAGE_SHIFT - 3); in kvm_arch_init_vm()
65 void kvm_arch_destroy_vm(struct kvm *kvm) in kvm_arch_destroy_vm() argument
67 kvm_destroy_vcpus(kvm); in kvm_arch_destroy_vm()
68 free_page((unsigned long)kvm->arch.pgd); in kvm_arch_destroy_vm()
69 kvm->arch.pgd = NULL; in kvm_arch_destroy_vm()
70 kvfree(kvm->arch.phyid_map); in kvm_arch_destroy_vm()
71 kvm->arch.phyid_map = NULL; in kvm_arch_destroy_vm()
74 int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) in kvm_vm_ioctl_check_extension() argument
109 static int kvm_vm_feature_has_attr(struct kvm *kvm, struct kvm_device_attr *attr) in kvm_vm_feature_has_attr() argument
147 static int kvm_vm_has_attr(struct kvm *kvm, struct kvm_device_attr *attr) in kvm_vm_has_attr() argument
151 return kvm_vm_feature_has_attr(kvm, attr); in kvm_vm_has_attr()
160 struct kvm *kvm = filp->private_data; in kvm_arch_vm_ioctl() local
168 return kvm_vm_has_attr(kvm, &attr); in kvm_arch_vm_ioctl()