Home
last modified time | relevance | path

Searched refs:memslot (Results 1 – 25 of 44) sorted by relevance

12

/linux-6.15/arch/powerpc/kvm/
H A Dbook3s_hv_uvmem.c394 unsigned long gfn = memslot->base_gfn; in kvmppc_memslot_page_merge()
434 kvmppc_uvmem_slot_free(kvm, memslot); in __kvmppc_uvmem_memslot_delete()
450 memslot->base_gfn << PAGE_SHIFT, in __kvmppc_uvmem_memslot_create()
451 memslot->npages * PAGE_SIZE, in __kvmppc_uvmem_memslot_create()
452 0, memslot->id); in __kvmppc_uvmem_memslot_create()
459 kvmppc_uvmem_slot_free(kvm, memslot); in __kvmppc_uvmem_memslot_create()
468 struct kvm_memory_slot *memslot, *m; in kvmppc_h_svm_init_start() local
498 if (m == memslot) in kvmppc_h_svm_init_start()
662 struct kvm_memory_slot *memslot; in kvmppc_h_svm_init_abort() local
797 unsigned long gfn = memslot->base_gfn; in kvmppc_uv_migrate_mem_slot()
[all …]
H A Dbook3s_64_mmu_hv.c584 if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) in kvmppc_book3s_hv_page_fault()
689 rmap = &memslot->arch.rmap[gfn_base - memslot->base_gfn]; in kvmppc_book3s_hv_page_fault()
755 memslot->npages * sizeof(*memslot->arch.rmap)); in kvmppc_rmap_reset()
811 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_unmap_rmapp()
891 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_age_rmapp()
962 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_test_age_rmapp()
1096 gfn >= memslot->base_gfn + memslot->npages) in kvmppc_harvest_vpa_dirty()
1139 if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) in kvmppc_pin_guest_page()
1175 if (memslot && memslot->dirty_bitmap) in kvmppc_unpin_guest_page()
1176 set_bit_le(gfn - memslot->base_gfn, memslot->dirty_bitmap); in kvmppc_unpin_guest_page()
[all …]
H A Dbook3s_64_mmu_radix.c441 if (!memslot) { in kvmppc_unmap_pte()
442 memslot = gfn_to_memslot(kvm, gfn); in kvmppc_unmap_pte()
443 if (!memslot) in kvmppc_unmap_pte()
823 struct kvm_memory_slot *memslot, in kvmppc_book3s_instantiate_page() argument
931 struct kvm_memory_slot *memslot; in kvmppc_book3s_radix_page_fault() local
960 memslot = gfn_to_memslot(kvm, gfn); in kvmppc_book3s_radix_page_fault()
963 if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) { in kvmppc_book3s_radix_page_fault()
1048 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_age_radix()
1123 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_radix_test_clear_dirty()
1171 gpa = memslot->base_gfn << PAGE_SHIFT; in kvmppc_radix_flush_memslot()
[all …]
H A Dbook3s_hv_rm_mmu.c104 gfn -= memslot->base_gfn; in kvmppc_update_dirty_map()
112 struct kvm_memory_slot *memslot; in kvmppc_set_dirty_from_hpte() local
119 if (memslot && memslot->dirty_bitmap) in kvmppc_set_dirty_from_hpte()
129 struct kvm_memory_slot *memslot; in revmap_for_hpte() local
136 *memslotp = memslot; in revmap_for_hpte()
139 if (!memslot) in revmap_for_hpte()
142 rmap = real_vmalloc_addr(&memslot->arch.rmap[gfn - memslot->base_gfn]); in revmap_for_hpte()
155 struct kvm_memory_slot *memslot; in remove_revmap_chain() local
232 if (!(memslot && !(memslot->flags & KVM_MEMSLOT_INVALID))) { in kvmppc_do_h_enter()
896 if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) in kvmppc_get_hpa()
[all …]
H A Dtrace_hv.h294 struct kvm_memory_slot *memslot, unsigned long ea,
297 TP_ARGS(vcpu, hptep, memslot, ea, dsisr),
317 __entry->base_gfn = memslot ? memslot->base_gfn : -1UL;
318 __entry->slot_flags = memslot ? memslot->flags : 0;
H A Dbook3s_hv_nested.c805 struct kvm_memory_slot *memslot; in kvmhv_release_all_nested() local
826 kvmhv_free_memslot_nest_rmap(memslot); in kvmhv_release_all_nested()
1037 const struct kvm_memory_slot *memslot, in kvmhv_remove_nest_rmap_range() argument
1044 if (!memslot) in kvmhv_remove_nest_rmap_range()
1046 gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn; in kvmhv_remove_nest_rmap_range()
1053 unsigned long *rmap = &memslot->arch.rmap[gfn]; in kvmhv_remove_nest_rmap_range()
1527 struct kvm_memory_slot *memslot; in __kvmhv_nested_page_fault() local
1596 memslot = gfn_to_memslot(kvm, gfn); in __kvmhv_nested_page_fault()
1597 if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) { in __kvmhv_nested_page_fault()
1609 if (memslot->flags & KVM_MEM_READONLY) { in __kvmhv_nested_page_fault()
[all …]
H A Dbook3s.h11 struct kvm_memory_slot *memslot);
H A Dbook3s_64_vio.c356 struct kvm_memory_slot *memslot; in kvmppc_tce_to_ua() local
358 memslot = __gfn_to_memslot(kvm_memslots(kvm), gfn); in kvmppc_tce_to_ua()
359 if (!memslot) in kvmppc_tce_to_ua()
362 *ua = __gfn_to_hva_memslot(memslot, gfn) | in kvmppc_tce_to_ua()
H A Dbook3s_hv.c5266 struct kvm_memory_slot *memslot; in kvm_vm_ioctl_get_dirty_log_hv() local
5279 memslot = id_to_memslot(slots, log->slot); in kvm_vm_ioctl_get_dirty_log_hv()
5281 if (!memslot || !memslot->dirty_bitmap) in kvm_vm_ioctl_get_dirty_log_hv()
5288 n = kvm_dirty_bitmap_bytes(memslot); in kvm_vm_ioctl_get_dirty_log_hv()
5305 p = memslot->dirty_bitmap; in kvm_vm_ioctl_get_dirty_log_hv()
5475 struct kvm_memory_slot *memslot; in kvmppc_hv_setup_htab_rma() local
5503 memslot = gfn_to_memslot(kvm, 0); in kvmppc_hv_setup_htab_rma()
5507 if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) in kvmppc_hv_setup_htab_rma()
5511 hva = memslot->userspace_addr; in kvmppc_hv_setup_htab_rma()
5534 kvmppc_map_vrma(vcpu, memslot, porder); in kvmppc_hv_setup_htab_rma()
[all …]
H A Dbook3s_pr.c1866 struct kvm_memory_slot *memslot; in kvm_vm_ioctl_get_dirty_log_pr() local
1875 r = kvm_get_dirty_log(kvm, log, &is_dirty, &memslot); in kvm_vm_ioctl_get_dirty_log_pr()
1881 ga = memslot->base_gfn << PAGE_SHIFT; in kvm_vm_ioctl_get_dirty_log_pr()
1882 ga_end = ga + (memslot->npages << PAGE_SHIFT); in kvm_vm_ioctl_get_dirty_log_pr()
1887 n = kvm_dirty_bitmap_bytes(memslot); in kvm_vm_ioctl_get_dirty_log_pr()
1888 memset(memslot->dirty_bitmap, 0, n); in kvm_vm_ioctl_get_dirty_log_pr()
1898 struct kvm_memory_slot *memslot) in kvmppc_core_flush_memslot_pr() argument
/linux-6.15/arch/arm64/kvm/
H A Dmmu.c165 return memslot->dirty_bitmap && !(memslot->flags & KVM_MEM_READONLY); in memslot_is_logging()
356 struct kvm_memory_slot *memslot) in stage2_flush_memslot() argument
374 struct kvm_memory_slot *memslot; in stage2_flush_vm() local
382 stage2_flush_memslot(kvm, memslot); in stage2_flush_vm()
1051 struct kvm_memory_slot *memslot; in stage2_unmap_vm() local
1212 if (WARN_ON_ONCE(!memslot)) in kvm_mmu_wp_memory_region()
1216 end = (memslot->base_gfn + memslot->npages) << PAGE_SHIFT; in kvm_mmu_wp_memory_region()
1237 struct kvm_memory_slot *memslot; in kvm_mmu_split_memory_region() local
1246 end = (memslot->base_gfn + memslot->npages) << PAGE_SHIFT; in kvm_mmu_split_memory_region()
1307 size = memslot->npages * PAGE_SIZE; in fault_supports_stage2_huge_mapping()
[all …]
/linux-6.15/arch/loongarch/kvm/
H A Dmmu.c614 if (kvm_slot_dirty_track_enabled(memslot) && write) in fault_supports_huge_mapping()
617 if (kvm_hugepage_capable(memslot)) in fault_supports_huge_mapping()
620 if (kvm_hugepage_incapable(memslot)) in fault_supports_huge_mapping()
623 start = memslot->userspace_addr; in fault_supports_huge_mapping()
624 end = start + memslot->npages * PAGE_SIZE; in fault_supports_huge_mapping()
781 struct kvm_memory_slot *memslot; in kvm_map_page() local
791 memslot = gfn_to_memslot(kvm, gfn); in kvm_map_page()
866 if (fault_supports_huge_mapping(memslot, hva, write)) { in kvm_map_page()
868 level = host_pfn_mapping_level(kvm, gfn, memslot); in kvm_map_page()
908 mark_page_dirty_in_slot(kvm, memslot, gfn); in kvm_map_page()
[all …]
/linux-6.15/virt/kvm/
H A Ddirty_ring.c55 struct kvm_memory_slot *memslot; in kvm_reset_dirty_gfn() local
67 memslot = id_to_memslot(__kvm_memslots(kvm, as_id), id); in kvm_reset_dirty_gfn()
69 if (!memslot || (offset + __fls(mask)) >= memslot->npages) in kvm_reset_dirty_gfn()
73 kvm_arch_mmu_enable_log_dirty_pt_masked(kvm, memslot, offset, mask); in kvm_reset_dirty_gfn()
H A Dkvm_main.c340 kvm_flush_remote_tlbs_range(kvm, memslot->base_gfn, memslot->npages); in kvm_flush_remote_tlbs_memslot()
948 if (!memslot->dirty_bitmap) in kvm_destroy_dirty_bitmap()
951 vfree(memslot->dirty_bitmap); in kvm_destroy_dirty_bitmap()
1382 if (!memslot->dirty_bitmap) in kvm_alloc_dirty_bitmap()
2111 *memslot = NULL; in kvm_get_dirty_log()
2121 if (!(*memslot) || !(*memslot)->dirty_bitmap) in kvm_get_dirty_log()
2183 if (!memslot || !memslot->dirty_bitmap) in kvm_get_dirty_log_protect()
2298 if (!memslot || !memslot->dirty_bitmap) in kvm_clear_dirty_log_protect()
3338 ghc->memslot = NULL; in __kvm_gfn_to_hva_cache_init()
3461 if (memslot && kvm_slot_dirty_track_enabled(memslot)) { in mark_page_dirty_in_slot()
[all …]
H A Dpfncache.c165 .slot = gpc->memslot, in hva_to_pfn_retry()
287 gpc->memslot = NULL; in __kvm_gpc_refresh()
303 gpc->memslot = __gfn_to_memslot(slots, gfn); in __kvm_gpc_refresh()
304 gpc->uhva = gfn_to_hva_memslot(gpc->memslot, gfn); in __kvm_gpc_refresh()
/linux-6.15/arch/riscv/kvm/
H A Dvcpu_exit.c16 struct kvm_memory_slot *memslot; in gstage_page_fault() local
24 memslot = gfn_to_memslot(vcpu->kvm, gfn); in gstage_page_fault()
25 hva = gfn_to_hva_memslot_prot(memslot, gfn, &writable); in gstage_page_fault()
43 ret = kvm_riscv_gstage_map(vcpu, memslot, fault_addr, hva, in gstage_page_fault()
H A Dmmu.c336 struct kvm_memory_slot *memslot = id_to_memslot(slots, slot); in gstage_wp_memory_region() local
337 phys_addr_t start = memslot->base_gfn << PAGE_SHIFT; in gstage_wp_memory_region()
338 phys_addr_t end = (memslot->base_gfn + memslot->npages) << PAGE_SHIFT; in gstage_wp_memory_region()
405 void kvm_arch_sync_dirty_log(struct kvm *kvm, struct kvm_memory_slot *memslot) in kvm_arch_sync_dirty_log() argument
590 struct kvm_memory_slot *memslot, in kvm_riscv_gstage_map() argument
601 bool logging = (memslot->dirty_bitmap && in kvm_riscv_gstage_map()
602 !(memslot->flags & KVM_MEM_READONLY)) ? true : false; in kvm_riscv_gstage_map()
/linux-6.15/arch/powerpc/include/asm/
H A Dkvm_book3s.h198 const struct kvm_memory_slot *memslot,
205 struct kvm_memory_slot *memslot,
214 extern void kvm_unmap_radix(struct kvm *kvm, struct kvm_memory_slot *memslot,
216 extern bool kvm_age_radix(struct kvm *kvm, struct kvm_memory_slot *memslot,
218 extern bool kvm_test_age_radix(struct kvm *kvm, struct kvm_memory_slot *memslot,
221 struct kvm_memory_slot *memslot, unsigned long *map);
223 const struct kvm_memory_slot *memslot);
241 extern void kvmppc_update_dirty_map(const struct kvm_memory_slot *memslot,
258 struct kvm_memory_slot *memslot, unsigned long *map);
260 struct kvm_memory_slot *memslot,
H A Dkvm_book3s_64.h488 static inline bool slot_is_aligned(struct kvm_memory_slot *memslot, in slot_is_aligned() argument
495 return !(memslot->base_gfn & mask) && !(memslot->npages & mask); in slot_is_aligned()
635 const struct kvm_memory_slot *memslot,
/linux-6.15/include/linux/
H A Dkvm_types.h57 struct kvm_memory_slot *memslot; member
64 struct kvm_memory_slot *memslot; member
H A Dkvm_host.h629 return ALIGN(memslot->npages, BITS_PER_LONG) / 8; in kvm_dirty_bitmap_bytes()
634 unsigned long len = kvm_dirty_bitmap_bytes(memslot); in kvm_second_dirty_bitmap()
636 return memslot->dirty_bitmap + len / sizeof(*memslot->dirty_bitmap); in kvm_second_dirty_bitmap()
1082 #define kvm_for_each_memslot(memslot, bkt, slots) \ argument
1083 hash_for_each(slots->id_hash, bkt, memslot, id_node[slots->node_idx]) \
1084 if (WARN_ON_ONCE(!memslot->npages)) { \
1515 const struct kvm_memory_slot *memslot);
1547 int *is_dirty, struct kvm_memory_slot **memslot);
1908 if (!gpc->memslot) in kvm_gpc_mark_dirty_in_slot()
2378 return (memslot && memslot->id < KVM_USER_MEM_SLOTS && in kvm_is_visible_memslot()
[all …]
/linux-6.15/arch/x86/include/asm/uv/
H A Duv_geo.h57 char memslot; /* The memory slot on the bus */ member
/linux-6.15/tools/testing/selftests/kvm/lib/
H A Dkvm_util.c1161 memslot2region(struct kvm_vm *vm, uint32_t memslot) in memslot2region() argument
1166 memslot) in memslot2region()
1167 if (region->region.slot == memslot) in memslot2region()
1171 " requested slot: %u\n", memslot); in memslot2region()
2074 vm_paddr_t paddr_min, uint32_t memslot, in __vm_phy_pages_alloc() argument
2087 region = memslot2region(vm, memslot); in __vm_phy_pages_alloc()
2104 paddr_min, vm->page_size, memslot); in __vm_phy_pages_alloc()
2120 uint32_t memslot) in vm_phy_page_alloc() argument
2122 return vm_phy_pages_alloc(vm, 1, paddr_min, memslot); in vm_phy_page_alloc()
/linux-6.15/tools/testing/selftests/kvm/include/
H A Dkvm_util.h148 memslot2region(struct kvm_vm *vm, uint32_t memslot);
880 uint32_t memslot);
882 vm_paddr_t paddr_min, uint32_t memslot,
887 vm_paddr_t paddr_min, uint32_t memslot) in vm_phy_pages_alloc() argument
894 return __vm_phy_pages_alloc(vm, num, paddr_min, memslot, in vm_phy_pages_alloc()
/linux-6.15/arch/x86/kvm/mmu/
H A Dmmu.c6713 const struct kvm_memory_slot *memslot; in kvm_rmap_zap_gfn_range() local
6727 memslot = iter.slot; in kvm_rmap_zap_gfn_range()
6728 start = max(gfn_start, memslot->base_gfn); in kvm_rmap_zap_gfn_range()
6729 end = min(gfn_end, memslot->base_gfn + memslot->npages); in kvm_rmap_zap_gfn_range()
6779 const struct kvm_memory_slot *memslot, in kvm_mmu_slot_remove_write_access() argument
7027 const struct kvm_memory_slot *memslot, in kvm_mmu_try_split_huge_pages() argument
7046 const struct kvm_memory_slot *memslot, in kvm_mmu_slot_try_split_huge_pages() argument
7049 u64 start = memslot->base_gfn; in kvm_mmu_slot_try_split_huge_pages()
7050 u64 end = start + memslot->npages; in kvm_mmu_slot_try_split_huge_pages()
7142 const struct kvm_memory_slot *memslot) in kvm_mmu_slot_leaf_clear_dirty() argument
[all …]

12