| /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 | 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 …]
|
| /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 …]
|
| H A D | Makefile | 6 include $(srctree)/virt/kvm/Makefile.kvm 8 obj-$(CONFIG_KVM) += kvm.o 12 kvm-y += exit.o 13 kvm-y += interrupt.o 14 kvm-y += main.o 15 kvm-y += mmu.o 16 kvm-y += timer.o 17 kvm-y += tlb.o 18 kvm-y += vcpu.o 19 kvm-y += vm.o [all …]
|
| /linux/virt/kvm/ |
| H A D | eventfd.c | 37 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 D | kvm_main.c | 13 #include <kvm/iodev.h> 16 #include <linux/kvm.h> 66 #include <trace/events/kvm.h> 108 * kvm->lock --> kvm->slots_lock --> kvm->irq_lock 133 * - Prevent a compat task from opening /dev/kvm 152 static void kvm_uevent_notify_change(unsigned int type, struct kvm *kvm); 158 __weak void kvm_arch_guest_memory_reclaimed(struct kvm *kv in kvm_arch_guest_memory_reclaimed() 157 kvm_arch_guest_memory_reclaimed(struct kvm * kvm) kvm_arch_guest_memory_reclaimed() argument 244 kvm_make_vcpus_request_mask(struct kvm * kvm,unsigned int req,unsigned long * vcpu_bitmap) kvm_make_vcpus_request_mask() argument 270 kvm_make_all_cpus_request(struct kvm * kvm,unsigned int req) kvm_make_all_cpus_request() argument 293 kvm_flush_remote_tlbs(struct kvm * kvm) kvm_flush_remote_tlbs() argument 314 kvm_flush_remote_tlbs_range(struct kvm * kvm,gfn_t gfn,u64 nr_pages) kvm_flush_remote_tlbs_range() argument 327 kvm_flush_remote_tlbs_memslot(struct kvm * kvm,const struct kvm_memory_slot * memslot) kvm_flush_remote_tlbs_memslot() argument 341 kvm_flush_shadow_all(struct kvm * kvm) kvm_flush_shadow_all() argument 441 kvm_vcpu_init(struct kvm_vcpu * vcpu,struct kvm * kvm,unsigned id) kvm_vcpu_init() argument 482 kvm_destroy_vcpus(struct kvm * kvm) kvm_destroy_vcpus() argument 560 kvm_handle_hva_range(struct kvm * kvm,const struct kvm_mmu_notifier_range * range) kvm_handle_hva_range() argument 653 struct kvm *kvm = mmu_notifier_to_kvm(mn); kvm_age_hva_range() local 673 kvm_mmu_invalidate_start(struct kvm * kvm) kvm_mmu_invalidate_start() argument 689 kvm_mmu_invalidate_range_add(struct kvm * kvm,gfn_t start,gfn_t end) kvm_mmu_invalidate_range_add() argument 715 kvm_mmu_unmap_gfn_range(struct kvm * kvm,struct kvm_gfn_range * range) kvm_mmu_unmap_gfn_range() argument 724 struct kvm *kvm = mmu_notifier_to_kvm(mn); kvm_mmu_notifier_invalidate_range_start() local 771 kvm_mmu_invalidate_end(struct kvm * kvm) kvm_mmu_invalidate_end() argument 800 struct kvm *kvm = mmu_notifier_to_kvm(mn); kvm_mmu_notifier_invalidate_range_end() local 870 struct kvm *kvm = mmu_notifier_to_kvm(mn); kvm_mmu_notifier_release() local 887 kvm_init_mmu_notifier(struct kvm * kvm) kvm_init_mmu_notifier() argument 898 struct kvm *kvm = container_of(bl, struct kvm, pm_notifier); kvm_pm_notifier_call() local 903 kvm_init_pm_notifier(struct kvm * kvm) kvm_init_pm_notifier() argument 911 kvm_destroy_pm_notifier(struct kvm * kvm) kvm_destroy_pm_notifier() argument 916 kvm_init_pm_notifier(struct kvm * kvm) kvm_init_pm_notifier() argument 920 kvm_destroy_pm_notifier(struct kvm * kvm) kvm_destroy_pm_notifier() argument 935 kvm_free_memslot(struct kvm * kvm,struct kvm_memory_slot * slot) kvm_free_memslot() argument 947 kvm_free_memslots(struct kvm * kvm,struct kvm_memslots * slots) kvm_free_memslots() argument 979 kvm_destroy_vm_debugfs(struct kvm * kvm) kvm_destroy_vm_debugfs() argument 997 kvm_create_vm_debugfs(struct kvm * kvm,const char * fdname) kvm_create_vm_debugfs() argument 1073 kvm_arch_pre_destroy_vm(struct kvm * kvm) kvm_arch_pre_destroy_vm() argument 1083 kvm_arch_create_vm_debugfs(struct kvm * kvm) kvm_arch_create_vm_debugfs() argument 1088 kvm_get_bus_for_destruction(struct kvm * kvm,enum kvm_bus idx) kvm_get_bus_for_destruction() argument 1100 struct kvm *kvm = kvm_arch_alloc_vm(); kvm_create_vm() local 1233 kvm_destroy_devices(struct kvm * kvm) kvm_destroy_devices() argument 1254 kvm_destroy_vm(struct kvm * kvm) kvm_destroy_vm() argument 1312 kvm_get_kvm(struct kvm * kvm) kvm_get_kvm() argument 1322 kvm_get_kvm_safe(struct kvm * kvm) kvm_get_kvm_safe() argument 1328 kvm_put_kvm(struct kvm * kvm) kvm_put_kvm() argument 1342 kvm_put_kvm_no_destroy(struct kvm * kvm) kvm_put_kvm_no_destroy() argument 1350 struct kvm *kvm = filp->private_data; kvm_vm_release() local 1358 kvm_trylock_all_vcpus(struct kvm * kvm) kvm_trylock_all_vcpus() argument 1380 kvm_lock_all_vcpus(struct kvm * kvm) kvm_lock_all_vcpus() argument 1405 kvm_unlock_all_vcpus(struct kvm * kvm) kvm_unlock_all_vcpus() argument 1432 kvm_get_inactive_memslots(struct kvm * kvm,int as_id) kvm_get_inactive_memslots() argument 1512 kvm_replace_memslot(struct kvm * kvm,struct kvm_memory_slot * old,struct kvm_memory_slot * new) kvm_replace_memslot() argument 1573 check_memory_region_flags(struct kvm * kvm,const struct kvm_userspace_memory_region2 * mem) check_memory_region_flags() argument 1600 kvm_swap_active_memslots(struct kvm * kvm,int as_id) kvm_swap_active_memslots() argument 1658 kvm_prepare_memory_region(struct kvm * kvm,const struct kvm_memory_slot * old,struct kvm_memory_slot * new,enum kvm_mr_change change) kvm_prepare_memory_region() argument 1696 kvm_commit_memory_region(struct kvm * kvm,struct kvm_memory_slot * old,const struct kvm_memory_slot * new,enum kvm_mr_change change) kvm_commit_memory_region() argument 1773 kvm_activate_memslot(struct kvm * kvm,struct kvm_memory_slot * old,struct kvm_memory_slot * new) kvm_activate_memslot() argument 1798 kvm_invalidate_memslot(struct kvm * kvm,struct kvm_memory_slot * old,struct kvm_memory_slot * invalid_slot) kvm_invalidate_memslot() argument 1840 kvm_create_memslot(struct kvm * kvm,struct kvm_memory_slot * new) kvm_create_memslot() argument 1848 kvm_delete_memslot(struct kvm * kvm,struct kvm_memory_slot * old,struct kvm_memory_slot * invalid_slot) kvm_delete_memslot() argument 1860 kvm_move_memslot(struct kvm * kvm,struct kvm_memory_slot * old,struct kvm_memory_slot * new,struct kvm_memory_slot * invalid_slot) kvm_move_memslot() argument 1873 kvm_update_flags_memslot(struct kvm * kvm,struct kvm_memory_slot * old,struct kvm_memory_slot * new) kvm_update_flags_memslot() argument 1886 kvm_set_memslot(struct kvm * kvm,struct kvm_memory_slot * old,struct kvm_memory_slot * new,enum kvm_mr_change change) kvm_set_memslot() argument 1994 kvm_set_memory_region(struct kvm * kvm,const struct kvm_userspace_memory_region2 * mem) kvm_set_memory_region() argument 2127 kvm_set_internal_memslot(struct kvm * kvm,const struct kvm_userspace_memory_region2 * mem) kvm_set_internal_memslot() argument 2140 kvm_vm_ioctl_set_memory_region(struct kvm * kvm,struct kvm_userspace_memory_region2 * mem) kvm_vm_ioctl_set_memory_region() argument 2158 kvm_get_dirty_log(struct kvm * kvm,struct kvm_dirty_log * log,int * is_dirty,struct kvm_memory_slot ** memslot) kvm_get_dirty_log() argument 2221 kvm_get_dirty_log_protect(struct kvm * kvm,struct kvm_dirty_log * log) kvm_get_dirty_log_protect() argument 2312 kvm_vm_ioctl_get_dirty_log(struct kvm * kvm,struct kvm_dirty_log * log) kvm_vm_ioctl_get_dirty_log() argument 2331 kvm_clear_dirty_log_protect(struct kvm * kvm,struct kvm_clear_dirty_log * log) kvm_clear_dirty_log_protect() argument 2407 kvm_vm_ioctl_clear_dirty_log(struct kvm * kvm,struct kvm_clear_dirty_log * log) kvm_vm_ioctl_clear_dirty_log() argument 2422 kvm_supported_mem_attributes(struct kvm * kvm) kvm_supported_mem_attributes() argument 2434 kvm_range_has_memory_attributes(struct kvm * kvm,gfn_t start,gfn_t end,unsigned long mask,unsigned long attrs) kvm_range_has_memory_attributes() argument 2465 kvm_handle_gfn_range(struct kvm * kvm,struct kvm_mmu_notifier_range * range) kvm_handle_gfn_range() argument 2517 kvm_pre_set_memory_attributes(struct kvm * kvm,struct kvm_gfn_range * range) kvm_pre_set_memory_attributes() argument 2537 kvm_vm_set_mem_attributes(struct kvm * kvm,gfn_t start,gfn_t end,unsigned long attributes) kvm_vm_set_mem_attributes() argument 2599 kvm_vm_ioctl_set_mem_attributes(struct kvm * kvm,struct kvm_memory_attributes * attrs) kvm_vm_ioctl_set_mem_attributes() argument 2628 gfn_to_memslot(struct kvm * kvm,gfn_t gfn) gfn_to_memslot() argument 2668 kvm_is_visible_gfn(struct kvm * kvm,gfn_t gfn) kvm_is_visible_gfn() argument 2741 gfn_to_hva(struct kvm * kvm,gfn_t gfn) gfn_to_hva() argument 2772 gfn_to_hva_prot(struct kvm * kvm,gfn_t gfn,bool * writable) gfn_to_hva_prot() argument 3095 __gfn_to_page(struct kvm * kvm,gfn_t gfn,bool write) __gfn_to_page() argument 3199 kvm_read_guest_page(struct kvm * kvm,gfn_t gfn,void * data,int offset,int len) kvm_read_guest_page() argument 3217 kvm_read_guest(struct kvm * kvm,gpa_t gpa,void * data,unsigned long len) kvm_read_guest() argument 3289 __kvm_write_guest_page(struct kvm * kvm,struct kvm_memory_slot * memslot,gfn_t gfn,const void * data,int offset,int len) __kvm_write_guest_page() argument 3309 kvm_write_guest_page(struct kvm * kvm,gfn_t gfn,const void * data,int offset,int len) kvm_write_guest_page() argument 3327 kvm_write_guest(struct kvm * kvm,gpa_t gpa,const void * data,unsigned long len) kvm_write_guest() argument 3410 kvm_gfn_to_hva_cache_init(struct kvm * kvm,struct gfn_to_hva_cache * ghc,gpa_t gpa,unsigned long len) kvm_gfn_to_hva_cache_init() argument 3418 kvm_write_guest_offset_cached(struct kvm * kvm,struct gfn_to_hva_cache * ghc,void * data,unsigned int offset,unsigned long len) kvm_write_guest_offset_cached() argument 3449 kvm_write_guest_cached(struct kvm * kvm,struct gfn_to_hva_cache * ghc,void * data,unsigned long len) kvm_write_guest_cached() argument 3456 kvm_read_guest_offset_cached(struct kvm * kvm,struct gfn_to_hva_cache * ghc,void * data,unsigned int offset,unsigned long len) kvm_read_guest_offset_cached() argument 3486 kvm_read_guest_cached(struct kvm * kvm,struct gfn_to_hva_cache * ghc,void * data,unsigned long len) kvm_read_guest_cached() argument 3493 kvm_clear_guest(struct kvm * kvm,gpa_t gpa,unsigned long len) kvm_clear_guest() argument 3513 mark_page_dirty_in_slot(struct kvm * kvm,const struct kvm_memory_slot * memslot,gfn_t gfn) mark_page_dirty_in_slot() argument 3539 mark_page_dirty(struct kvm * kvm,gfn_t gfn) mark_page_dirty() argument 3699 struct kvm *kvm = vcpu->kvm; kvm_vcpu_max_halt_poll_ns() local 3963 struct kvm *kvm = me->kvm; kvm_vcpu_on_spin() local 4036 kvm_page_in_dirty_ring(struct kvm * kvm,unsigned long pgoff) kvm_page_in_dirty_ring() argument 4152 kvm_vm_ioctl_create_vcpu(struct kvm * kvm,unsigned long id) kvm_vm_ioctl_create_vcpu() argument 4381 struct kvm *kvm = vcpu->kvm; kvm_wait_for_vcpu_online() local 4751 struct kvm *kvm = dev->kvm; kvm_device_release() local 4805 kvm_ioctl_create_device(struct kvm * kvm,struct kvm_create_device * cd) kvm_ioctl_create_device() argument 4864 kvm_vm_ioctl_check_extension_generic(struct kvm * kvm,long arg) kvm_vm_ioctl_check_extension_generic() argument 4941 kvm_vm_ioctl_enable_dirty_log_ring(struct kvm * kvm,u32 size) kvm_vm_ioctl_enable_dirty_log_ring() argument 4979 kvm_vm_ioctl_reset_dirty_pages(struct kvm * kvm) kvm_vm_ioctl_reset_dirty_pages() argument 5004 kvm_vm_ioctl_enable_cap(struct kvm * kvm,struct kvm_enable_cap * cap) kvm_vm_ioctl_enable_cap() argument 5010 kvm_are_all_memslots_empty(struct kvm * kvm) kvm_are_all_memslots_empty() argument 5025 kvm_vm_ioctl_enable_cap_generic(struct kvm * kvm,struct kvm_enable_cap * cap) kvm_vm_ioctl_enable_cap_generic() argument 5096 struct kvm *kvm = file->private_data; kvm_vm_stats_read() local 5105 struct kvm *kvm = file->private_data; kvm_vm_stats_release() local 5118 kvm_vm_ioctl_get_stats_fd(struct kvm * kvm) kvm_vm_ioctl_get_stats_fd() argument 5151 struct kvm *kvm = filp->private_data; kvm_vm_ioctl() local 5416 struct kvm *kvm = filp->private_data; kvm_vm_compat_ioctl() local 5484 struct kvm *kvm; kvm_dev_ioctl_create_vm() local 5869 kvm_get_bus_srcu(struct kvm * kvm,enum kvm_bus idx) kvm_get_bus_srcu() argument 5977 kvm_io_bus_register_dev(struct kvm * kvm,enum kvm_bus bus_idx,gpa_t addr,int len,struct kvm_io_device * dev) kvm_io_bus_register_dev() argument 6020 kvm_io_bus_unregister_dev(struct kvm * kvm,enum kvm_bus bus_idx,struct kvm_io_device * dev) kvm_io_bus_unregister_dev() argument 6068 kvm_io_bus_get_dev(struct kvm * kvm,enum kvm_bus bus_idx,gpa_t addr) kvm_io_bus_get_dev() argument 6122 kvm_get_stat_per_vm(struct kvm * kvm,size_t offset,u64 * val) kvm_get_stat_per_vm() argument 6129 kvm_clear_stat_per_vm(struct kvm * kvm,size_t offset) kvm_clear_stat_per_vm() argument 6136 kvm_get_stat_per_vcpu(struct kvm * kvm,size_t offset,u64 * val) kvm_get_stat_per_vcpu() argument 6149 kvm_clear_stat_per_vcpu(struct kvm * kvm,size_t offset) kvm_clear_stat_per_vcpu() argument 6219 struct kvm *kvm; vm_stat_get() local 6235 struct kvm *kvm; vm_stat_clear() local 6255 struct kvm *kvm; vcpu_stat_get() local 6271 struct kvm *kvm; vcpu_stat_clear() local 6289 kvm_uevent_notify_change(unsigned int type,struct kvm * kvm) kvm_uevent_notify_change() argument [all...] |
| H A D | irqchip.c | 21 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 …]
|
| H A D | kvm_mm.h | 6 #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 D | coalesced_mmio.c | 48 struct kvm_coalesced_mmio_ring *ring = dev->kvm->coalesced_mmio_ring; in coalesced_mmio_write() 54 spin_lock(&dev->kvm->ring_lock); in coalesced_mmio_write() 65 spin_unlock(&dev->kvm->ring_lock); in coalesced_mmio_write() 77 spin_unlock(&dev->kvm->ring_lock); in coalesced_mmio_write() 95 int kvm_coalesced_mmio_init(struct kvm *kvm) in kvm_coalesced_mmio_init() argument 103 kvm->coalesced_mmio_ring = page_address(page); in kvm_coalesced_mmio_init() 110 spin_lock_init(&kvm->ring_lock); in kvm_coalesced_mmio_init() 111 INIT_LIST_HEAD(&kvm->coalesced_zones); in kvm_coalesced_mmio_init() 116 void kvm_coalesced_mmio_free(struct kvm *kvm) in kvm_coalesced_mmio_free() argument 118 if (kvm->coalesced_mmio_ring) in kvm_coalesced_mmio_free() [all …]
|
| H A D | coalesced_mmio.h | 21 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/arch/s390/kvm/s390/ |
| H A D | s390.c | 13 #define pr_fmt(fmt) "kvm-s390: " fmt 22 #include <linux/kvm.h> 267 /* available cpu features supported by kvm */ 302 * disable preemption whenever we touch the epoch of kvm and the VCPUs, 308 struct kvm *kvm; in kvm_clock_sync() local 313 list_for_each_entry(kvm, &vm_list, vm_list) { in kvm_clock_sync() 314 kvm_for_each_vcpu(i, vcpu, kvm) { in kvm_clock_sync() 317 kvm->arch.epoch = vcpu->arch.sie_block->epoch; in kvm_clock_sync() 318 kvm in kvm_clock_sync() 562 kvm_s390_keyop(struct kvm_s390_mmu_cache * mc,struct kvm * kvm,int op,unsigned long addr,union skey skey) kvm_s390_keyop() argument 603 kvm_vm_ioctl_check_extension(struct kvm * kvm,long ext) kvm_vm_ioctl_check_extension() argument 733 kvm_arch_sync_dirty_log(struct kvm * kvm,struct kvm_memory_slot * memslot) kvm_arch_sync_dirty_log() argument 747 kvm_vm_ioctl_get_dirty_log(struct kvm * kvm,struct kvm_dirty_log * log) kvm_vm_ioctl_get_dirty_log() argument 753 icpt_operexc_on_all_vcpus(struct kvm * kvm) icpt_operexc_on_all_vcpus() argument 763 kvm_vm_ioctl_enable_cap(struct kvm * kvm,struct kvm_enable_cap * cap) kvm_vm_ioctl_enable_cap() argument 949 kvm_s390_get_mem_control(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_get_mem_control() argument 968 kvm_s390_set_mem_control(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_set_mem_control() argument 1063 kvm_s390_vcpu_crypto_reset_all(struct kvm * kvm) kvm_s390_vcpu_crypto_reset_all() argument 1079 kvm_s390_vm_set_crypto(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_vm_set_crypto() argument 1159 kvm_s390_vcpu_pci_enable_interp(struct kvm * kvm) kvm_s390_vcpu_pci_enable_interp() argument 1185 kvm_s390_sync_request_broadcast(struct kvm * kvm,int req) kvm_s390_sync_request_broadcast() argument 1199 kvm_s390_vm_start_migration(struct kvm * kvm) kvm_s390_vm_start_migration() argument 1245 kvm_s390_vm_stop_migration(struct kvm * kvm) kvm_s390_vm_stop_migration() argument 1272 kvm_s390_vm_set_migration(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_vm_set_migration() argument 1294 kvm_s390_vm_get_migration(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_vm_get_migration() argument 1309 kvm_s390_set_tod_ext(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_set_tod_ext() argument 1326 kvm_s390_set_tod_high(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_set_tod_high() argument 1341 kvm_s390_set_tod_low(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_set_tod_low() argument 1354 kvm_s390_set_tod(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_set_tod() argument 1391 kvm_s390_get_tod_clock(struct kvm * kvm,struct kvm_s390_vm_tod_clock * gtod) kvm_s390_get_tod_clock() argument 1411 kvm_s390_get_tod_ext(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_get_tod_ext() argument 1425 kvm_s390_get_tod_high(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_get_tod_high() argument 1437 kvm_s390_get_tod_low(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_get_tod_low() argument 1449 kvm_s390_get_tod(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_get_tod() argument 1473 kvm_s390_set_processor(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_set_processor() argument 1519 kvm_s390_set_processor_feat(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_set_processor_feat() argument 1545 kvm_s390_set_processor_subfunc(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_set_processor_subfunc() argument 1634 kvm_s390_set_uv_feat(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_set_uv_feat() argument 1658 kvm_s390_set_cpu_model(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_set_cpu_model() argument 1679 kvm_s390_get_processor(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_get_processor() argument 1707 kvm_s390_get_machine(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_get_machine() argument 1741 kvm_s390_get_processor_feat(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_get_processor_feat() argument 1756 kvm_s390_get_machine_feat(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_get_machine_feat() argument 1771 kvm_s390_get_processor_subfunc(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_get_processor_subfunc() argument 1842 kvm_s390_get_machine_subfunc(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_get_machine_subfunc() argument 1913 kvm_s390_get_processor_uv_feat(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_get_processor_uv_feat() argument 1925 kvm_s390_get_machine_uv_feat(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_get_machine_uv_feat() argument 1940 kvm_s390_get_cpu_model(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_get_cpu_model() argument 1982 kvm_s390_update_topology_change_report(struct kvm * kvm,bool val) kvm_s390_update_topology_change_report() argument 1995 kvm_s390_set_topo_change_indication(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_set_topo_change_indication() argument 2005 kvm_s390_get_topo_change_indication(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_get_topo_change_indication() argument 2018 kvm_s390_vm_set_attr(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_vm_set_attr() argument 2049 kvm_s390_vm_get_attr(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_vm_get_attr() argument 2077 kvm_s390_vm_has_attr(struct kvm * kvm,struct kvm_device_attr * attr) kvm_s390_vm_has_attr() argument 2155 kvm_s390_get_skeys(struct kvm * kvm,struct kvm_s390_skeys * args) kvm_s390_get_skeys() argument 2195 kvm_s390_set_skeys(struct kvm * kvm,struct kvm_s390_skeys * args) kvm_s390_set_skeys() argument 2265 kvm_s390_get_cmma_bits(struct kvm * kvm,struct kvm_s390_cmma_log * args) kvm_s390_get_cmma_bits() argument 2322 kvm_s390_set_cmma_bits(struct kvm * kvm,const struct kvm_s390_cmma_log * args) kvm_s390_set_cmma_bits() argument 2380 kvm_s390_cpus_from_pv(struct kvm * kvm,u16 * rc,u16 * rrc) kvm_s390_cpus_from_pv() argument 2421 kvm_s390_cpus_to_pv(struct kvm * kvm,u16 * rc,u16 * rrc) kvm_s390_cpus_to_pv() argument 2492 kvm_s390_pv_dmp(struct kvm * kvm,struct kvm_pv_cmd * cmd,struct kvm_s390_pv_dmp dmp) kvm_s390_pv_dmp() argument 2554 kvm_s390_handle_pv(struct kvm * kvm,struct kvm_pv_cmd * cmd) kvm_s390_handle_pv() argument 2805 kvm_s390_vm_mem_op_abs(struct kvm * kvm,struct kvm_s390_mem_op * mop) kvm_s390_vm_mem_op_abs() argument 2841 kvm_s390_vm_mem_op_cmpxchg(struct kvm * kvm,struct kvm_s390_mem_op * mop) kvm_s390_vm_mem_op_cmpxchg() argument 2875 kvm_s390_vm_mem_op(struct kvm * kvm,struct kvm_s390_mem_op * mop) kvm_s390_vm_mem_op() argument 2902 struct kvm *kvm = filp->private_data; kvm_arch_vm_ioctl() local 3100 kvm_s390_set_crycb_format(struct kvm * kvm) kvm_s390_set_crycb_format() argument 3132 kvm_arch_crypto_set_masks(struct kvm * kvm,unsigned long * apm,unsigned long * aqm,unsigned long * adm) kvm_arch_crypto_set_masks() argument 3182 kvm_arch_crypto_clear_masks(struct kvm * kvm) kvm_arch_crypto_clear_masks() argument 3207 kvm_s390_crypto_init(struct kvm * kvm) kvm_s390_crypto_init() argument 3225 sca_dispose(struct kvm * kvm) sca_dispose() argument 3232 kvm_arch_free_vm(struct kvm * kvm) kvm_arch_free_vm() argument 3240 kvm_arch_init_vm(struct kvm * kvm,unsigned long type) kvm_arch_init_vm() argument 3407 kvm_arch_destroy_vm(struct kvm * kvm) kvm_arch_destroy_vm() argument 3467 sca_can_add_vcpu(struct kvm * kvm,unsigned int id) sca_can_add_vcpu() argument 3600 kvm_has_pckmo_subfunc(struct kvm * kvm,unsigned long nr) kvm_has_pckmo_subfunc() argument 3608 kvm_has_pckmo_ecc(struct kvm * kvm) kvm_has_pckmo_ecc() argument 3619 kvm_has_pckmo_hmac(struct kvm * kvm) kvm_has_pckmo_hmac() argument 3771 kvm_arch_vcpu_precreate(struct kvm * kvm,unsigned int id) kvm_arch_vcpu_precreate() argument 4414 __kvm_s390_set_tod_clock(struct kvm * kvm,const struct kvm_s390_vm_tod_clock * gtod) __kvm_s390_set_tod_clock() argument 4442 kvm_s390_try_set_tod_clock(struct kvm * kvm,const struct kvm_s390_vm_tod_clock * gtod) kvm_s390_try_set_tod_clock() argument 5166 __disable_ibs_on_all_vcpus(struct kvm * kvm) __disable_ibs_on_all_vcpus() argument 5742 kvm_arch_irqchip_in_kernel(struct kvm * kvm) kvm_arch_irqchip_in_kernel() argument 5748 kvm_arch_prepare_memory_region(struct kvm * kvm,const struct kvm_memory_slot * old,struct kvm_memory_slot * new,enum kvm_mr_change change) kvm_arch_prepare_memory_region() argument 5769 kvm_s390_update_cmma_dirty(struct kvm * kvm,struct kvm_memory_slot * old) kvm_s390_update_cmma_dirty() argument 5780 kvm_arch_commit_memory_region(struct kvm * kvm,struct kvm_memory_slot * old,const struct kvm_memory_slot * new,enum kvm_mr_change change) kvm_arch_commit_memory_region() argument 5839 kvm_test_age_gfn(struct kvm * kvm,struct kvm_gfn_range * range) kvm_test_age_gfn() argument 5853 kvm_age_gfn(struct kvm * kvm,struct kvm_gfn_range * range) kvm_age_gfn() argument 5871 kvm_unmap_gfn_range(struct kvm * kvm,struct kvm_gfn_range * range) kvm_unmap_gfn_range() 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 …]
|
| H A D | book3s_hv_rm_mmu.c | 32 static int global_invalidates(struct kvm *kvm) in global_invalidates() argument 44 if (kvm->arch.online_vcores == 1 && local_paca->kvm_hstate.kvm_vcpu) in global_invalidates() 56 cpumask_setall(&kvm->arch.need_tlb_flush); in global_invalidates() 58 cpumask_clear_cpu(cpu, &kvm->arch.need_tlb_flush); in global_invalidates() 68 void kvmppc_add_revmap_chain(struct kvm *kvm, struct revmap_entry *rev, in kvmppc_add_revmap_chain() argument 76 head = &kvm->arch.hpt.rev[i]; in kvmppc_add_revmap_chain() 79 tail = &kvm->arch.hpt.rev[head->back]; in kvmppc_add_revmap_chain() 109 static void kvmppc_set_dirty_from_hpte(struct kvm *kvm, in kvmppc_set_dirty_from_hpte() argument 118 memslot = __gfn_to_memslot(kvm_memslots_raw(kvm), gfn); in kvmppc_set_dirty_from_hpte() 124 static unsigned long *revmap_for_hpte(struct kvm *kvm, unsigned long hpte_v, in revmap_for_hpte() argument [all …]
|
| H A D | book3s_hv_nested.c | 277 *lpcr = kvmppc_filter_lpcr_hv(vcpu->kvm, in load_l2_hv_regs() 306 if (vcpu->kvm->arch.l1_ptcr == 0) in kvmhv_enter_nested_guest() 350 l2 = kvmhv_get_nested(vcpu->kvm, l2_hv.lpid, true); in kvmhv_enter_nested_guest() 570 struct kvm *kvm = vcpu->kvm; in kvmhv_set_partition_table() local 575 srcu_idx = srcu_read_lock(&kvm->srcu); in kvmhv_set_partition_table() 578 !kvm_is_visible_gfn(vcpu->kvm, (ptcr & PRTB_MASK) >> PAGE_SHIFT)) in kvmhv_set_partition_table() 580 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvmhv_set_partition_table() 582 kvm->arch.l1_ptcr = ptcr; in kvmhv_set_partition_table() 619 gp = kvmhv_get_nested(vcpu->kvm, l1_lpid, false); in kvmhv_copy_tofrom_guest_nested() 675 struct kvm *kvm = gp->l1_host; in kvmhv_update_ptbl_cache() local [all …]
|
| H A D | book3s_64_vio.c | 36 static struct kvmppc_spapr_tce_table *kvmppc_find_table(struct kvm *kvm, in kvmppc_find_table() argument 41 list_for_each_entry_lockless(stt, &kvm->arch.spapr_tce_tables, list) in kvmppc_find_table() 81 void kvm_spapr_tce_release_iommu_group(struct kvm *kvm, in kvm_spapr_tce_release_iommu_group() argument 90 list_for_each_entry_rcu(stt, &kvm->arch.spapr_tce_tables, list) { in kvm_spapr_tce_release_iommu_group() 109 long kvm_spapr_tce_attach_iommu_group(struct kvm *kvm, int tablefd, in kvm_spapr_tce_attach_iommu_group() argument 124 list_for_each_entry_rcu(stt, &kvm->arch.spapr_tce_tables, list) { in kvm_spapr_tce_attach_iommu_group() 260 struct kvm *kvm = stt->kvm; in kvm_spapr_tce_release() local 262 mutex_lock(&kvm->lock); in kvm_spapr_tce_release() 264 mutex_unlock(&kvm->lock); in kvm_spapr_tce_release() 274 account_locked_vm(kvm->mm, in kvm_spapr_tce_release() [all …]
|
| /linux/arch/riscv/kvm/ |
| 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/arm64/kvm/ |
| H A D | nested.c | 8 #include <linux/kvm.h> 48 int kvm_init_nested(struct kvm *kvm) in kvm_init_nested() argument 50 kvm->arch.nested_mmus = kvmalloc_objs(struct kvm_s2_mmu *, in kvm_init_nested() 53 kvm->arch.nested_mmus_size = 0; in kvm_init_nested() 54 atomic_set(&kvm->arch.vncr_tlb_count, 0); 56 return kvm->arch.nested_mmus ? 0 : -ENOMEM; in init_nested_s2_mmu() 59 void kvm_destroy_nested(struct kvm *kvm) in init_nested_s2_mmu() 61 for (int i = 0; i < kvm in init_nested_s2_mmu() 55 init_nested_s2_mmu(struct kvm * kvm,struct kvm_s2_mmu * mmu) init_nested_s2_mmu() argument 72 struct kvm *kvm = vcpu->kvm; kvm_vcpu_init_nested() local 439 vtcr_to_tg0_pgshift(struct kvm * kvm,u64 vtcr) vtcr_to_tg0_pgshift() argument 470 vtcr_to_tg0_pgsize(struct kvm * kvm,u64 vtcr) vtcr_to_tg0_pgsize() argument 680 struct kvm *kvm = kvm_s2_mmu_to_kvm(mmu); compute_tlb_inval_range() local 737 kvm_s2_mmu_iterate_by_vmid(struct kvm * kvm,u16 vmid,const union tlbi_info * info,void (* tlbi_callback)(struct kvm_s2_mmu *,const union tlbi_info *)) kvm_s2_mmu_iterate_by_vmid() argument 759 struct kvm *kvm = vcpu->kvm; lookup_s2_mmu() local 808 struct kvm *kvm = vcpu->kvm; get_s2_mmu_nested() local 1021 invalidate_vncr(struct kvm * kvm,struct vncr_tlb * vt) invalidate_vncr() argument 1049 kvm_for_each_vncr_tlb(idx,vcpup,tlbp,kvm) global() argument 1054 kvm_invalidate_vncr_ipa(struct kvm * kvm,u64 start,u64 end) kvm_invalidate_vncr_ipa() argument 1089 invalidate_vncr_va(struct kvm * kvm,struct s1e2_tlbi_scope * scope) invalidate_vncr_va() argument 1263 kvm_nested_s2_wp(struct kvm * kvm) kvm_nested_s2_wp() argument 1282 kvm_nested_s2_unmap(struct kvm * kvm,bool may_block) kvm_nested_s2_unmap() argument 1301 kvm_nested_s2_flush(struct kvm * kvm) kvm_nested_s2_flush() argument 1318 kvm_arch_flush_shadow_all(struct kvm * kvm) kvm_arch_flush_shadow_all() argument 1676 limit_nv_id_reg(struct kvm * kvm,u32 reg,u64 val) limit_nv_id_reg() argument 1860 set_sysreg_masks(struct kvm * kvm,int sr,struct resx resx) set_sysreg_masks() argument 1871 struct kvm *kvm = vcpu->kvm; kvm_init_nv_sysregs() local [all...] |
| /linux/tools/perf/ |
| H A D | builtin-kvm.c | 27 #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 D | kvm_dirty_ring.h | 35 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,
|