Home
last modified time | relevance | path

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

12345678910

/Linux-v4.19/include/linux/
Dkvm_host.h174 int kvm_io_bus_register_dev(struct kvm *kvm, enum kvm_bus bus_idx, gpa_t addr,
176 void kvm_io_bus_unregister_dev(struct kvm *kvm, enum kvm_bus bus_idx,
178 struct kvm_io_device *kvm_io_bus_get_dev(struct kvm *kvm, enum kvm_bus bus_idx,
219 struct kvm *kvm; member
336 struct kvm *kvm, int irq_source_id, int level,
397 struct kvm { struct
485 static inline struct kvm_io_bus *kvm_get_bus(struct kvm *kvm, enum kvm_bus idx) in kvm_get_bus() argument
487 return srcu_dereference_check(kvm->buses[idx], &kvm->srcu, in kvm_get_bus()
488 lockdep_is_held(&kvm->slots_lock) || in kvm_get_bus()
489 !refcount_read(&kvm->users_count)); in kvm_get_bus()
[all …]
/Linux-v4.19/arch/x86/kvm/
Dirq_comm.c42 struct kvm *kvm, int irq_source_id, int level, in kvm_set_pic_irq() argument
45 struct kvm_pic *pic = kvm->arch.vpic; in kvm_set_pic_irq()
50 struct kvm *kvm, int irq_source_id, int level, in kvm_set_ioapic_irq() argument
53 struct kvm_ioapic *ioapic = kvm->arch.vioapic; in kvm_set_ioapic_irq()
58 int kvm_irq_delivery_to_apic(struct kvm *kvm, struct kvm_lapic *src, in kvm_irq_delivery_to_apic() argument
72 if (kvm_irq_delivery_to_apic_fast(kvm, src, irq, &r, dest_map)) in kvm_irq_delivery_to_apic()
77 kvm_for_each_vcpu(i, vcpu, kvm) { in kvm_irq_delivery_to_apic()
106 lowest = kvm_get_vcpu(kvm, idx); in kvm_irq_delivery_to_apic()
115 void kvm_set_msi_irq(struct kvm *kvm, struct kvm_kernel_irq_routing_entry *e, in kvm_set_msi_irq() argument
118 trace_kvm_msi_set_irq(e->msi.address_lo | (kvm->arch.x2apic_format ? in kvm_set_msi_irq()
[all …]
Dirq.h38 struct kvm;
66 struct kvm *kvm; member
76 int kvm_pic_init(struct kvm *kvm);
77 void kvm_pic_destroy(struct kvm *kvm);
78 int kvm_pic_read_irq(struct kvm *kvm);
81 static inline int pic_in_kernel(struct kvm *kvm) in pic_in_kernel() argument
83 int mode = kvm->arch.irqchip_mode; in pic_in_kernel()
90 static inline int irqchip_split(struct kvm *kvm) in irqchip_split() argument
92 int mode = kvm->arch.irqchip_mode; in irqchip_split()
99 static inline int irqchip_kernel(struct kvm *kvm) in irqchip_kernel() argument
[all …]
/Linux-v4.19/virt/kvm/
Deventfd.c52 struct kvm *kvm = irqfd->kvm; in irqfd_inject() local
55 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 1, in irqfd_inject()
57 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 0, in irqfd_inject()
60 kvm_set_irq(kvm, KVM_IRQFD_RESAMPLE_IRQ_SOURCE_ID, in irqfd_inject()
73 struct kvm *kvm; in irqfd_resampler_ack() local
79 kvm = resampler->kvm; in irqfd_resampler_ack()
81 kvm_set_irq(kvm, KVM_IRQFD_RESAMPLE_IRQ_SOURCE_ID, in irqfd_resampler_ack()
84 idx = srcu_read_lock(&kvm->irq_srcu); in irqfd_resampler_ack()
89 srcu_read_unlock(&kvm->irq_srcu, idx); in irqfd_resampler_ack()
96 struct kvm *kvm = resampler->kvm; in irqfd_resampler_shutdown() local
[all …]
Dkvm_main.c139 static void kvm_uevent_notify_change(unsigned int type, struct kvm *kvm);
143 __weak int kvm_arch_mmu_notifier_invalidate_range(struct kvm *kvm, in kvm_arch_mmu_notifier_invalidate_range() argument
212 bool kvm_make_vcpus_request_mask(struct kvm *kvm, unsigned int req, in kvm_make_vcpus_request_mask() argument
221 kvm_for_each_vcpu(i, vcpu, kvm) { in kvm_make_vcpus_request_mask()
242 bool kvm_make_all_cpus_request(struct kvm *kvm, unsigned int req) in kvm_make_all_cpus_request() argument
251 called = kvm_make_vcpus_request_mask(kvm, req, vcpu_bitmap, cpus); in kvm_make_all_cpus_request()
258 void kvm_flush_remote_tlbs(struct kvm *kvm) in kvm_flush_remote_tlbs() argument
264 long dirty_count = smp_load_acquire(&kvm->tlbs_dirty); in kvm_flush_remote_tlbs()
277 if (!kvm_arch_flush_remote_tlb(kvm) in kvm_flush_remote_tlbs()
278 || kvm_make_all_cpus_request(kvm, KVM_REQ_TLB_FLUSH)) in kvm_flush_remote_tlbs()
[all …]
Dirqchip.c34 int kvm_irq_map_gsi(struct kvm *kvm, in kvm_irq_map_gsi() argument
41 irq_rt = srcu_dereference_check(kvm->irq_routing, &kvm->irq_srcu, in kvm_irq_map_gsi()
42 lockdep_is_held(&kvm->irq_lock)); in kvm_irq_map_gsi()
53 int kvm_irq_map_chip_pin(struct kvm *kvm, unsigned irqchip, unsigned pin) in kvm_irq_map_chip_pin() argument
57 irq_rt = srcu_dereference(kvm->irq_routing, &kvm->irq_srcu); in kvm_irq_map_chip_pin()
61 int kvm_send_userspace_msi(struct kvm *kvm, struct kvm_msi *msi) in kvm_send_userspace_msi() argument
65 if (!irqchip_in_kernel(kvm) || (msi->flags & ~KVM_MSI_VALID_DEVID)) in kvm_send_userspace_msi()
74 return kvm_set_msi(&route, kvm, KVM_USERSPACE_IRQ_SOURCE_ID, 1, false); in kvm_send_userspace_msi()
83 int kvm_set_irq(struct kvm *kvm, int irq_source_id, u32 irq, int level, in kvm_set_irq() argument
95 idx = srcu_read_lock(&kvm->irq_srcu); in kvm_set_irq()
[all …]
Dcoalesced_mmio.c54 ring = dev->kvm->coalesced_mmio_ring; in coalesced_mmio_has_room()
69 struct kvm_coalesced_mmio_ring *ring = dev->kvm->coalesced_mmio_ring; in coalesced_mmio_write()
74 spin_lock(&dev->kvm->ring_lock); in coalesced_mmio_write()
77 spin_unlock(&dev->kvm->ring_lock); in coalesced_mmio_write()
88 spin_unlock(&dev->kvm->ring_lock); in coalesced_mmio_write()
106 int kvm_coalesced_mmio_init(struct kvm *kvm) in kvm_coalesced_mmio_init() argument
117 kvm->coalesced_mmio_ring = page_address(page); in kvm_coalesced_mmio_init()
124 spin_lock_init(&kvm->ring_lock); in kvm_coalesced_mmio_init()
125 INIT_LIST_HEAD(&kvm->coalesced_zones); in kvm_coalesced_mmio_init()
131 void kvm_coalesced_mmio_free(struct kvm *kvm) in kvm_coalesced_mmio_free() argument
[all …]
Dcoalesced_mmio.h21 struct kvm *kvm; member
25 int kvm_coalesced_mmio_init(struct kvm *kvm);
26 void kvm_coalesced_mmio_free(struct kvm *kvm);
27 int kvm_vm_ioctl_register_coalesced_mmio(struct kvm *kvm,
29 int kvm_vm_ioctl_unregister_coalesced_mmio(struct kvm *kvm,
34 static inline int kvm_coalesced_mmio_init(struct kvm *kvm) { return 0; } in kvm_coalesced_mmio_init() argument
35 static inline void kvm_coalesced_mmio_free(struct kvm *kvm) { } in kvm_coalesced_mmio_free() argument
/Linux-v4.19/virt/kvm/arm/vgic/
Dvgic-init.c62 void kvm_vgic_early_init(struct kvm *kvm) in kvm_vgic_early_init() argument
64 struct vgic_dist *dist = &kvm->arch.vgic; in kvm_vgic_early_init()
80 int kvm_vgic_create(struct kvm *kvm, u32 type) in kvm_vgic_create() argument
85 if (irqchip_in_kernel(kvm)) in kvm_vgic_create()
104 kvm_for_each_vcpu(i, vcpu, kvm) { in kvm_vgic_create()
110 kvm_for_each_vcpu(i, vcpu, kvm) { in kvm_vgic_create()
117 kvm->arch.max_vcpus = VGIC_V2_MAX_CPUS; in kvm_vgic_create()
119 kvm->arch.max_vcpus = VGIC_V3_MAX_CPUS; in kvm_vgic_create()
121 if (atomic_read(&kvm->online_vcpus) > kvm->arch.max_vcpus) { in kvm_vgic_create()
126 kvm->arch.vgic.in_kernel = true; in kvm_vgic_create()
[all …]
Dvgic.h173 struct vgic_irq *vgic_get_irq(struct kvm *kvm, struct kvm_vcpu *vcpu,
175 void vgic_put_irq(struct kvm *kvm, struct vgic_irq *irq);
179 bool vgic_queue_irq_unlock(struct kvm *kvm, struct vgic_irq *irq,
181 void vgic_kick_vcpus(struct kvm *kvm);
183 int vgic_check_ioaddr(struct kvm *kvm, phys_addr_t *ioaddr,
200 int vgic_v2_map_resources(struct kvm *kvm);
201 int vgic_register_dist_iodev(struct kvm *kvm, gpa_t dist_base_address,
228 int vgic_v3_map_resources(struct kvm *kvm);
229 int vgic_v3_lpi_sync_pending_status(struct kvm *kvm, struct vgic_irq *irq);
230 int vgic_v3_save_pending_tables(struct kvm *kvm);
[all …]
Dvgic-debug.c66 static void iter_init(struct kvm *kvm, struct vgic_state_iter *iter, in iter_init() argument
69 int nr_cpus = atomic_read(&kvm->online_vcpus); in iter_init()
74 iter->nr_spis = kvm->arch.vgic.nr_spis; in iter_init()
75 if (kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) { in iter_init()
76 iter->nr_lpis = vgic_copy_lpi_list(kvm, NULL, &iter->lpi_array); in iter_init()
96 struct kvm *kvm = (struct kvm *)s->private; in vgic_debug_start() local
99 mutex_lock(&kvm->lock); in vgic_debug_start()
100 iter = kvm->arch.vgic.iter; in vgic_debug_start()
112 iter_init(kvm, iter, *pos); in vgic_debug_start()
113 kvm->arch.vgic.iter = iter; in vgic_debug_start()
[all …]
Dvgic-its.c40 static int update_lpi_config(struct kvm *kvm, struct vgic_irq *irq,
50 static struct vgic_irq *vgic_add_lpi(struct kvm *kvm, u32 intid, in vgic_add_lpi() argument
53 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_add_lpi()
54 struct vgic_irq *irq = vgic_get_irq(kvm, NULL, intid), *oldirq; in vgic_add_lpi()
111 ret = update_lpi_config(kvm, irq, NULL, false); in vgic_add_lpi()
115 ret = vgic_v3_lpi_sync_pending_status(kvm, irq); in vgic_add_lpi()
283 static int update_lpi_config(struct kvm *kvm, struct vgic_irq *irq, in update_lpi_config() argument
286 u64 propbase = GICR_PROPBASER_ADDRESS(kvm->arch.vgic.propbaser); in update_lpi_config()
291 ret = kvm_read_guest_lock(kvm, propbase + irq->intid - GIC_LPI_OFFSET, in update_lpi_config()
304 vgic_queue_irq_unlock(kvm, irq, flags); in update_lpi_config()
[all …]
Dvgic-kvm-device.c25 int vgic_check_ioaddr(struct kvm *kvm, phys_addr_t *ioaddr, in vgic_check_ioaddr() argument
40 static int vgic_check_type(struct kvm *kvm, int type_needed) in vgic_check_type() argument
42 if (kvm->arch.vgic.vgic_model != type_needed) in vgic_check_type()
64 int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64 *addr, bool write) in kvm_vgic_addr() argument
67 struct vgic_dist *vgic = &kvm->arch.vgic; in kvm_vgic_addr()
71 mutex_lock(&kvm->lock); in kvm_vgic_addr()
74 r = vgic_check_type(kvm, KVM_DEV_TYPE_ARM_VGIC_V2); in kvm_vgic_addr()
79 r = vgic_check_type(kvm, KVM_DEV_TYPE_ARM_VGIC_V2); in kvm_vgic_addr()
84 r = vgic_check_type(kvm, KVM_DEV_TYPE_ARM_VGIC_V3); in kvm_vgic_addr()
91 r = vgic_check_type(kvm, KVM_DEV_TYPE_ARM_VGIC_V3); in kvm_vgic_addr()
[all …]
/Linux-v4.19/tools/perf/
Dbuiltin-kvm.c96 static const char *get_exit_reason(struct perf_kvm_stat *kvm, in get_exit_reason() argument
107 (unsigned long long)exit_code, kvm->exit_reasons_isa); in get_exit_reason()
111 void exit_event_decode_key(struct perf_kvm_stat *kvm, in exit_event_decode_key() argument
115 const char *exit_reason = get_exit_reason(kvm, key->exit_reasons, in exit_event_decode_key()
121 static bool register_kvm_events_ops(struct perf_kvm_stat *kvm) in register_kvm_events_ops() argument
126 if (!strcmp(events_ops->name, kvm->report_event)) { in register_kvm_events_ops()
127 kvm->events_ops = events_ops->ops; in register_kvm_events_ops()
142 static void init_kvm_event_record(struct perf_kvm_stat *kvm) in init_kvm_event_record() argument
147 INIT_LIST_HEAD(&kvm->kvm_events_cache[i]); in init_kvm_event_record()
219 static struct kvm_event *find_create_kvm_event(struct perf_kvm_stat *kvm, in find_create_kvm_event() argument
[all …]
/Linux-v4.19/arch/powerpc/kvm/
DMakefile8 ccflags-y := -Ivirt/kvm -Iarch/powerpc/kvm
9 KVM := ../../../virt/kvm
26 kvm-e500-objs := \
36 kvm-objs-$(CONFIG_KVM_E500V2) := $(kvm-e500-objs)
38 kvm-e500mc-objs := \
48 kvm-objs-$(CONFIG_KVM_E500MC) := $(kvm-e500mc-objs)
50 kvm-book3s_64-builtin-objs-$(CONFIG_SPAPR_TCE_IOMMU) := \
53 kvm-pr-y := \
66 kvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) += \
70 kvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) += \
[all …]
Dbook3s_64_mmu_hv.c56 static long kvmppc_virtmode_do_h_enter(struct kvm *kvm, unsigned long flags,
62 struct kvm *kvm; member
127 void kvmppc_set_hpt(struct kvm *kvm, struct kvm_hpt_info *info) in kvmppc_set_hpt() argument
129 atomic64_set(&kvm->arch.mmio_update, 0); in kvmppc_set_hpt()
130 kvm->arch.hpt = *info; in kvmppc_set_hpt()
131 kvm->arch.sdr1 = __pa(info->virt) | (info->order - 18); in kvmppc_set_hpt()
134 info->virt, (long)info->order, kvm->arch.lpid); in kvmppc_set_hpt()
137 long kvmppc_alloc_reset_hpt(struct kvm *kvm, int order) in kvmppc_alloc_reset_hpt() argument
142 mutex_lock(&kvm->lock); in kvmppc_alloc_reset_hpt()
143 if (kvm->arch.mmu_ready) { in kvmppc_alloc_reset_hpt()
[all …]
Dbook3s_64_mmu_radix.c32 struct kvm *kvm = vcpu->kvm; in kvmppc_mmu_radix_xlate() local
53 proc_tbl_size = 1 << ((kvm->arch.process_table & PRTS_MASK) + 12); in kvmppc_mmu_radix_xlate()
58 ptbl = (kvm->arch.process_table & PRTB_MASK) + (pid * 16); in kvmppc_mmu_radix_xlate()
59 ret = kvm_read_guest(kvm, ptbl, &prte, sizeof(prte)); in kvmppc_mmu_radix_xlate()
85 ret = kvm_read_guest(kvm, root + index * 8, in kvmppc_mmu_radix_xlate()
139 static void kvmppc_radix_tlbie_page(struct kvm *kvm, unsigned long addr, in kvmppc_radix_tlbie_page() argument
148 radix__flush_tlb_lpid_page(kvm->arch.lpid, addr, psize); in kvmppc_radix_tlbie_page()
151 static void kvmppc_radix_flush_pwc(struct kvm *kvm) in kvmppc_radix_flush_pwc() argument
153 radix__flush_pwc_lpid(kvm->arch.lpid); in kvmppc_radix_flush_pwc()
156 static unsigned long kvmppc_radix_update_pte(struct kvm *kvm, pte_t *ptep, in kvmppc_radix_update_pte() argument
[all …]
/Linux-v4.19/arch/arm64/kvm/hyp/
Dtlb.c22 static void __hyp_text __tlb_switch_to_guest_vhe(struct kvm *kvm) in __tlb_switch_to_guest_vhe() argument
33 write_sysreg(kvm->arch.vttbr, vttbr_el2); in __tlb_switch_to_guest_vhe()
40 static void __hyp_text __tlb_switch_to_guest_nvhe(struct kvm *kvm) in __tlb_switch_to_guest_nvhe() argument
42 write_sysreg(kvm->arch.vttbr, vttbr_el2); in __tlb_switch_to_guest_nvhe()
51 static void __hyp_text __tlb_switch_to_host_vhe(struct kvm *kvm) in __tlb_switch_to_host_vhe() argument
61 static void __hyp_text __tlb_switch_to_host_nvhe(struct kvm *kvm) in __tlb_switch_to_host_nvhe() argument
71 void __hyp_text __kvm_tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa) in __kvm_tlb_flush_vmid_ipa() argument
76 kvm = kern_hyp_va(kvm); in __kvm_tlb_flush_vmid_ipa()
77 __tlb_switch_to_guest()(kvm); in __kvm_tlb_flush_vmid_ipa()
120 __tlb_switch_to_host()(kvm); in __kvm_tlb_flush_vmid_ipa()
[all …]
/Linux-v4.19/arch/s390/kvm/
Dkvm-s390.c60 #define VM_STAT(x) offsetof(struct kvm, stat.x), KVM_STAT_VM
258 struct kvm *kvm; in kvm_clock_sync() local
263 list_for_each_entry(kvm, &vm_list, vm_list) { in kvm_clock_sync()
264 kvm_for_each_vcpu(i, vcpu, kvm) { in kvm_clock_sync()
267 kvm->arch.epoch = vcpu->arch.sie_block->epoch; in kvm_clock_sync()
268 kvm->arch.epdx = vcpu->arch.sie_block->epdx; in kvm_clock_sync()
448 int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) in kvm_vm_ioctl_check_extension() argument
484 if (hpage && !kvm_is_ucontrol(kvm)) in kvm_vm_ioctl_check_extension()
522 static void kvm_s390_sync_dirty_log(struct kvm *kvm, in kvm_s390_sync_dirty_log() argument
528 struct gmap *gmap = kvm->arch.gmap; in kvm_s390_sync_dirty_log()
[all …]
Dkvm-s390.h42 debug_sprintf_event(d_vcpu->kvm->arch.dbf, d_loglevel, \
70 return test_bit(vcpu->vcpu_id, vcpu->kvm->arch.float_int.idle_mask); in is_vcpu_idle()
73 static inline int kvm_is_ucontrol(struct kvm *kvm) in kvm_is_ucontrol() argument
76 if (kvm->arch.gmap) in kvm_is_ucontrol()
170 static inline int test_kvm_facility(struct kvm *kvm, unsigned long nr) in test_kvm_facility() argument
172 return __test_facility(nr, kvm->arch.model.fac_mask) && in test_kvm_facility()
173 __test_facility(nr, kvm->arch.model.fac_list); in test_kvm_facility()
187 static inline int test_kvm_cpu_feat(struct kvm *kvm, unsigned long nr) in test_kvm_cpu_feat() argument
190 return test_bit_inv(nr, kvm->arch.cpu_feat); in test_kvm_cpu_feat()
194 static inline int kvm_s390_user_cpu_state_ctrl(struct kvm *kvm) in kvm_s390_user_cpu_state_ctrl() argument
[all …]
/Linux-v4.19/arch/powerpc/include/asm/
Dkvm_ppc.h131 extern struct kvm_vcpu *kvmppc_core_vcpu_create(struct kvm *kvm,
172 extern void kvmppc_set_hpt(struct kvm *kvm, struct kvm_hpt_info *info);
173 extern long kvmppc_alloc_reset_hpt(struct kvm *kvm, int order);
175 extern void kvmppc_rmap_reset(struct kvm *kvm);
176 extern long kvmppc_prepare_vrma(struct kvm *kvm,
181 extern long kvm_spapr_tce_attach_iommu_group(struct kvm *kvm, int tablefd,
183 extern void kvm_spapr_tce_release_iommu_group(struct kvm *kvm,
185 extern int kvmppc_switch_mmu_to_hpt(struct kvm *kvm);
186 extern int kvmppc_switch_mmu_to_radix(struct kvm *kvm);
187 extern void kvmppc_setup_partition_table(struct kvm *kvm);
[all …]
/Linux-v4.19/arch/arm64/kvm/
DMakefile6 ccflags-y += -Iarch/arm64/kvm -Ivirt/kvm/arm/vgic
10 KVM=../../../virt/kvm
12 obj-$(CONFIG_KVM_ARM_HOST) += kvm.o
15 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/kvm_main.o $(KVM)/coalesced_mmio.o $(KVM)/eventfd.o $(KVM)/vfi…
16 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/arm.o $(KVM)/arm/mmu.o $(KVM)/arm/mmio.o
17 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/psci.o $(KVM)/arm/perf.o
19 kvm-$(CONFIG_KVM_ARM_HOST) += inject_fault.o regmap.o va_layout.o
20 kvm-$(CONFIG_KVM_ARM_HOST) += hyp.o hyp-init.o handle_exit.o
21 kvm-$(CONFIG_KVM_ARM_HOST) += guest.o debug.o reset.o sys_regs.o sys_regs_generic_v8.o
22 kvm-$(CONFIG_KVM_ARM_HOST) += vgic-sys-reg-v3.o fpsimd.o
[all …]
/Linux-v4.19/virt/kvm/arm/
Dmmu.c65 void kvm_flush_remote_tlbs(struct kvm *kvm) in kvm_flush_remote_tlbs() argument
67 kvm_call_hyp(__kvm_tlb_flush_vmid, kvm); in kvm_flush_remote_tlbs()
70 static void kvm_tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa) in kvm_tlb_flush_vmid_ipa() argument
72 kvm_call_hyp(__kvm_tlb_flush_vmid_ipa, kvm, ipa); in kvm_tlb_flush_vmid_ipa()
109 static void stage2_dissolve_pmd(struct kvm *kvm, phys_addr_t addr, pmd_t *pmd) in stage2_dissolve_pmd() argument
115 kvm_tlb_flush_vmid_ipa(kvm, addr); in stage2_dissolve_pmd()
151 static void clear_stage2_pgd_entry(struct kvm *kvm, pgd_t *pgd, phys_addr_t addr) in clear_stage2_pgd_entry() argument
155 kvm_tlb_flush_vmid_ipa(kvm, addr); in clear_stage2_pgd_entry()
160 static void clear_stage2_pud_entry(struct kvm *kvm, pud_t *pud, phys_addr_t addr) in clear_stage2_pud_entry() argument
165 kvm_tlb_flush_vmid_ipa(kvm, addr); in clear_stage2_pud_entry()
[all …]
Darm.c119 int kvm_arch_init_vm(struct kvm *kvm, unsigned long type) in kvm_arch_init_vm() argument
126 kvm->arch.last_vcpu_ran = alloc_percpu(typeof(*kvm->arch.last_vcpu_ran)); in kvm_arch_init_vm()
127 if (!kvm->arch.last_vcpu_ran) in kvm_arch_init_vm()
131 *per_cpu_ptr(kvm->arch.last_vcpu_ran, cpu) = -1; in kvm_arch_init_vm()
133 ret = kvm_alloc_stage2_pgd(kvm); in kvm_arch_init_vm()
137 ret = create_hyp_mappings(kvm, kvm + 1, PAGE_HYP); in kvm_arch_init_vm()
141 kvm_vgic_early_init(kvm); in kvm_arch_init_vm()
144 kvm->arch.vmid_gen = 0; in kvm_arch_init_vm()
147 kvm->arch.max_vcpus = vgic_present ? in kvm_arch_init_vm()
152 kvm_free_stage2_pgd(kvm); in kvm_arch_init_vm()
[all …]
/Linux-v4.19/arch/x86/include/asm/
Dkvm_page_track.h45 void (*track_flush_slot)(struct kvm *kvm, struct kvm_memory_slot *slot,
49 void kvm_page_track_init(struct kvm *kvm);
50 void kvm_page_track_cleanup(struct kvm *kvm);
57 void kvm_slot_page_track_add_page(struct kvm *kvm,
60 void kvm_slot_page_track_remove_page(struct kvm *kvm,
67 kvm_page_track_register_notifier(struct kvm *kvm,
70 kvm_page_track_unregister_notifier(struct kvm *kvm,
74 void kvm_page_track_flush_slot(struct kvm *kvm, struct kvm_memory_slot *slot);

12345678910