Home
last modified time | relevance | path

Searched refs:kvm (Results 1 – 25 of 374) sorted by relevance

12345678910>>...15

/linux-6.12.1/arch/powerpc/include/asm/
Dkvm_book3s_uvmem.h9 int kvmppc_uvmem_slot_init(struct kvm *kvm, const struct kvm_memory_slot *slot);
10 void kvmppc_uvmem_slot_free(struct kvm *kvm,
12 unsigned long kvmppc_h_svm_page_in(struct kvm *kvm,
16 unsigned long kvmppc_h_svm_page_out(struct kvm *kvm,
20 unsigned long kvmppc_h_svm_init_start(struct kvm *kvm);
21 unsigned long kvmppc_h_svm_init_done(struct kvm *kvm);
22 int kvmppc_send_page_to_uv(struct kvm *kvm, unsigned long gfn);
23 unsigned long kvmppc_h_svm_init_abort(struct kvm *kvm);
25 struct kvm *kvm, bool skip_page_out);
26 int kvmppc_uvmem_memslot_create(struct kvm *kvm,
[all …]
/linux-6.12.1/arch/x86/kvm/mmu/
Dpage_track.c23 static bool kvm_external_write_tracking_enabled(struct kvm *kvm) in kvm_external_write_tracking_enabled() argument
30 return smp_load_acquire(&kvm->arch.external_write_tracking_enabled); in kvm_external_write_tracking_enabled()
36 bool kvm_page_track_write_tracking_enabled(struct kvm *kvm) in kvm_page_track_write_tracking_enabled() argument
38 return kvm_external_write_tracking_enabled(kvm) || in kvm_page_track_write_tracking_enabled()
39 kvm_shadow_root_allocated(kvm) || !tdp_enabled; in kvm_page_track_write_tracking_enabled()
60 int kvm_page_track_create_memslot(struct kvm *kvm, in kvm_page_track_create_memslot() argument
64 if (!kvm_page_track_write_tracking_enabled(kvm)) in kvm_page_track_create_memslot()
90 void __kvm_write_track_add_gfn(struct kvm *kvm, struct kvm_memory_slot *slot, in __kvm_write_track_add_gfn() argument
93 lockdep_assert_held_write(&kvm->mmu_lock); in __kvm_write_track_add_gfn()
95 lockdep_assert_once(lockdep_is_held(&kvm->slots_lock) || in __kvm_write_track_add_gfn()
[all …]
Dtdp_mmu.c15 void kvm_mmu_init_tdp_mmu(struct kvm *kvm) in kvm_mmu_init_tdp_mmu() argument
17 INIT_LIST_HEAD(&kvm->arch.tdp_mmu_roots); in kvm_mmu_init_tdp_mmu()
18 spin_lock_init(&kvm->arch.tdp_mmu_pages_lock); in kvm_mmu_init_tdp_mmu()
22 static __always_inline bool kvm_lockdep_assert_mmu_lock_held(struct kvm *kvm, in kvm_lockdep_assert_mmu_lock_held() argument
26 lockdep_assert_held_read(&kvm->mmu_lock); in kvm_lockdep_assert_mmu_lock_held()
28 lockdep_assert_held_write(&kvm->mmu_lock); in kvm_lockdep_assert_mmu_lock_held()
33 void kvm_mmu_uninit_tdp_mmu(struct kvm *kvm) in kvm_mmu_uninit_tdp_mmu() argument
40 kvm_tdp_mmu_invalidate_all_roots(kvm); in kvm_mmu_uninit_tdp_mmu()
41 kvm_tdp_mmu_zap_invalidated_roots(kvm); in kvm_mmu_uninit_tdp_mmu()
43 WARN_ON(atomic64_read(&kvm->arch.tdp_mmu_pages)); in kvm_mmu_uninit_tdp_mmu()
[all …]
Dpage_track.h10 bool kvm_page_track_write_tracking_enabled(struct kvm *kvm);
14 int kvm_page_track_create_memslot(struct kvm *kvm,
18 void __kvm_write_track_add_gfn(struct kvm *kvm, struct kvm_memory_slot *slot,
20 void __kvm_write_track_remove_gfn(struct kvm *kvm,
23 bool kvm_gfn_is_write_tracked(struct kvm *kvm,
27 int kvm_page_track_init(struct kvm *kvm);
28 void kvm_page_track_cleanup(struct kvm *kvm);
30 void __kvm_page_track_write(struct kvm *kvm, gpa_t gpa, const u8 *new, int bytes);
31 void kvm_page_track_delete_slot(struct kvm *kvm, struct kvm_memory_slot *slot);
33 static inline bool kvm_page_track_has_external_user(struct kvm *kvm) in kvm_page_track_has_external_user() argument
[all …]
Dtdp_mmu.h10 void kvm_mmu_init_tdp_mmu(struct kvm *kvm);
11 void kvm_mmu_uninit_tdp_mmu(struct kvm *kvm);
20 void kvm_tdp_mmu_put_root(struct kvm *kvm, struct kvm_mmu_page *root);
22 bool kvm_tdp_mmu_zap_leafs(struct kvm *kvm, gfn_t start, gfn_t end, bool flush);
23 bool kvm_tdp_mmu_zap_sp(struct kvm *kvm, struct kvm_mmu_page *sp);
24 void kvm_tdp_mmu_zap_all(struct kvm *kvm);
25 void kvm_tdp_mmu_invalidate_all_roots(struct kvm *kvm);
26 void kvm_tdp_mmu_zap_invalidated_roots(struct kvm *kvm);
30 bool kvm_tdp_mmu_unmap_gfn_range(struct kvm *kvm, struct kvm_gfn_range *range,
32 bool kvm_tdp_mmu_age_gfn_range(struct kvm *kvm, struct kvm_gfn_range *range);
[all …]
/linux-6.12.1/include/linux/
Dkvm_host.h193 bool kvm_make_vcpus_request_mask(struct kvm *kvm, unsigned int req,
195 bool kvm_make_all_cpus_request(struct kvm *kvm, unsigned int req);
231 int kvm_io_bus_register_dev(struct kvm *kvm, enum kvm_bus bus_idx, gpa_t addr,
233 int kvm_io_bus_unregister_dev(struct kvm *kvm, enum kvm_bus bus_idx,
235 struct kvm_io_device *kvm_io_bus_get_dev(struct kvm *kvm, enum kvm_bus bus_idx,
270 bool kvm_unmap_gfn_range(struct kvm *kvm, struct kvm_gfn_range *range);
271 bool kvm_age_gfn(struct kvm *kvm, struct kvm_gfn_range *range);
272 bool kvm_test_age_gfn(struct kvm *kvm, struct kvm_gfn_range *range);
324 struct kvm *kvm; member
661 struct kvm *kvm, int irq_source_id, int level,
[all …]
/linux-6.12.1/virt/kvm/
Deventfd.c36 kvm_arch_irqfd_allowed(struct kvm *kvm, struct kvm_irqfd *args) in kvm_arch_irqfd_allowed() argument
46 struct kvm *kvm = irqfd->kvm; in irqfd_inject() local
49 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 1, in irqfd_inject()
51 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 0, in irqfd_inject()
54 kvm_set_irq(kvm, KVM_IRQFD_RESAMPLE_IRQ_SOURCE_ID, in irqfd_inject()
63 srcu_read_lock_held(&resampler->kvm->irq_srcu)) in irqfd_resampler_notify()
76 struct kvm *kvm; in irqfd_resampler_ack() local
81 kvm = resampler->kvm; in irqfd_resampler_ack()
83 kvm_set_irq(kvm, KVM_IRQFD_RESAMPLE_IRQ_SOURCE_ID, in irqfd_resampler_ack()
86 idx = srcu_read_lock(&kvm->irq_srcu); in irqfd_resampler_ack()
[all …]
Dkvm_main.c146 static void kvm_uevent_notify_change(unsigned int type, struct kvm *kvm);
152 __weak void kvm_arch_guest_memory_reclaimed(struct kvm *kvm) in kvm_arch_guest_memory_reclaimed() argument
285 bool kvm_make_vcpus_request_mask(struct kvm *kvm, unsigned int req, in kvm_make_vcpus_request_mask() argument
299 vcpu = kvm_get_vcpu(kvm, i); in kvm_make_vcpus_request_mask()
311 bool kvm_make_all_cpus_request(struct kvm *kvm, unsigned int req) in kvm_make_all_cpus_request() argument
324 kvm_for_each_vcpu(i, vcpu, kvm) in kvm_make_all_cpus_request()
334 void kvm_flush_remote_tlbs(struct kvm *kvm) in kvm_flush_remote_tlbs() argument
336 ++kvm->stat.generic.remote_tlb_flush_requests; in kvm_flush_remote_tlbs()
349 if (!kvm_arch_flush_remote_tlbs(kvm) in kvm_flush_remote_tlbs()
350 || kvm_make_all_cpus_request(kvm, KVM_REQ_TLB_FLUSH)) in kvm_flush_remote_tlbs()
[all …]
/linux-6.12.1/arch/s390/kvm/
Dpv.c21 bool kvm_s390_pv_is_protected(struct kvm *kvm) in kvm_s390_pv_is_protected() argument
23 lockdep_assert_held(&kvm->lock); in kvm_s390_pv_is_protected()
24 return !!kvm_s390_pv_get_handle(kvm); in kvm_s390_pv_is_protected()
58 static void kvm_s390_clear_pv_state(struct kvm *kvm) in kvm_s390_clear_pv_state() argument
60 kvm->arch.pv.handle = 0; in kvm_s390_clear_pv_state()
61 kvm->arch.pv.guest_len = 0; in kvm_s390_clear_pv_state()
62 kvm->arch.pv.stor_base = 0; in kvm_s390_clear_pv_state()
63 kvm->arch.pv.stor_var = NULL; in kvm_s390_clear_pv_state()
75 KVM_UV_EVENT(vcpu->kvm, 3, "PROTVIRT DESTROY VCPU %d: rc %x rrc %x", in kvm_s390_pv_destroy_cpu()
118 uvcb.guest_handle = kvm_s390_pv_get_handle(vcpu->kvm); in kvm_s390_pv_create_cpu()
[all …]
Dkvm-s390.c270 static int sca_switch_to_extended(struct kvm *kvm);
303 struct kvm *kvm; in kvm_clock_sync() local
308 list_for_each_entry(kvm, &vm_list, vm_list) { in kvm_clock_sync()
309 kvm_for_each_vcpu(i, vcpu, kvm) { in kvm_clock_sync()
312 kvm->arch.epoch = vcpu->arch.sie_block->epoch; in kvm_clock_sync()
313 kvm->arch.epdx = vcpu->arch.sie_block->epdx; in kvm_clock_sync()
559 int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) in kvm_vm_ioctl_check_extension() argument
600 if (hpage && !(kvm && kvm_is_ucontrol(kvm))) in kvm_vm_ioctl_check_extension()
679 void kvm_arch_sync_dirty_log(struct kvm *kvm, struct kvm_memory_slot *memslot) in kvm_arch_sync_dirty_log() argument
684 struct gmap *gmap = kvm->arch.gmap; in kvm_arch_sync_dirty_log()
[all …]
Dkvm-s390.h73 debug_sprintf_event(d_vcpu->kvm->arch.dbf, d_loglevel, \
101 return test_bit(vcpu->vcpu_idx, vcpu->kvm->arch.idle_mask); in is_vcpu_idle()
104 static inline int kvm_is_ucontrol(struct kvm *kvm) in kvm_is_ucontrol() argument
107 if (kvm->arch.gmap) in kvm_is_ucontrol()
216 static inline int test_kvm_facility(struct kvm *kvm, unsigned long nr) in test_kvm_facility() argument
218 return __test_facility(nr, kvm->arch.model.fac_mask) && in test_kvm_facility()
219 __test_facility(nr, kvm->arch.model.fac_list); in test_kvm_facility()
233 static inline int test_kvm_cpu_feat(struct kvm *kvm, unsigned long nr) in test_kvm_cpu_feat() argument
236 return test_bit_inv(nr, kvm->arch.cpu_feat); in test_kvm_cpu_feat()
240 static inline int kvm_s390_user_cpu_state_ctrl(struct kvm *kvm) in kvm_s390_user_cpu_state_ctrl() argument
[all …]
/linux-6.12.1/arch/arm64/kvm/vgic/
Dvgic-init.c52 void kvm_vgic_early_init(struct kvm *kvm) in kvm_vgic_early_init() argument
54 struct vgic_dist *dist = &kvm->arch.vgic; in kvm_vgic_early_init()
69 int kvm_vgic_create(struct kvm *kvm, u32 type) in kvm_vgic_create() argument
86 lockdep_assert_held(&kvm->lock); in kvm_vgic_create()
89 if (!lock_all_vcpus(kvm)) in kvm_vgic_create()
92 mutex_lock(&kvm->arch.config_lock); in kvm_vgic_create()
94 if (irqchip_in_kernel(kvm)) { in kvm_vgic_create()
99 kvm_for_each_vcpu(i, vcpu, kvm) { in kvm_vgic_create()
106 kvm->max_vcpus = VGIC_V2_MAX_CPUS; in kvm_vgic_create()
108 kvm->max_vcpus = VGIC_V3_MAX_CPUS; in kvm_vgic_create()
[all …]
Dvgic.h105 return vcpu->kvm->arch.vgic.implementation_rev; in vgic_get_implementation_rev()
136 static inline int vgic_write_guest_lock(struct kvm *kvm, gpa_t gpa, in vgic_write_guest_lock() argument
139 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_write_guest_lock()
143 ret = kvm_write_guest_lock(kvm, gpa, data, len); in vgic_write_guest_lock()
182 struct vgic_irq *vgic_get_irq(struct kvm *kvm, struct kvm_vcpu *vcpu,
184 void vgic_put_irq(struct kvm *kvm, struct vgic_irq *irq);
188 bool vgic_queue_irq_unlock(struct kvm *kvm, struct vgic_irq *irq,
190 void vgic_kick_vcpus(struct kvm *kvm);
194 int vgic_check_iorange(struct kvm *kvm, phys_addr_t ioaddr,
211 int vgic_v2_map_resources(struct kvm *kvm);
[all …]
/linux-6.12.1/arch/x86/kvm/
Dirq_comm.c31 struct kvm *kvm, int irq_source_id, int level, in kvm_set_pic_irq() argument
34 struct kvm_pic *pic = kvm->arch.vpic; in kvm_set_pic_irq()
39 struct kvm *kvm, int irq_source_id, int level, in kvm_set_ioapic_irq() argument
42 struct kvm_ioapic *ioapic = kvm->arch.vioapic; in kvm_set_ioapic_irq()
47 int kvm_irq_delivery_to_apic(struct kvm *kvm, struct kvm_lapic *src, in kvm_irq_delivery_to_apic() argument
55 if (kvm_irq_delivery_to_apic_fast(kvm, src, irq, &r, dest_map)) in kvm_irq_delivery_to_apic()
66 kvm_for_each_vcpu(i, vcpu, kvm) { in kvm_irq_delivery_to_apic()
95 lowest = kvm_get_vcpu(kvm, idx); in kvm_irq_delivery_to_apic()
104 void kvm_set_msi_irq(struct kvm *kvm, struct kvm_kernel_irq_routing_entry *e, in kvm_set_msi_irq() argument
111 trace_kvm_msi_set_irq(msg.address_lo | (kvm->arch.x2apic_format ? in kvm_set_msi_irq()
[all …]
/linux-6.12.1/arch/powerpc/kvm/
Dbook3s_hv_uvmem.c233 struct kvm *kvm; member
248 int kvmppc_uvmem_slot_init(struct kvm *kvm, const struct kvm_memory_slot *slot) in kvmppc_uvmem_slot_init() argument
263 mutex_lock(&kvm->arch.uvmem_lock); in kvmppc_uvmem_slot_init()
264 list_add(&p->list, &kvm->arch.uvmem_pfns); in kvmppc_uvmem_slot_init()
265 mutex_unlock(&kvm->arch.uvmem_lock); in kvmppc_uvmem_slot_init()
273 void kvmppc_uvmem_slot_free(struct kvm *kvm, const struct kvm_memory_slot *slot) in kvmppc_uvmem_slot_free() argument
277 mutex_lock(&kvm->arch.uvmem_lock); in kvmppc_uvmem_slot_free()
278 list_for_each_entry_safe(p, next, &kvm->arch.uvmem_pfns, list) { in kvmppc_uvmem_slot_free()
286 mutex_unlock(&kvm->arch.uvmem_lock); in kvmppc_uvmem_slot_free()
289 static void kvmppc_mark_gfn(unsigned long gfn, struct kvm *kvm, in kvmppc_mark_gfn() argument
[all …]
DMakefile6 ccflags-y := -Ivirt/kvm -Iarch/powerpc/kvm
8 include $(srctree)/virt/kvm/Makefile.kvm
16 kvm-e500-objs := \
26 kvm-objs-$(CONFIG_KVM_E500V2) := $(kvm-e500-objs)
28 kvm-e500mc-objs := \
38 kvm-objs-$(CONFIG_KVM_E500MC) := $(kvm-e500mc-objs)
40 kvm-pr-y := \
53 kvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) += \
58 kvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) += \
62 kvm-hv-y += \
[all …]
Dbook3s_64_mmu_hv.c47 static long kvmppc_virtmode_do_h_enter(struct kvm *kvm, unsigned long flags,
53 struct kvm *kvm; member
118 void kvmppc_set_hpt(struct kvm *kvm, struct kvm_hpt_info *info) in kvmppc_set_hpt() argument
120 atomic64_set(&kvm->arch.mmio_update, 0); in kvmppc_set_hpt()
121 kvm->arch.hpt = *info; in kvmppc_set_hpt()
122 kvm->arch.sdr1 = __pa(info->virt) | (info->order - 18); in kvmppc_set_hpt()
125 info->virt, (long)info->order, kvm->arch.lpid); in kvmppc_set_hpt()
128 int kvmppc_alloc_reset_hpt(struct kvm *kvm, int order) in kvmppc_alloc_reset_hpt() argument
133 mutex_lock(&kvm->arch.mmu_setup_lock); in kvmppc_alloc_reset_hpt()
134 if (kvm->arch.mmu_ready) { in kvmppc_alloc_reset_hpt()
[all …]
Dbook3s_64_mmu_radix.c102 int lpid = vcpu->kvm->arch.lpid; in kvmhv_copy_tofrom_guest_radix()
146 struct kvm *kvm = vcpu->kvm; in kvmppc_mmu_walk_radix_tree() local
180 ret = kvm_read_guest(kvm, addr, &rpte, sizeof(rpte)); in kvmppc_mmu_walk_radix_tree()
242 struct kvm *kvm = vcpu->kvm; in kvmppc_mmu_radix_translate_table() local
258 ret = kvm_read_guest(kvm, ptbl, &entry, sizeof(entry)); in kvmppc_mmu_radix_translate_table()
289 vcpu->kvm->arch.process_table, pid, &pte); in kvmppc_mmu_radix_xlate()
315 void kvmppc_radix_tlbie_page(struct kvm *kvm, unsigned long addr, in kvmppc_radix_tlbie_page() argument
353 static void kvmppc_radix_flush_pwc(struct kvm *kvm, u64 lpid) in kvmppc_radix_flush_pwc() argument
374 static unsigned long kvmppc_radix_update_pte(struct kvm *kvm, pte_t *ptep, in kvmppc_radix_update_pte() argument
381 static void kvmppc_radix_set_pte_at(struct kvm *kvm, unsigned long addr, in kvmppc_radix_set_pte_at() argument
[all …]
/linux-6.12.1/arch/riscv/kvm/
Daia_device.c15 static void unlock_vcpus(struct kvm *kvm, int vcpu_lock_idx) in unlock_vcpus() argument
20 tmp_vcpu = kvm_get_vcpu(kvm, vcpu_lock_idx); in unlock_vcpus()
25 static void unlock_all_vcpus(struct kvm *kvm) in unlock_all_vcpus() argument
27 unlock_vcpus(kvm, atomic_read(&kvm->online_vcpus) - 1); in unlock_all_vcpus()
30 static bool lock_all_vcpus(struct kvm *kvm) in lock_all_vcpus() argument
35 kvm_for_each_vcpu(c, tmp_vcpu, kvm) { in lock_all_vcpus()
37 unlock_vcpus(kvm, c - 1); in lock_all_vcpus()
49 struct kvm *kvm = dev->kvm; in aia_create() local
52 if (irqchip_in_kernel(kvm)) in aia_create()
56 if (!lock_all_vcpus(kvm)) in aia_create()
[all …]
DMakefile8 include $(srctree)/virt/kvm/Makefile.kvm
10 obj-$(CONFIG_KVM) += kvm.o
12 kvm-y += main.o
13 kvm-y += vm.o
14 kvm-y += vmid.o
15 kvm-y += tlb.o
16 kvm-y += mmu.o
17 kvm-y += vcpu.o
18 kvm-y += vcpu_exit.o
19 kvm-y += vcpu_fp.o
[all …]
Dmmu.c97 static bool gstage_get_leaf_entry(struct kvm *kvm, gpa_t addr, in gstage_get_leaf_entry() argument
104 ptep = (pte_t *)kvm->arch.pgd; in gstage_get_leaf_entry()
126 static void gstage_remote_tlb_flush(struct kvm *kvm, u32 level, gpa_t addr) in gstage_remote_tlb_flush() argument
134 kvm_riscv_hfence_gvma_vmid_gpa(kvm, -1UL, 0, addr, BIT(order), order); in gstage_remote_tlb_flush()
137 static int gstage_set_pte(struct kvm *kvm, u32 level, in gstage_set_pte() argument
142 pte_t *next_ptep = (pte_t *)kvm->arch.pgd; in gstage_set_pte()
172 gstage_remote_tlb_flush(kvm, current_level, addr); in gstage_set_pte()
177 static int gstage_map_page(struct kvm *kvm, in gstage_map_page() argument
219 return gstage_set_pte(kvm, level, pcache, gpa, &new_pte); in gstage_map_page()
228 static void gstage_op_pte(struct kvm *kvm, gpa_t addr, in gstage_op_pte() argument
[all …]
Dvm.c30 int kvm_arch_init_vm(struct kvm *kvm, unsigned long type) in kvm_arch_init_vm() argument
34 r = kvm_riscv_gstage_alloc_pgd(kvm); in kvm_arch_init_vm()
38 r = kvm_riscv_gstage_vmid_init(kvm); in kvm_arch_init_vm()
40 kvm_riscv_gstage_free_pgd(kvm); in kvm_arch_init_vm()
44 kvm_riscv_aia_init_vm(kvm); in kvm_arch_init_vm()
46 kvm_riscv_guest_timer_init(kvm); in kvm_arch_init_vm()
51 void kvm_arch_destroy_vm(struct kvm *kvm) in kvm_arch_destroy_vm() argument
53 kvm_destroy_vcpus(kvm); in kvm_arch_destroy_vm()
55 kvm_riscv_aia_destroy_vm(kvm); in kvm_arch_destroy_vm()
58 int kvm_vm_ioctl_irq_line(struct kvm *kvm, struct kvm_irq_level *irql, in kvm_vm_ioctl_irq_line() argument
[all …]
/linux-6.12.1/arch/arm64/kvm/
Dnested.c30 void kvm_init_nested(struct kvm *kvm) in kvm_init_nested() argument
32 kvm->arch.nested_mmus = NULL; in kvm_init_nested()
33 kvm->arch.nested_mmus_size = 0; in kvm_init_nested()
36 static int init_nested_s2_mmu(struct kvm *kvm, struct kvm_s2_mmu *mmu) in init_nested_s2_mmu() argument
48 return kvm_init_stage2_mmu(kvm, mmu, kvm_get_pa_bits(kvm)); in init_nested_s2_mmu()
53 struct kvm *kvm = vcpu->kvm; in kvm_vcpu_init_nested() local
63 num_mmus = atomic_read(&kvm->online_vcpus) * S2_MMU_PER_VCPU; in kvm_vcpu_init_nested()
64 tmp = kvrealloc(kvm->arch.nested_mmus, in kvm_vcpu_init_nested()
65 size_mul(sizeof(*kvm->arch.nested_mmus), num_mmus), in kvm_vcpu_init_nested()
74 if (kvm->arch.nested_mmus != tmp) in kvm_vcpu_init_nested()
[all …]
/linux-6.12.1/arch/loongarch/kvm/
Dvm.c25 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()
[all …]
Dmmu.c26 static inline void kvm_ptw_prepare(struct kvm *kvm, kvm_ptw_ctx *ctx) in kvm_ptw_prepare() argument
28 ctx->level = kvm->arch.root_level; in kvm_ptw_prepare()
30 ctx->invalid_ptes = kvm->arch.invalid_ptes; in kvm_ptw_prepare()
31 ctx->pte_shifts = kvm->arch.pte_shifts; in kvm_ptw_prepare()
34 ctx->opaque = kvm; in kvm_ptw_prepare()
90 struct kvm *kvm; in kvm_flush_pte() local
92 kvm = ctx->opaque; in kvm_flush_pte()
94 kvm->stat.hugepages--; in kvm_flush_pte()
96 kvm->stat.pages--; in kvm_flush_pte()
149 static kvm_pte_t *kvm_populate_gpa(struct kvm *kvm, in kvm_populate_gpa() argument
[all …]

12345678910>>...15