Home
last modified time | relevance | path

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

1234567891011

/linux/arch/powerpc/include/asm/
H A 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/arch/x86/kvm/mmu/
H A 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 …]
H A 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_roots(kvm, KVM_VALID_ROOTS); in kvm_mmu_uninit_tdp_mmu()
41 kvm_tdp_mmu_zap_invalidated_roots(kvm, false); in kvm_mmu_uninit_tdp_mmu()
44 KVM_MMU_WARN_ON(atomic64_read(&kvm->arch.tdp_mmu_pages)); in kvm_mmu_uninit_tdp_mmu()
[all …]
H A 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 …]
H A 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);
30 static inline enum kvm_tdp_mmu_root_types kvm_gfn_range_filter_to_root_types(struct kvm *kvm, in kvm_gfn_range_filter_to_root_types() argument
35 if (!kvm_has_mirrored_tdp(kvm)) in kvm_gfn_range_filter_to_root_types()
51 if (unlikely(!kvm_is_addr_direct(vcpu->kvm, fault->addr))) in tdp_mmu_get_root_for_fault()
66 bool kvm_tdp_mmu_zap_leafs(struct kvm *kvm, gfn_t start, gfn_t end, bool flush);
67 bool kvm_tdp_mmu_zap_possible_nx_huge_page(struct kvm *kvm,
69 void kvm_tdp_mmu_zap_all(struct kvm *kvm);
70 void kvm_tdp_mmu_invalidate_roots(struct kvm *kvm,
[all …]
H A Dmmu.c187 static int mmu_page_zap_pte(struct kvm *kvm, struct kvm_mmu_page *sp,
293 static void kvm_flush_remote_tlbs_sptep(struct kvm *kvm, u64 *sptep) in kvm_flush_remote_tlbs_sptep() argument
298 kvm_flush_remote_tlbs_gfn(kvm, gfn, sp->role.level); in kvm_flush_remote_tlbs_sptep()
531 static u64 mmu_spte_clear_track_bits(struct kvm *kvm, u64 *sptep) in mmu_spte_clear_track_bits() argument
545 kvm_update_page_stats(kvm, level, -1); in mmu_spte_clear_track_bits()
612 if (kvm_has_mirrored_tdp(vcpu->kvm)) { in mmu_topup_memory_caches()
725 static bool kvm_gfn_is_lpage_allowed(struct kvm *kvm, in kvm_gfn_is_lpage_allowed() argument
736 if (kvm_arch_nr_memslot_as_ids(kvm) > 1) { in kvm_gfn_is_lpage_allowed()
737 other_slot = __gfn_to_memslot(__kvm_memslots(kvm, slot->as_id ^ 1), gfn); in kvm_gfn_is_lpage_allowed()
778 static void account_shadowed(struct kvm *kvm, struct kvm_mmu_page *sp) in account_shadowed() argument
[all …]
/linux/arch/loongarch/kvm/
H A Dvm.c28 static void kvm_vm_init_features(struct kvm *kvm) in kvm_vm_init_features() argument
33 kvm->arch.kvm_features |= BIT(KVM_LOONGARCH_VM_FEAT_LSX); in kvm_vm_init_features()
35 kvm->arch.kvm_features |= BIT(KVM_LOONGARCH_VM_FEAT_LASX); in kvm_vm_init_features()
37 kvm->arch.kvm_features |= BIT(KVM_LOONGARCH_VM_FEAT_X86BT); in kvm_vm_init_features()
39 kvm->arch.kvm_features |= BIT(KVM_LOONGARCH_VM_FEAT_ARMBT); in kvm_vm_init_features()
41 kvm->arch.kvm_features |= BIT(KVM_LOONGARCH_VM_FEAT_MIPSBT); in kvm_vm_init_features()
43 kvm->arch.kvm_features |= BIT(KVM_LOONGARCH_VM_FEAT_PTW); in kvm_vm_init_features()
45 kvm->arch.kvm_features |= BIT(KVM_LOONGARCH_VM_FEAT_MSGINT); in kvm_vm_init_features()
49 kvm->arch.kvm_features |= BIT(KVM_LOONGARCH_VM_FEAT_PMU); in kvm_vm_init_features()
52 kvm->arch.pv_features |= BIT(KVM_FEATURE_IPI); in kvm_vm_init_features()
[all …]
H A 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 …]
/linux/virt/kvm/
H A Deventfd.c37 kvm_arch_irqfd_allowed(struct kvm *kvm, struct kvm_irqfd *args) in kvm_arch_irqfd_allowed() argument
47 struct kvm *kvm = irqfd->kvm; in irqfd_inject() local
50 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 1, in irqfd_inject()
52 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 0, in irqfd_inject()
55 kvm_set_irq(kvm, KVM_IRQFD_RESAMPLE_IRQ_SOURCE_ID, in irqfd_inject()
64 srcu_read_lock_held(&resampler->kvm->irq_srcu)) in irqfd_resampler_notify()
77 struct kvm *kvm; in irqfd_resampler_ack() local
82 kvm = resampler->kvm; in irqfd_resampler_ack()
84 kvm_set_irq(kvm, KVM_IRQFD_RESAMPLE_IRQ_SOURCE_ID, in irqfd_resampler_ack()
87 idx = srcu_read_lock(&kvm->irq_srcu); in irqfd_resampler_ack()
[all …]
H A Dkvm_main.c151 static void kvm_uevent_notify_change(unsigned int type, struct kvm *kvm);
157 __weak void kvm_arch_guest_memory_reclaimed(struct kvm *kvm) in kvm_arch_guest_memory_reclaimed() argument
244 bool kvm_make_vcpus_request_mask(struct kvm *kvm, unsigned int req, in kvm_make_vcpus_request_mask() argument
258 vcpu = kvm_get_vcpu(kvm, i); in kvm_make_vcpus_request_mask()
270 bool kvm_make_all_cpus_request(struct kvm *kvm, unsigned int req) in kvm_make_all_cpus_request() argument
283 kvm_for_each_vcpu(i, vcpu, kvm) in kvm_make_all_cpus_request()
293 void kvm_flush_remote_tlbs(struct kvm *kvm) in kvm_flush_remote_tlbs() argument
295 ++kvm->stat.generic.remote_tlb_flush_requests; in kvm_flush_remote_tlbs()
308 if (!kvm_arch_flush_remote_tlbs(kvm) in kvm_flush_remote_tlbs()
309 || kvm_make_all_cpus_request(kvm, KVM_REQ_TLB_FLUSH)) in kvm_flush_remote_tlbs()
[all …]
H A Dkvm_mm.h6 #include <linux/kvm.h>
17 #define KVM_MMU_LOCK_INIT(kvm) rwlock_init(&(kvm)->mmu_lock)
18 #define KVM_MMU_LOCK(kvm) write_lock(&(kvm)->mmu_lock) argument
19 #define KVM_MMU_UNLOCK(kvm) write_unlock(&(kvm)->mmu_lock) argument
21 #define KVM_MMU_LOCK_INIT(kvm) spin_lock_init(&(kvm)->mmu_lock)
22 #define KVM_MMU_LOCK(kvm) spin_loc
14 KVM_MMU_LOCK_INIT(kvm) global() argument
15 KVM_MMU_LOCK(kvm) global() argument
16 KVM_MMU_UNLOCK(kvm) global() argument
20 KVM_MMU_UNLOCK(kvm) global() argument
63 gfn_to_pfn_cache_invalidate_start(struct kvm * kvm,unsigned long start,unsigned long end) gfn_to_pfn_cache_invalidate_start() argument
83 kvm_gmem_bind(struct kvm * kvm,struct kvm_memory_slot * slot,unsigned int fd,loff_t offset) kvm_gmem_bind() argument
[all...]
H A Dirqchip.c21 int kvm_irq_map_gsi(struct kvm *kvm, in kvm_irq_map_gsi() argument
28 irq_rt = srcu_dereference_check(kvm->irq_routing, &kvm->irq_srcu, in kvm_irq_map_gsi()
29 lockdep_is_held(&kvm->irq_lock)); in kvm_irq_map_gsi()
40 int kvm_irq_map_chip_pin(struct kvm *kvm, unsigned irqchip, unsigned pin) in kvm_irq_map_chip_pin() argument
44 irq_rt = srcu_dereference(kvm->irq_routing, &kvm->irq_srcu); in kvm_irq_map_chip_pin()
48 int kvm_send_userspace_msi(struct kvm *kvm, struct kvm_msi *msi) in kvm_send_userspace_msi() argument
52 if (!kvm_arch_irqchip_in_kernel(kvm) || (msi->flags & ~KVM_MSI_VALID_DEVID)) in kvm_send_userspace_msi()
61 return kvm_set_msi(&route, kvm, KVM_USERSPACE_IRQ_SOURCE_ID, 1, false); in kvm_send_userspace_msi()
70 int kvm_set_irq(struct kvm *kvm, int irq_source_id, u32 irq, int level, in kvm_set_irq() argument
82 idx = srcu_read_lock(&kvm->irq_srcu); in kvm_set_irq()
[all …]
/linux/arch/powerpc/kvm/
H A 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 …]
H A 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 …]
H A 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 …]
H A 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 …]
/linux/arch/riscv/kvm/
H A Dvm.c31 int kvm_arch_init_vm(struct kvm *kvm, unsigned long type) in kvm_arch_init_vm() argument
35 r = kvm_riscv_mmu_alloc_pgd(kvm); in kvm_arch_init_vm()
39 r = kvm_riscv_gstage_vmid_init(kvm); in kvm_arch_init_vm()
41 kvm_riscv_mmu_free_pgd(kvm); in kvm_arch_init_vm()
45 kvm_riscv_aia_init_vm(kvm); in kvm_arch_init_vm()
47 kvm_riscv_guest_timer_init(kvm); in kvm_arch_init_vm()
52 void kvm_arch_destroy_vm(struct kvm *kvm) in kvm_arch_destroy_vm() argument
54 kvm_destroy_vcpus(kvm); in kvm_arch_destroy_vm()
56 kvm_riscv_aia_destroy_vm(kvm); in kvm_arch_destroy_vm()
59 int kvm_vm_ioctl_irq_line(struct kvm *kvm, struct kvm_irq_level *irql, in kvm_vm_ioctl_irq_line() argument
[all …]
H A Dmmu.c19 static void mmu_wp_memory_region(struct kvm *kvm, int slot) in mmu_wp_memory_region() argument
21 struct kvm_memslots *slots = kvm_memslots(kvm); in mmu_wp_memory_region()
28 kvm_riscv_gstage_init(&gstage, kvm); in mmu_wp_memory_region()
30 write_lock(&kvm->mmu_lock); in mmu_wp_memory_region()
32 write_unlock(&kvm->mmu_lock); in mmu_wp_memory_region()
34 kvm_flush_remote_tlbs_memslot(kvm, memslot); in mmu_wp_memory_region()
37 int kvm_riscv_mmu_ioremap(struct kvm *kvm, gpa_t gpa, phys_addr_t hpa, in kvm_riscv_mmu_ioremap() argument
44 unsigned long pgd_levels = kvm->arch.pgd_levels; in kvm_riscv_mmu_ioremap()
52 kvm_riscv_gstage_init(&gstage, kvm); in kvm_riscv_mmu_ioremap()
71 write_lock(&kvm->mmu_lock); in kvm_riscv_mmu_ioremap()
[all …]
/linux/arch/x86/kvm/
H A Dirq.h27 struct kvm;
55 struct kvm *kvm; member
64 int kvm_pic_init(struct kvm *kvm);
65 void kvm_pic_destroy(struct kvm *kvm);
66 int kvm_pic_read_irq(struct kvm *kvm);
68 int kvm_pic_set_irq(struct kvm_kernel_irq_routing_entry *e, struct kvm *kvm,
71 int kvm_setup_default_ioapic_and_pic_routing(struct kvm *kvm);
73 int kvm_vm_ioctl_get_irqchip(struct kvm *kvm, struct kvm_irqchip *chip);
74 int kvm_vm_ioctl_set_irqchip(struct kvm *kvm, struct kvm_irqchip *chip);
76 static inline int irqchip_full(struct kvm *kvm) in irqchip_full() argument
[all …]
H A Dirq.c82 if (pic_in_kernel(v->kvm)) in kvm_cpu_has_extint()
83 return v->kvm->arch.vpic->output; in kvm_cpu_has_extint()
86 WARN_ON_ONCE(!irqchip_split(v->kvm)); in kvm_cpu_has_extint()
140 return v->kvm->arch.xen.upcall_vector; in kvm_cpu_get_extint()
144 if (pic_in_kernel(v->kvm)) in kvm_cpu_get_extint()
145 return kvm_pic_read_irq(v->kvm); /* PIC */ in kvm_cpu_get_extint()
148 WARN_ON_ONCE(!irqchip_split(v->kvm)); in kvm_cpu_get_extint()
186 bool kvm_arch_irqfd_allowed(struct kvm *kvm, struct kvm_irqfd *args) in kvm_arch_irqfd_allowed() argument
190 return resample ? irqchip_full(kvm) : irqchip_in_kernel(kvm); in kvm_arch_irqfd_allowed()
193 bool kvm_arch_irqchip_in_kernel(struct kvm *kvm) in kvm_arch_irqchip_in_kernel() argument
[all …]
/linux/arch/arm64/kvm/
H A Dpkvm.c88 static void __pkvm_destroy_hyp_vm(struct kvm *kvm) in __pkvm_destroy_hyp_vm() argument
90 if (pkvm_hyp_vm_is_created(kvm)) { in __pkvm_destroy_hyp_vm()
92 kvm->arch.pkvm.handle)); in __pkvm_destroy_hyp_vm()
93 } else if (kvm->arch.pkvm.handle) { in __pkvm_destroy_hyp_vm()
98 kvm_call_hyp_nvhe(__pkvm_unreserve_vm, kvm->arch.pkvm.handle); in __pkvm_destroy_hyp_vm()
101 kvm->arch.pkvm.handle = 0; in __pkvm_destroy_hyp_vm()
102 kvm->arch.pkvm.is_created = false; in __pkvm_destroy_hyp_vm()
103 free_hyp_memcache(&kvm->arch.pkvm.teardown_mc); in __pkvm_destroy_hyp_vm()
104 free_hyp_memcache(&kvm->arch.pkvm.stage2_teardown_mc); in __pkvm_destroy_hyp_vm()
110 pkvm_handle_t handle = vcpu->kvm->arch.pkvm.handle; in __pkvm_create_hyp_vcpu()
[all …]
H A Dnested.c47 void kvm_init_nested(struct kvm *kvm) in kvm_init_nested() argument
49 kvm->arch.nested_mmus = NULL; in kvm_init_nested()
50 kvm->arch.nested_mmus_size = 0; in kvm_init_nested()
51 atomic_set(&kvm->arch.vncr_map_count, 0); in kvm_init_nested()
54 static int init_nested_s2_mmu(struct kvm *kvm, struct kvm_s2_mmu *mmu) in init_nested_s2_mmu() argument
66 return kvm_init_stage2_mmu(kvm, mmu, kvm_get_pa_bits(kvm)); in init_nested_s2_mmu()
71 struct kvm *kvm = vcpu->kvm; in kvm_vcpu_init_nested() local
75 if (test_bit(KVM_ARM_VCPU_HAS_EL2_E2H0, kvm->arch.vcpu_features) && in kvm_vcpu_init_nested()
92 num_mmus = atomic_read(&kvm->online_vcpus) * S2_MMU_PER_VCPU; in kvm_vcpu_init_nested()
94 if (num_mmus > kvm->arch.nested_mmus_size) { in kvm_vcpu_init_nested()
[all …]
/linux/tools/perf/
H A Dbuiltin-kvm.c27 #include "util/kvm-stat.h"
516 static void print_result(struct perf_kvm_stat *kvm);
585 static void kvm_display(struct perf_kvm_stat *kvm) in kvm_display()
588 print_result(kvm); in kvm_display()
595 static void kvm_display(struct perf_kvm_stat *kvm) in kvm_display()
598 print_result(kvm);
614 filename = "perf.data.kvm"; in get_filename_for_perf_kvm()
621 static bool register_kvm_events_ops(struct perf_kvm_stat *kvm, uint16_t e_machine) in register_kvm_events_ops()
626 if (!strcmp(events_ops->name, kvm->report_event)) { in register_kvm_events_ops()
627 kvm in register_kvm_events_ops()
583 kvm_display(struct perf_kvm_stat * kvm) kvm_display() argument
593 kvm_display(struct perf_kvm_stat * kvm) kvm_display() argument
619 register_kvm_events_ops(struct perf_kvm_stat * kvm,uint16_t e_machine) register_kvm_events_ops() argument
721 find_create_kvm_event(struct perf_kvm_stat * kvm,struct event_key * key,struct perf_sample * sample) find_create_kvm_event() argument
755 handle_begin_event(struct perf_kvm_stat * kvm,struct vcpu_event_record * vcpu_record,struct event_key * key,struct perf_sample * sample) handle_begin_event() argument
788 update_kvm_event(struct perf_kvm_stat * kvm,struct kvm_event * event,int vcpu_id,u64 time_diff) update_kvm_event() argument
808 is_child_event(struct perf_kvm_stat * kvm,struct evsel * evsel,struct perf_sample * sample,struct event_key * key) is_child_event() argument
830 handle_child_event(struct perf_kvm_stat * kvm,struct vcpu_event_record * vcpu_record,struct event_key * key,struct perf_sample * sample) handle_child_event() argument
856 handle_end_event(struct perf_kvm_stat * kvm,struct vcpu_event_record * vcpu_record,struct event_key * key,struct perf_sample * sample) handle_end_event() argument
942 handle_kvm_event(struct perf_kvm_stat * kvm,struct thread * thread,struct evsel * evsel,struct perf_sample * sample) handle_kvm_event() argument
972 is_valid_key(struct perf_kvm_stat * kvm) is_valid_key() argument
1006 sort_result(struct perf_kvm_stat * kvm) sort_result() argument
1019 print_vcpu_info(struct perf_kvm_stat * kvm) print_vcpu_info() argument
1054 print_result(struct perf_kvm_stat * kvm) print_result() argument
1117 struct perf_kvm_stat *kvm = container_of(tool, struct perf_kvm_stat, tool); process_lost_event() local
1124 skip_sample(struct perf_kvm_stat * kvm,struct perf_sample * sample) skip_sample() argument
1141 struct perf_kvm_stat *kvm = container_of(tool, struct perf_kvm_stat, process_sample_event() local
1166 cpu_isa_config(struct perf_kvm_stat * kvm) cpu_isa_config() argument
1214 perf_kvm__mmap_read_idx(struct perf_kvm_stat * kvm,int idx,u64 * mmap_time) perf_kvm__mmap_read_idx() argument
1264 perf_kvm__mmap_read(struct perf_kvm_stat * kvm) perf_kvm__mmap_read() argument
1314 perf_kvm__timerfd_create(struct perf_kvm_stat * kvm) perf_kvm__timerfd_create() argument
1341 perf_kvm__handle_timerfd(struct perf_kvm_stat * kvm) perf_kvm__handle_timerfd() argument
1408 kvm_events_live_report(struct perf_kvm_stat * kvm) kvm_events_live_report() argument
1488 kvm_live_open_events(struct perf_kvm_stat * kvm) kvm_live_open_events() argument
1549 read_events(struct perf_kvm_stat * kvm) read_events() argument
1598 parse_target_str(struct perf_kvm_stat * kvm) parse_target_str() argument
1611 kvm_events_report_vcpu(struct perf_kvm_stat * kvm) kvm_events_report_vcpu() argument
1649 kvm_events_record(struct perf_kvm_stat * kvm,int argc,const char ** argv) kvm_events_record() argument
1729 kvm_events_report(struct perf_kvm_stat * kvm,int argc,const char ** argv) kvm_events_report() argument
1821 kvm_events_live(struct perf_kvm_stat * kvm,int argc,const char ** argv) kvm_events_live() argument
1965 struct perf_kvm_stat kvm = { kvm_cmd_stat() local
[all...]
/linux/include/linux/
H A Dkvm_dirty_ring.h35 static inline u32 kvm_dirty_ring_get_rsvd_entries(struct kvm *kvm) in kvm_dirty_ring_get_rsvd_entries() argument
40 static inline bool kvm_use_dirty_bitmap(struct kvm *kvm) in kvm_use_dirty_bitmap() argument
45 static inline int kvm_dirty_ring_alloc(struct kvm *kvm, struct kvm_dirty_ring *ring, in kvm_dirty_ring_alloc() argument
51 static inline int kvm_dirty_ring_reset(struct kvm *kvm, in kvm_dirty_ring_reset() argument
75 int kvm_cpu_dirty_log_size(struct kvm *kvm);
76 bool kvm_use_dirty_bitmap(struct kvm *kvm);
77 bool kvm_arch_allow_write_without_running_vcpu(struct kvm *kvm);
78 u32 kvm_dirty_ring_get_rsvd_entries(struct kvm *kvm);
79 int kvm_dirty_ring_alloc(struct kvm *kvm, struct kvm_dirty_ring *ring,
81 int kvm_dirty_ring_reset(struct kvm *kvm, struct kvm_dirty_ring *ring,
/linux/arch/arm64/kvm/vgic/
H A Dvgic-its.c31 static int update_lpi_config(struct kvm *kvm, struct vgic_irq *irq,
37 struct kvm *__k = (i)->dev->kvm; \
54 struct kvm *__k = (i)->dev->kvm; \
76 static struct vgic_irq *vgic_add_lpi(struct kvm *kvm, u32 intid, in vgic_add_lpi() argument
79 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_add_lpi()
80 struct vgic_irq *irq = vgic_get_irq(kvm, intid), *oldirq; in vgic_add_lpi()
148 ret = update_lpi_config(kvm, irq, NULL, false); in vgic_add_lpi()
150 vgic_put_irq(kvm, irq); in vgic_add_lpi()
154 ret = vgic_v3_lpi_sync_pending_status(kvm, irq); in vgic_add_lpi()
156 vgic_put_irq(kvm, irq); in vgic_add_lpi()
[all …]

1234567891011