| /linux/arch/arm64/kvm/ |
| A D | mmu.c | 72 return memslot->dirty_bitmap && !(memslot->flags & KVM_MEM_READONLY); in memslot_is_logging() 194 struct kvm_memory_slot *memslot) in stage2_flush_memslot() argument 212 struct kvm_memory_slot *memslot; in stage2_flush_vm() local 219 kvm_for_each_memslot(memslot, slots) in stage2_flush_vm() 220 stage2_flush_memslot(kvm, memslot); in stage2_flush_vm() 597 struct kvm_memory_slot *memslot; in stage2_unmap_vm() local 707 if (WARN_ON_ONCE(!memslot)) in kvm_mmu_wp_memory_region() 711 end = (memslot->base_gfn + memslot->npages) << PAGE_SHIFT; in kvm_mmu_wp_memory_region() 772 size = memslot->npages * PAGE_SIZE; in fault_supports_stage2_huge_mapping() 1190 struct kvm_memory_slot *memslot; in kvm_handle_guest_abort() local [all …]
|
| /linux/arch/powerpc/kvm/ |
| A D | book3s_hv_uvmem.c | 391 unsigned long gfn = memslot->base_gfn; in kvmppc_memslot_page_merge() 426 kvmppc_uvmem_slot_free(kvm, memslot); in __kvmppc_uvmem_memslot_delete() 442 memslot->base_gfn << PAGE_SHIFT, in __kvmppc_uvmem_memslot_create() 443 memslot->npages * PAGE_SIZE, in __kvmppc_uvmem_memslot_create() 444 0, memslot->id); in __kvmppc_uvmem_memslot_create() 451 kvmppc_uvmem_slot_free(kvm, memslot); in __kvmppc_uvmem_memslot_create() 460 struct kvm_memory_slot *memslot, *m; in kvmppc_h_svm_init_start() local 481 kvm_for_each_memslot(memslot, slots) { in kvmppc_h_svm_init_start() 490 if (m == memslot) in kvmppc_h_svm_init_start() 651 struct kvm_memory_slot *memslot; in kvmppc_h_svm_init_abort() local [all …]
|
| A D | book3s_64_mmu_hv.c | 561 if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) in kvmppc_book3s_hv_page_fault() 683 rmap = &memslot->arch.rmap[gfn_base - memslot->base_gfn]; in kvmppc_book3s_hv_page_fault() 749 memslot->npages * sizeof(*memslot->arch.rmap)); in kvmppc_rmap_reset() 805 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_unmap_rmapp() 885 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_age_rmapp() 956 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_test_age_rmapp() 1102 gfn >= memslot->base_gfn + memslot->npages) in kvmppc_harvest_vpa_dirty() 1145 if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) in kvmppc_pin_guest_page() 1181 if (memslot && memslot->dirty_bitmap) in kvmppc_unpin_guest_page() 1182 set_bit_le(gfn - memslot->base_gfn, memslot->dirty_bitmap); in kvmppc_unpin_guest_page() [all …]
|
| A D | book3s_64_mmu_radix.c | 429 if (!memslot) { in kvmppc_unmap_pte() 430 memslot = gfn_to_memslot(kvm, gfn); in kvmppc_unmap_pte() 431 if (!memslot) in kvmppc_unmap_pte() 811 struct kvm_memory_slot *memslot, in kvmppc_book3s_instantiate_page() argument 938 struct kvm_memory_slot *memslot; in kvmppc_book3s_radix_page_fault() local 966 memslot = gfn_to_memslot(kvm, gfn); in kvmppc_book3s_radix_page_fault() 969 if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) { in kvmppc_book3s_radix_page_fault() 1052 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_age_radix() 1127 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_radix_test_clear_dirty() 1175 gpa = memslot->base_gfn << PAGE_SHIFT; in kvmppc_radix_flush_memslot() [all …]
|
| A D | book3s_hv_rm_mmu.c | 110 gfn -= memslot->base_gfn; in kvmppc_update_dirty_map() 118 struct kvm_memory_slot *memslot; in kvmppc_set_dirty_from_hpte() local 125 if (memslot && memslot->dirty_bitmap) in kvmppc_set_dirty_from_hpte() 135 struct kvm_memory_slot *memslot; in revmap_for_hpte() local 142 *memslotp = memslot; in revmap_for_hpte() 145 if (!memslot) in revmap_for_hpte() 148 rmap = real_vmalloc_addr(&memslot->arch.rmap[gfn - memslot->base_gfn]); in revmap_for_hpte() 161 struct kvm_memory_slot *memslot; in remove_revmap_chain() local 238 if (!(memslot && !(memslot->flags & KVM_MEMSLOT_INVALID))) { in kvmppc_do_h_enter() 902 if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) in kvmppc_get_hpa() [all …]
|
| A D | trace_hv.h | 274 struct kvm_memory_slot *memslot, unsigned long ea, 277 TP_ARGS(vcpu, hptep, memslot, ea, dsisr), 297 __entry->base_gfn = memslot ? memslot->base_gfn : -1UL; 298 __entry->slot_flags = memslot ? memslot->flags : 0;
|
| A D | book3s_hv_nested.c | 751 struct kvm_memory_slot *memslot; in kvmhv_release_all_nested() local 773 kvm_for_each_memslot(memslot, kvm_memslots(kvm)) in kvmhv_release_all_nested() 774 kvmhv_free_memslot_nest_rmap(memslot); in kvmhv_release_all_nested() 991 const struct kvm_memory_slot *memslot, in kvmhv_remove_nest_rmap_range() argument 998 if (!memslot) in kvmhv_remove_nest_rmap_range() 1000 gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn; in kvmhv_remove_nest_rmap_range() 1484 struct kvm_memory_slot *memslot; in __kvmhv_nested_page_fault() local 1554 memslot = gfn_to_memslot(kvm, gfn); in __kvmhv_nested_page_fault() 1555 if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) { in __kvmhv_nested_page_fault() 1565 if (memslot->flags & KVM_MEM_READONLY) { in __kvmhv_nested_page_fault() [all …]
|
| A D | book3s_64_vio_hv.c | 81 struct kvm_memory_slot *memslot; in kvmppc_rm_tce_to_ua() local 83 memslot = __gfn_to_memslot(kvm_memslots_raw(kvm), gfn); in kvmppc_rm_tce_to_ua() 84 if (!memslot) in kvmppc_rm_tce_to_ua() 87 *ua = __gfn_to_hva_memslot(memslot, gfn) | in kvmppc_rm_tce_to_ua()
|
| A D | book3s_64_vio.c | 346 struct kvm_memory_slot *memslot; in kvmppc_tce_to_ua() local 348 memslot = __gfn_to_memslot(kvm_memslots(kvm), gfn); in kvmppc_tce_to_ua() 349 if (!memslot) in kvmppc_tce_to_ua() 352 *ua = __gfn_to_hva_memslot(memslot, gfn) | in kvmppc_tce_to_ua()
|
| A D | book3s.h | 11 struct kvm_memory_slot *memslot);
|
| A D | book3s.c | 829 void kvm_arch_sync_dirty_log(struct kvm *kvm, struct kvm_memory_slot *memslot) in kvm_arch_sync_dirty_log() argument 844 void kvmppc_core_flush_memslot(struct kvm *kvm, struct kvm_memory_slot *memslot) in kvmppc_core_flush_memslot() argument 846 kvm->arch.kvm_ops->flush_memslot(kvm, memslot); in kvmppc_core_flush_memslot() 850 struct kvm_memory_slot *memslot, in kvmppc_core_prepare_memory_region() argument 854 return kvm->arch.kvm_ops->prepare_memory_region(kvm, memslot, mem, in kvmppc_core_prepare_memory_region()
|
| /linux/virt/kvm/ |
| A D | kvm_main.c | 871 if (!memslot->dirty_bitmap) in kvm_destroy_dirty_bitmap() 875 memslot->dirty_bitmap = NULL; in kvm_destroy_dirty_bitmap() 1256 if (!memslot->dirty_bitmap) in kvm_alloc_dirty_bitmap() 1284 mslots[i] = *memslot; in kvm_memslot_delete() 1835 *memslot = NULL; in kvm_get_dirty_log() 1845 if (!(*memslot) || !(*memslot)->dirty_bitmap) in kvm_get_dirty_log() 1907 if (!memslot || !memslot->dirty_bitmap) in kvm_get_dirty_log_protect() 2022 if (!memslot || !memslot->dirty_bitmap) in kvm_clear_dirty_log_protect() 2911 ghc->memslot = NULL; in __kvm_gfn_to_hva_cache_init() 3025 if (memslot && kvm_slot_dirty_track_enabled(memslot)) { in mark_page_dirty_in_slot() [all …]
|
| A D | dirty_ring.c | 50 struct kvm_memory_slot *memslot; in kvm_reset_dirty_gfn() local 59 memslot = id_to_memslot(__kvm_memslots(kvm, as_id), id); in kvm_reset_dirty_gfn() 61 if (!memslot || (offset + __fls(mask)) >= memslot->npages) in kvm_reset_dirty_gfn() 65 kvm_arch_mmu_enable_log_dirty_pt_masked(kvm, memslot, offset, mask); in kvm_reset_dirty_gfn()
|
| /linux/arch/riscv/kvm/ |
| A D | mmu.c | 370 struct kvm_memory_slot *memslot = id_to_memslot(slots, slot); in stage2_wp_memory_region() local 371 phys_addr_t start = memslot->base_gfn << PAGE_SHIFT; in stage2_wp_memory_region() 372 phys_addr_t end = (memslot->base_gfn + memslot->npages) << PAGE_SHIFT; in stage2_wp_memory_region() 430 void kvm_arch_sync_dirty_log(struct kvm *kvm, struct kvm_memory_slot *memslot) in kvm_arch_sync_dirty_log() argument 435 const struct kvm_memory_slot *memslot) in kvm_arch_flush_remote_tlbs_memslot() argument 480 struct kvm_memory_slot *memslot, in kvm_arch_prepare_memory_region() argument 497 if ((memslot->base_gfn + memslot->npages) >= in kvm_arch_prepare_memory_region() 544 if (memslot->flags & KVM_MEM_LOG_DIRTY_PAGES) { in kvm_arch_prepare_memory_region() 639 struct kvm_memory_slot *memslot, in kvm_riscv_stage2_map() argument 650 bool logging = (memslot->dirty_bitmap && in kvm_riscv_stage2_map() [all …]
|
| A D | vcpu_exit.c | 423 struct kvm_memory_slot *memslot; in stage2_page_fault() local 431 memslot = gfn_to_memslot(vcpu->kvm, gfn); in stage2_page_fault() 432 hva = gfn_to_hva_memslot_prot(memslot, gfn, &writeable); in stage2_page_fault() 448 ret = kvm_riscv_stage2_map(vcpu, memslot, fault_addr, hva, in stage2_page_fault()
|
| /linux/arch/powerpc/include/asm/ |
| A D | kvm_book3s.h | 197 const struct kvm_memory_slot *memslot, 204 struct kvm_memory_slot *memslot, 213 extern void kvm_unmap_radix(struct kvm *kvm, struct kvm_memory_slot *memslot, 215 extern bool kvm_age_radix(struct kvm *kvm, struct kvm_memory_slot *memslot, 217 extern bool kvm_test_age_radix(struct kvm *kvm, struct kvm_memory_slot *memslot, 220 struct kvm_memory_slot *memslot, unsigned long *map); 222 const struct kvm_memory_slot *memslot); 240 extern void kvmppc_update_dirty_map(const struct kvm_memory_slot *memslot, 257 struct kvm_memory_slot *memslot, unsigned long *map); 259 struct kvm_memory_slot *memslot,
|
| A D | kvm_book3s_64.h | 500 static inline bool slot_is_aligned(struct kvm_memory_slot *memslot, in slot_is_aligned() argument 507 return !(memslot->base_gfn & mask) && !(memslot->npages & mask); in slot_is_aligned() 647 const struct kvm_memory_slot *memslot,
|
| A D | kvm_ppc.h | 168 struct kvm_memory_slot *memslot, unsigned long porder); 203 struct kvm_memory_slot *memslot, 214 struct kvm_memory_slot *memslot); 275 void (*flush_memslot)(struct kvm *kvm, struct kvm_memory_slot *memslot); 277 struct kvm_memory_slot *memslot,
|
| /linux/include/linux/ |
| A D | kvm_host.h | 445 return ALIGN(memslot->npages, BITS_PER_LONG) / 8; in kvm_dirty_bitmap_bytes() 450 unsigned long len = kvm_dirty_bitmap_bytes(memslot); in kvm_second_dirty_bitmap() 452 return memslot->dirty_bitmap + len / sizeof(*memslot->dirty_bitmap); in kvm_second_dirty_bitmap() 730 #define kvm_for_each_memslot(memslot, slots) \ argument 731 for (memslot = &slots->memslots[0]; \ 732 memslot < slots->memslots + slots->used_slots; memslot++) \ 733 if (WARN_ON_ONCE(!memslot->npages)) { \ 836 struct kvm_memory_slot *memslot, 1011 const struct kvm_memory_slot *memslot); 1761 return (memslot && memslot->id < KVM_USER_MEM_SLOTS && in kvm_is_visible_memslot() [all …]
|
| A D | kvm_types.h | 53 struct kvm_memory_slot *memslot; member
|
| /linux/arch/s390/kvm/ |
| A D | pv.c | 119 struct kvm_memory_slot *memslot; in kvm_s390_pv_alloc_vm() local 133 memslot = kvm_memslots(kvm)->memslots; in kvm_s390_pv_alloc_vm() 134 npages = memslot->base_gfn + memslot->npages; in kvm_s390_pv_alloc_vm()
|
| /linux/arch/x86/kvm/mmu/ |
| A D | mmu.c | 5476 flush |= fn(kvm, iterator.rmap, memslot); in slot_handle_level_range() 5498 end_level, memslot->base_gfn, in slot_handle_level() 5499 memslot->base_gfn + memslot->npages - 1, in slot_handle_level() 5743 const struct kvm_memory_slot *memslot; in __kvm_zap_rmaps() local 5754 kvm_for_each_memslot(memslot, slots) { in __kvm_zap_rmaps() 5756 end = min(gfn_end, memslot->base_gfn + memslot->npages); in __kvm_zap_rmaps() 5904 const struct kvm_memory_slot *memslot) in kvm_arch_flush_remote_tlbs_memslot() argument 5915 memslot->npages); in kvm_arch_flush_remote_tlbs_memslot() 6175 struct kvm_memory_slot *memslot; in kvm_mmu_calculate_default_mmu_pages() local 6181 kvm_for_each_memslot(memslot, slots) in kvm_mmu_calculate_default_mmu_pages() [all …]
|
| /linux/tools/testing/selftests/kvm/lib/ |
| A D | kvm_util.c | 985 memslot2region(struct kvm_vm *vm, uint32_t memslot) in memslot2region() argument 990 memslot) in memslot2region() 991 if (region->region.slot == memslot) in memslot2region() 995 " requested slot: %u\n", memslot); in memslot2region() 2218 vm_paddr_t paddr_min, uint32_t memslot) in vm_phy_pages_alloc() argument 2230 region = memslot2region(vm, memslot); in vm_phy_pages_alloc() 2245 paddr_min, vm->page_size, memslot); in vm_phy_pages_alloc() 2258 uint32_t memslot) in vm_phy_page_alloc() argument 2260 return vm_phy_pages_alloc(vm, 1, paddr_min, memslot); in vm_phy_page_alloc()
|
| A D | kvm_util_internal.h | 126 memslot2region(struct kvm_vm *vm, uint32_t memslot);
|
| /linux/arch/x86/include/asm/uv/ |
| A D | uv_geo.h | 57 char memslot; /* The memory slot on the bus */ member
|