Home
last modified time | relevance | path

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

12345678910>>...14

/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 …]
H A Dkvm_ppc.h169 extern void kvmppc_set_hpt(struct kvm *kvm, struct kvm_hpt_info *info);
170 extern int kvmppc_alloc_reset_hpt(struct kvm *kvm, int order);
172 extern void kvmppc_rmap_reset(struct kvm *kvm);
176 extern long kvm_spapr_tce_attach_iommu_group(struct kvm *kvm, int tablefd,
178 extern void kvm_spapr_tce_release_iommu_group(struct kvm *kvm,
180 extern int kvmppc_switch_mmu_to_hpt(struct kvm *kvm);
181 extern int kvmppc_switch_mmu_to_radix(struct kvm *kvm);
182 extern void kvmppc_setup_partition_table(struct kvm *kvm);
184 extern int kvm_vm_ioctl_create_spapr_tce(struct kvm *kvm,
202 extern int kvmppc_core_init_vm(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.c284 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/s390/kvm/
H A Dpv.c23 bool kvm_s390_pv_is_protected(struct kvm *kvm) in kvm_s390_pv_is_protected() argument
25 lockdep_assert_held(&kvm->lock); in kvm_s390_pv_is_protected()
26 return !!kvm_s390_pv_get_handle(kvm); in kvm_s390_pv_is_protected()
46 int kvm_s390_pv_make_secure(struct kvm *kvm, unsigned long gaddr, void *uvcb) in kvm_s390_pv_make_secure() argument
50 lockdep_assert_held(&kvm->srcu); in kvm_s390_pv_make_secure()
52 vmaddr = gfn_to_hva(kvm, gpa_to_gfn(gaddr)); in kvm_s390_pv_make_secure()
55 return make_hva_secure(kvm->mm, vmaddr, uvcb); in kvm_s390_pv_make_secure()
58 int kvm_s390_pv_convert_to_secure(struct kvm *kvm, unsigned long gaddr) in kvm_s390_pv_convert_to_secure() argument
63 .guest_handle = kvm_s390_pv_get_handle(kvm), in kvm_s390_pv_convert_to_secure()
67 return kvm_s390_pv_make_secure(kvm, gaddr, &uvcb); in kvm_s390_pv_convert_to_secure()
[all …]
H A Dkvm-s390.c308 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->arch.epdx = vcpu->arch.sie_block->epdx; in kvm_clock_sync()
576 int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) in kvm_vm_ioctl_check_extension() argument
618 if (hpage && !(kvm && kvm_is_ucontrol(kvm))) in kvm_vm_ioctl_check_extension()
699 void kvm_arch_sync_dirty_log(struct kvm *kvm, struct kvm_memory_slot *memslot) in kvm_arch_sync_dirty_log() argument
704 struct gmap *gmap = kvm->arch.gmap; in kvm_arch_sync_dirty_log()
720 mark_page_dirty(kvm, cur_gfn + i); in kvm_arch_sync_dirty_log()
[all …]
H A Dkvm-s390.h75 debug_sprintf_event(d_vcpu->kvm->arch.dbf, d_loglevel, \
103 return test_bit(vcpu->vcpu_idx, vcpu->kvm->arch.idle_mask); in is_vcpu_idle()
106 static inline int kvm_is_ucontrol(struct kvm *kvm) in kvm_is_ucontrol() argument
109 if (kvm->arch.gmap) in kvm_is_ucontrol()
218 static inline int test_kvm_facility(struct kvm *kvm, unsigned long nr) in test_kvm_facility() argument
220 return __test_facility(nr, kvm->arch.model.fac_mask) && in test_kvm_facility()
221 __test_facility(nr, kvm->arch.model.fac_list); in test_kvm_facility()
235 static inline int test_kvm_cpu_feat(struct kvm *kvm, unsigned long nr) in test_kvm_cpu_feat() argument
238 return test_bit_inv(nr, kvm->arch.cpu_feat); in test_kvm_cpu_feat()
242 static inline int kvm_s390_user_cpu_state_ctrl(struct kvm *kvm) in kvm_s390_user_cpu_state_ctrl() argument
[all …]
/linux/virt/kvm/
H A Deventfd.c36 kvm_arch_irqfd_allowed(struct kvm *kvm, struct kvm_irqfd *args) in kvm_arch_irqfd_allowed() argument
46 struct kvm *kvm = irqfd->kvm; in irqfd_inject() local
49 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 1, in irqfd_inject()
51 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 0, in irqfd_inject()
54 kvm_set_irq(kvm, KVM_IRQFD_RESAMPLE_IRQ_SOURCE_ID, in irqfd_inject()
63 srcu_read_lock_held(&resampler->kvm->irq_srcu)) in irqfd_resampler_notify()
76 struct kvm *kvm; in irqfd_resampler_ack() local
81 kvm = resampler->kvm; in irqfd_resampler_ack()
83 kvm_set_irq(kvm, KVM_IRQFD_RESAMPLE_IRQ_SOURCE_ID, in irqfd_resampler_ack()
86 idx = srcu_read_lock(&kvm->irq_srcu); in irqfd_resampler_ack()
[all …]
H A Dkvm_main.c13 #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 argument
245 kvm_make_vcpus_request_mask(struct kvm * kvm,unsigned int req,unsigned long * vcpu_bitmap) kvm_make_vcpus_request_mask() argument
271 kvm_make_all_cpus_request(struct kvm * kvm,unsigned int req) kvm_make_all_cpus_request() argument
294 kvm_flush_remote_tlbs(struct kvm * kvm) kvm_flush_remote_tlbs() argument
315 kvm_flush_remote_tlbs_range(struct kvm * kvm,gfn_t gfn,u64 nr_pages) kvm_flush_remote_tlbs_range() argument
328 kvm_flush_remote_tlbs_memslot(struct kvm * kvm,const struct kvm_memory_slot * memslot) kvm_flush_remote_tlbs_memslot() argument
342 kvm_flush_shadow_all(struct kvm * kvm) kvm_flush_shadow_all() argument
442 kvm_vcpu_init(struct kvm_vcpu * vcpu,struct kvm * kvm,unsigned id) kvm_vcpu_init() argument
483 kvm_destroy_vcpus(struct kvm * kvm) kvm_destroy_vcpus() argument
562 kvm_handle_hva_range(struct kvm * kvm,const struct kvm_mmu_notifier_range * range) kvm_handle_hva_range() argument
657 struct kvm *kvm = mmu_notifier_to_kvm(mn); kvm_age_hva_range() local
679 kvm_mmu_invalidate_begin(struct kvm * kvm) kvm_mmu_invalidate_begin() argument
695 kvm_mmu_invalidate_range_add(struct kvm * kvm,gfn_t start,gfn_t end) kvm_mmu_invalidate_range_add() argument
721 kvm_mmu_unmap_gfn_range(struct kvm * kvm,struct kvm_gfn_range * range) kvm_mmu_unmap_gfn_range() argument
730 struct kvm *kvm = mmu_notifier_to_kvm(mn); kvm_mmu_notifier_invalidate_range_start() local
777 kvm_mmu_invalidate_end(struct kvm * kvm) kvm_mmu_invalidate_end() argument
806 struct kvm *kvm = mmu_notifier_to_kvm(mn); kvm_mmu_notifier_invalidate_range_end() local
881 struct kvm *kvm = mmu_notifier_to_kvm(mn); kvm_mmu_notifier_release() local
898 kvm_init_mmu_notifier(struct kvm * kvm) kvm_init_mmu_notifier() argument
906 kvm_init_mmu_notifier(struct kvm * kvm) kvm_init_mmu_notifier() argument
918 struct kvm *kvm = container_of(bl, struct kvm, pm_notifier); kvm_pm_notifier_call() local
923 kvm_init_pm_notifier(struct kvm * kvm) kvm_init_pm_notifier() argument
931 kvm_destroy_pm_notifier(struct kvm * kvm) kvm_destroy_pm_notifier() argument
936 kvm_init_pm_notifier(struct kvm * kvm) kvm_init_pm_notifier() argument
940 kvm_destroy_pm_notifier(struct kvm * kvm) kvm_destroy_pm_notifier() argument
955 kvm_free_memslot(struct kvm * kvm,struct kvm_memory_slot * slot) kvm_free_memslot() argument
967 kvm_free_memslots(struct kvm * kvm,struct kvm_memslots * slots) kvm_free_memslots() argument
999 kvm_destroy_vm_debugfs(struct kvm * kvm) kvm_destroy_vm_debugfs() argument
1017 kvm_create_vm_debugfs(struct kvm * kvm,const char * fdname) kvm_create_vm_debugfs() argument
1093 kvm_arch_pre_destroy_vm(struct kvm * kvm) kvm_arch_pre_destroy_vm() argument
1103 kvm_arch_create_vm_debugfs(struct kvm * kvm) kvm_arch_create_vm_debugfs() argument
1108 kvm_get_bus_for_destruction(struct kvm * kvm,enum kvm_bus idx) kvm_get_bus_for_destruction() argument
1117 struct kvm *kvm = kvm_arch_alloc_vm(); kvm_create_vm() local
1252 kvm_destroy_devices(struct kvm * kvm) kvm_destroy_devices() argument
1273 kvm_destroy_vm(struct kvm * kvm) kvm_destroy_vm() argument
1335 kvm_get_kvm(struct kvm * kvm) kvm_get_kvm() argument
1345 kvm_get_kvm_safe(struct kvm * kvm) kvm_get_kvm_safe() argument
1351 kvm_put_kvm(struct kvm * kvm) kvm_put_kvm() argument
1365 kvm_put_kvm_no_destroy(struct kvm * kvm) kvm_put_kvm_no_destroy() argument
1373 struct kvm *kvm = filp->private_data; kvm_vm_release() local
1381 kvm_trylock_all_vcpus(struct kvm * kvm) kvm_trylock_all_vcpus() argument
1403 kvm_lock_all_vcpus(struct kvm * kvm) kvm_lock_all_vcpus() argument
1428 kvm_unlock_all_vcpus(struct kvm * kvm) kvm_unlock_all_vcpus() argument
1455 kvm_get_inactive_memslots(struct kvm * kvm,int as_id) kvm_get_inactive_memslots() argument
1535 kvm_replace_memslot(struct kvm * kvm,struct kvm_memory_slot * old,struct kvm_memory_slot * new) kvm_replace_memslot() argument
1596 check_memory_region_flags(struct kvm * kvm,const struct kvm_userspace_memory_region2 * mem) check_memory_region_flags() argument
1623 kvm_swap_active_memslots(struct kvm * kvm,int as_id) kvm_swap_active_memslots() argument
1681 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
1719 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
1781 kvm_activate_memslot(struct kvm * kvm,struct kvm_memory_slot * old,struct kvm_memory_slot * new) kvm_activate_memslot() argument
1806 kvm_invalidate_memslot(struct kvm * kvm,struct kvm_memory_slot * old,struct kvm_memory_slot * invalid_slot) kvm_invalidate_memslot() argument
1848 kvm_create_memslot(struct kvm * kvm,struct kvm_memory_slot * new) kvm_create_memslot() argument
1856 kvm_delete_memslot(struct kvm * kvm,struct kvm_memory_slot * old,struct kvm_memory_slot * invalid_slot) kvm_delete_memslot() argument
1868 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
1881 kvm_update_flags_memslot(struct kvm * kvm,struct kvm_memory_slot * old,struct kvm_memory_slot * new) kvm_update_flags_memslot() argument
1894 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
2002 kvm_set_memory_region(struct kvm * kvm,const struct kvm_userspace_memory_region2 * mem) kvm_set_memory_region() argument
2135 kvm_set_internal_memslot(struct kvm * kvm,const struct kvm_userspace_memory_region2 * mem) kvm_set_internal_memslot() argument
2148 kvm_vm_ioctl_set_memory_region(struct kvm * kvm,struct kvm_userspace_memory_region2 * mem) kvm_vm_ioctl_set_memory_region() argument
2166 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
2229 kvm_get_dirty_log_protect(struct kvm * kvm,struct kvm_dirty_log * log) kvm_get_dirty_log_protect() argument
2320 kvm_vm_ioctl_get_dirty_log(struct kvm * kvm,struct kvm_dirty_log * log) kvm_vm_ioctl_get_dirty_log() argument
2339 kvm_clear_dirty_log_protect(struct kvm * kvm,struct kvm_clear_dirty_log * log) kvm_clear_dirty_log_protect() argument
2415 kvm_vm_ioctl_clear_dirty_log(struct kvm * kvm,struct kvm_clear_dirty_log * log) kvm_vm_ioctl_clear_dirty_log() argument
2430 kvm_supported_mem_attributes(struct kvm * kvm) kvm_supported_mem_attributes() argument
2442 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
2473 kvm_handle_gfn_range(struct kvm * kvm,struct kvm_mmu_notifier_range * range) kvm_handle_gfn_range() argument
2525 kvm_pre_set_memory_attributes(struct kvm * kvm,struct kvm_gfn_range * range) kvm_pre_set_memory_attributes() argument
2545 kvm_vm_set_mem_attributes(struct kvm * kvm,gfn_t start,gfn_t end,unsigned long attributes) kvm_vm_set_mem_attributes() argument
2607 kvm_vm_ioctl_set_mem_attributes(struct kvm * kvm,struct kvm_memory_attributes * attrs) kvm_vm_ioctl_set_mem_attributes() argument
2636 gfn_to_memslot(struct kvm * kvm,gfn_t gfn) gfn_to_memslot() argument
2676 kvm_is_visible_gfn(struct kvm * kvm,gfn_t gfn) kvm_is_visible_gfn() argument
2749 gfn_to_hva(struct kvm * kvm,gfn_t gfn) gfn_to_hva() argument
2780 gfn_to_hva_prot(struct kvm * kvm,gfn_t gfn,bool * writable) gfn_to_hva_prot() argument
3103 __gfn_to_page(struct kvm * kvm,gfn_t gfn,bool write) __gfn_to_page() argument
3207 kvm_read_guest_page(struct kvm * kvm,gfn_t gfn,void * data,int offset,int len) kvm_read_guest_page() argument
3225 kvm_read_guest(struct kvm * kvm,gpa_t gpa,void * data,unsigned long len) kvm_read_guest() argument
3297 __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
3317 kvm_write_guest_page(struct kvm * kvm,gfn_t gfn,const void * data,int offset,int len) kvm_write_guest_page() argument
3335 kvm_write_guest(struct kvm * kvm,gpa_t gpa,const void * data,unsigned long len) kvm_write_guest() argument
3418 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
3426 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
3457 kvm_write_guest_cached(struct kvm * kvm,struct gfn_to_hva_cache * ghc,void * data,unsigned long len) kvm_write_guest_cached() argument
3464 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
3494 kvm_read_guest_cached(struct kvm * kvm,struct gfn_to_hva_cache * ghc,void * data,unsigned long len) kvm_read_guest_cached() argument
3501 kvm_clear_guest(struct kvm * kvm,gpa_t gpa,unsigned long len) kvm_clear_guest() argument
3521 mark_page_dirty_in_slot(struct kvm * kvm,const struct kvm_memory_slot * memslot,gfn_t gfn) mark_page_dirty_in_slot() argument
3546 mark_page_dirty(struct kvm * kvm,gfn_t gfn) mark_page_dirty() argument
3706 struct kvm *kvm = vcpu->kvm; kvm_vcpu_max_halt_poll_ns() local
3970 struct kvm *kvm = me->kvm; kvm_vcpu_on_spin() local
4043 kvm_page_in_dirty_ring(struct kvm * kvm,unsigned long pgoff) kvm_page_in_dirty_ring() argument
4159 kvm_vm_ioctl_create_vcpu(struct kvm * kvm,unsigned long id) kvm_vm_ioctl_create_vcpu() argument
4388 struct kvm *kvm = vcpu->kvm; kvm_wait_for_vcpu_online() local
4758 struct kvm *kvm = dev->kvm; kvm_device_release() local
4812 kvm_ioctl_create_device(struct kvm * kvm,struct kvm_create_device * cd) kvm_ioctl_create_device() argument
4871 kvm_vm_ioctl_check_extension_generic(struct kvm * kvm,long arg) kvm_vm_ioctl_check_extension_generic() argument
4947 kvm_vm_ioctl_enable_dirty_log_ring(struct kvm * kvm,u32 size) kvm_vm_ioctl_enable_dirty_log_ring() argument
4985 kvm_vm_ioctl_reset_dirty_pages(struct kvm * kvm) kvm_vm_ioctl_reset_dirty_pages() argument
5010 kvm_vm_ioctl_enable_cap(struct kvm * kvm,struct kvm_enable_cap * cap) kvm_vm_ioctl_enable_cap() argument
5016 kvm_are_all_memslots_empty(struct kvm * kvm) kvm_are_all_memslots_empty() argument
5031 kvm_vm_ioctl_enable_cap_generic(struct kvm * kvm,struct kvm_enable_cap * cap) kvm_vm_ioctl_enable_cap_generic() argument
5102 struct kvm *kvm = file->private_data; kvm_vm_stats_read() local
5111 struct kvm *kvm = file->private_data; kvm_vm_stats_release() local
5124 kvm_vm_ioctl_get_stats_fd(struct kvm * kvm) kvm_vm_ioctl_get_stats_fd() argument
5157 struct kvm *kvm = filp->private_data; kvm_vm_ioctl() local
5422 struct kvm *kvm = filp->private_data; kvm_vm_compat_ioctl() local
5490 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
6128 kvm_get_stat_per_vm(struct kvm * kvm,size_t offset,u64 * val) kvm_get_stat_per_vm() argument
6135 kvm_clear_stat_per_vm(struct kvm * kvm,size_t offset) kvm_clear_stat_per_vm() argument
6142 kvm_get_stat_per_vcpu(struct kvm * kvm,size_t offset,u64 * val) kvm_get_stat_per_vcpu() argument
6155 kvm_clear_stat_per_vcpu(struct kvm * kvm,size_t offset) kvm_clear_stat_per_vcpu() argument
6225 struct kvm *kvm; vm_stat_get() local
6241 struct kvm *kvm; vm_stat_clear() local
6261 struct kvm *kvm; vcpu_stat_get() local
6277 struct kvm *kvm; vcpu_stat_clear() local
6295 kvm_uevent_notify_change(unsigned int type,struct kvm * kvm) kvm_uevent_notify_change() argument
[all...]
/linux/include/linux/
H A Dkvm_host.h188 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
670 struct kvm *kvm, int irq_source_id, int level,
[all …]
/linux/arch/loongarch/kvm/
H A Dvm.c28 static void kvm_vm_init_features(struct kvm *kvm) in kvm_vm_init_features() argument
34 kvm->arch.kvm_features |= BIT(KVM_LOONGARCH_VM_FEAT_PMU); in kvm_vm_init_features()
37 kvm->arch.pv_features = BIT(KVM_FEATURE_IPI); in kvm_vm_init_features()
38 kvm->arch.kvm_features = BIT(KVM_LOONGARCH_VM_FEAT_PV_IPI); in kvm_vm_init_features()
40 kvm->arch.pv_features |= BIT(KVM_FEATURE_STEAL_TIME); in kvm_vm_init_features()
41 kvm->arch.kvm_features |= BIT(KVM_LOONGARCH_VM_FEAT_PV_STEALTIME); in kvm_vm_init_features()
45 int kvm_arch_init_vm(struct kvm *kvm, unsigned long type) in kvm_arch_init_vm() argument
50 kvm->arch.pgd = kvm_pgd_alloc(); in kvm_arch_init_vm()
51 if (!kvm->arch.pgd) in kvm_arch_init_vm()
54 kvm->arch.phyid_map = kvzalloc(sizeof(struct kvm_phyid_map), GFP_KERNEL_ACCOUNT); in kvm_arch_init_vm()
[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/arch/riscv/kvm/
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()
27 gstage.kvm = kvm; in mmu_wp_memory_region()
29 gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid); in mmu_wp_memory_region()
30 gstage.pgd = kvm->arch.pgd; in mmu_wp_memory_region()
32 spin_lock(&kvm->mmu_lock); in mmu_wp_memory_region()
34 spin_unlock(&kvm->mmu_lock); in mmu_wp_memory_region()
35 kvm_flush_remote_tlbs_memslot(kvm, memslot); in mmu_wp_memory_region()
38 int kvm_riscv_mmu_ioremap(struct kvm *kvm, gpa_t gpa, phys_addr_t hpa, in kvm_riscv_mmu_ioremap() argument
52 gstage.kvm = kvm; in kvm_riscv_mmu_ioremap()
[all …]
H A DMakefile8 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 Daia_device.c19 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 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 …]
/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 …]
/linux/arch/arm64/kvm/vgic/
H A Dvgic-init.c52 void kvm_vgic_early_init(struct kvm *kvm) in kvm_vgic_early_init() argument
54 struct vgic_dist *dist = &kvm->arch.vgic; in kvm_vgic_early_init()
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 …]
H A Dvgic.h123 return vcpu->kvm->arch.vgic.implementation_rev; in vgic_get_implementation_rev()
154 static inline int vgic_write_guest_lock(struct kvm *kvm, gpa_t gpa, in vgic_write_guest_lock() argument
157 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_write_guest_lock()
161 ret = kvm_write_guest_lock(kvm, gpa, data, len); in vgic_write_guest_lock()
261 struct vgic_irq *vgic_get_irq(struct kvm *kvm, u32 intid);
263 void vgic_put_irq(struct kvm *kvm, struct vgic_irq *irq);
268 bool vgic_queue_irq_unlock(struct kvm *kvm, struct vgic_irq *irq,
270 void vgic_kick_vcpus(struct kvm *kvm);
274 int vgic_check_iorange(struct kvm *kvm, phys_addr_t ioaddr,
292 int vgic_v2_map_resources(struct kvm *kvm);
[all …]
/linux/arch/x86/kvm/
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 …]
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 …]

12345678910>>...14