| /linux/arch/powerpc/include/asm/ |
| H A D | kvm_book3s_uvmem.h | 9 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 D | page_track.c | 23 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 D | tdp_mmu.c | 15 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 D | page_track.h | 10 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 D | tdp_mmu.h | 10 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 D | mmu.c | 284 static void kvm_flush_remote_tlbs_sptep(struct kvm *kvm, u64 *sptep) in kvm_flush_remote_tlbs_sptep() argument 289 kvm_flush_remote_tlbs_gfn(kvm, gfn, sp->role.level); in kvm_flush_remote_tlbs_sptep() 522 static u64 mmu_spte_clear_track_bits(struct kvm *kvm, u64 *sptep) in mmu_spte_clear_track_bits() argument 536 kvm_update_page_stats(kvm, level, -1); in mmu_spte_clear_track_bits() 603 if (kvm_has_mirrored_tdp(vcpu->kvm)) { in mmu_topup_memory_caches() 749 static void account_shadowed(struct kvm *kvm, struct kvm_mmu_page *sp) in account_shadowed() argument 755 kvm->arch.indirect_shadow_pages++; in account_shadowed() 766 slots = kvm_memslots_for_spte_role(kvm, sp->role); in account_shadowed() 771 return __kvm_write_track_add_gfn(kvm, slot, gfn); in account_shadowed() 775 if (kvm_mmu_slot_gfn_write_protect(kvm, slot, gfn, PG_LEVEL_4K)) in account_shadowed() [all …]
|
| /linux/arch/loongarch/kvm/ |
| H A D | vm.c | 28 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 D | mmu.c | 26 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 D | eventfd.c | 36 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 …]
|
| H A D | kvm_main.c | 152 static void kvm_uevent_notify_change(unsigned int type, struct kvm *kvm); 158 __weak void kvm_arch_guest_memory_reclaimed(struct kvm *kvm) in kvm_arch_guest_memory_reclaimed() argument 245 bool kvm_make_vcpus_request_mask(struct kvm *kvm, unsigned int req, in kvm_make_vcpus_request_mask() argument 259 vcpu = kvm_get_vcpu(kvm, i); in kvm_make_vcpus_request_mask() 271 bool kvm_make_all_cpus_request(struct kvm *kvm, unsigned int req) in kvm_make_all_cpus_request() argument 284 kvm_for_each_vcpu(i, vcpu, kvm) in kvm_make_all_cpus_request() 294 void kvm_flush_remote_tlbs(struct kvm *kvm) in kvm_flush_remote_tlbs() argument 296 ++kvm->stat.generic.remote_tlb_flush_requests; in kvm_flush_remote_tlbs() 309 if (!kvm_arch_flush_remote_tlbs(kvm) in kvm_flush_remote_tlbs() 310 || kvm_make_all_cpus_request(kvm, KVM_REQ_TLB_FLUSH)) in kvm_flush_remote_tlbs() [all …]
|
| /linux/include/linux/ |
| H A D | kvm_host.h | 188 bool kvm_make_vcpus_request_mask(struct kvm *kvm, unsigned int req, 190 bool kvm_make_all_cpus_request(struct kvm *kvm, unsigned int req); 229 int kvm_io_bus_register_dev(struct kvm *kvm, enum kvm_bus bus_idx, gpa_t addr, 231 int kvm_io_bus_unregister_dev(struct kvm *kvm, enum kvm_bus bus_idx, 233 struct kvm_io_device *kvm_io_bus_get_dev(struct kvm *kvm, enum kvm_bus bus_idx, 275 bool kvm_unmap_gfn_range(struct kvm *kvm, struct kvm_gfn_range *range); 276 bool kvm_age_gfn(struct kvm *kvm, struct kvm_gfn_range *range); 277 bool kvm_test_age_gfn(struct kvm *kvm, struct kvm_gfn_range *range); 327 struct kvm *kvm; member 672 struct kvm *kvm, int irq_source_id, int level, [all …]
|
| /linux/arch/s390/kvm/ |
| H A D | kvm-s390.c | 304 struct kvm *kvm; in kvm_clock_sync() local 309 list_for_each_entry(kvm, &vm_list, vm_list) { in kvm_clock_sync() 310 kvm_for_each_vcpu(i, vcpu, kvm) { in kvm_clock_sync() 313 kvm->arch.epoch = vcpu->arch.sie_block->epoch; in kvm_clock_sync() 314 kvm->arch.epdx = vcpu->arch.sie_block->epdx; in kvm_clock_sync() 557 static int kvm_s390_keyop(struct kvm_s390_mmu_cache *mc, struct kvm *kvm, int op, in kvm_s390_keyop() argument 560 union asce asce = kvm->arch.gmap->asce; in kvm_s390_keyop() 564 guard(read_lock)(&kvm->mmu_lock); in kvm_s390_keyop() 597 int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) in kvm_vm_ioctl_check_extension() argument 640 if (hpage && !(kvm && kvm_is_ucontrol(kvm))) in kvm_vm_ioctl_check_extension() [all …]
|
| H A D | pv.c | 26 bool kvm_s390_pv_is_protected(struct kvm *kvm) in kvm_s390_pv_is_protected() argument 28 lockdep_assert_held(&kvm->lock); in kvm_s390_pv_is_protected() 29 return !!kvm_s390_pv_get_handle(kvm); in kvm_s390_pv_is_protected() 128 int kvm_s390_pv_make_secure(struct kvm *kvm, unsigned long gaddr, void *uvcb) in kvm_s390_pv_make_secure() argument 139 lockdep_assert_held(&kvm->srcu); in kvm_s390_pv_make_secure() 141 priv.needs_export = should_export_before_import(uvcb, kvm->mm); in kvm_s390_pv_make_secure() 143 scoped_guard(mutex, &kvm->arch.pv.import_lock) { in kvm_s390_pv_make_secure() 144 rc = kvm_s390_faultin_gfn(NULL, kvm, &f); in kvm_s390_pv_make_secure() 149 rc = s390_wiggle_split_folio(kvm->mm, priv.folio); in kvm_s390_pv_make_secure() 160 int kvm_s390_pv_convert_to_secure(struct kvm *kvm, unsigned long gaddr) in kvm_s390_pv_convert_to_secure() argument [all …]
|
| /linux/arch/powerpc/kvm/ |
| H A D | book3s_hv_uvmem.c | 233 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 D | book3s_64_mmu_radix.c | 102 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 D | Makefile | 6 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 D | book3s_64_mmu_hv.c | 47 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/arm64/kvm/vgic/ |
| H A D | vgic-init.c | 52 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() 71 int kvm_vgic_create(struct kvm *kvm, u32 type) in kvm_vgic_create() argument 96 lockdep_assert_held(&kvm->lock); in kvm_vgic_create() 103 if (kvm_trylock_all_vcpus(kvm)) in kvm_vgic_create() 110 mutex_lock(&kvm->arch.config_lock); in kvm_vgic_create() 119 if (kvm->created_vcpus != atomic_read(&kvm->online_vcpus)) in kvm_vgic_create() 122 if (irqchip_in_kernel(kvm)) { in kvm_vgic_create() 127 kvm_for_each_vcpu(i, vcpu, kvm) { in kvm_vgic_create() 134 kvm->max_vcpus = VGIC_V2_MAX_CPUS; in kvm_vgic_create() [all …]
|
| /linux/arch/riscv/kvm/ |
| H A D | Makefile | 8 include $(srctree)/virt/kvm/Makefile.kvm 10 obj-$(CONFIG_KVM) += kvm.o 13 kvm-y += aia.o 14 kvm-y += aia_aplic.o 15 kvm-y += aia_device.o 16 kvm-y += aia_imsic.o 17 kvm-y += gstage.o 18 kvm-y += main.o 19 kvm-y += mmu.o 20 kvm-y += nacl.o [all …]
|
| H A D | aia_device.c | 19 struct kvm *kvm = dev->kvm; in aia_create() local 22 if (irqchip_in_kernel(kvm)) in aia_create() 26 if (kvm_trylock_all_vcpus(kvm)) in aia_create() 29 kvm_for_each_vcpu(i, vcpu, kvm) { in aia_create() 35 kvm->arch.aia.in_kernel = true; in aia_create() 38 kvm_unlock_all_vcpus(kvm); in aia_create() 47 static int aia_config(struct kvm *kvm, unsigned long type, in aia_config() argument 50 struct kvm_aia *aia = &kvm->arch.aia; in aia_config() 53 if (write && kvm_riscv_aia_initialized(kvm)) in aia_config() 141 static int aia_aplic_addr(struct kvm *kvm, u64 *addr, bool write) in aia_aplic_addr() argument [all …]
|
| H A D | vm.c | 31 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 …]
|
| /linux/arch/x86/kvm/ |
| H A D | irq.c | 82 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 …]
|
| H A D | irq.h | 27 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 …]
|
| /linux/arch/arm64/kvm/ |
| H A D | nested.c | 46 void kvm_init_nested(struct kvm *kvm) in kvm_init_nested() argument 48 kvm->arch.nested_mmus = NULL; in kvm_init_nested() 49 kvm->arch.nested_mmus_size = 0; in kvm_init_nested() 50 atomic_set(&kvm->arch.vncr_map_count, 0); in kvm_init_nested() 53 static int init_nested_s2_mmu(struct kvm *kvm, struct kvm_s2_mmu *mmu) in init_nested_s2_mmu() argument 65 return kvm_init_stage2_mmu(kvm, mmu, kvm_get_pa_bits(kvm)); in init_nested_s2_mmu() 70 struct kvm *kvm = vcpu->kvm; in kvm_vcpu_init_nested() local 74 if (test_bit(KVM_ARM_VCPU_HAS_EL2_E2H0, kvm->arch.vcpu_features) && in kvm_vcpu_init_nested() 91 num_mmus = atomic_read(&kvm->online_vcpus) * S2_MMU_PER_VCPU; in kvm_vcpu_init_nested() 92 tmp = kvrealloc(kvm->arch.nested_mmus, in kvm_vcpu_init_nested() [all …]
|
| /linux/tools/perf/ |
| H A D | builtin-kvm.c | 514 static void print_result(struct perf_kvm_stat *kvm); 583 static void kvm_display(struct perf_kvm_stat *kvm) in kvm_display() argument 586 print_result(kvm); in kvm_display() 593 static void kvm_display(struct perf_kvm_stat *kvm) in kvm_display() argument 596 print_result(kvm); in kvm_display() 619 static bool register_kvm_events_ops(struct perf_kvm_stat *kvm, uint16_t e_machine) in register_kvm_events_ops() argument 624 if (!strcmp(events_ops->name, kvm->report_event)) { in register_kvm_events_ops() 625 kvm->events_ops = events_ops->ops; in register_kvm_events_ops() 721 static struct kvm_event *find_create_kvm_event(struct perf_kvm_stat *kvm, in find_create_kvm_event() argument 737 kvm->events_ops->decode_key(kvm, key, ki->name); in find_create_kvm_event() [all …]
|