/kernel/linux/linux-5.10/include/linux/ |
H A D | kvm_host.h | 54 * i.e. may (or may not) have come from the previous memslots generation. 56 * This is necessary because the actual memslots update is not atomic with 58 * first would allow a vCPU to cache a spte from the old memslots using the 60 * to the new memslots would allow cache hits using the old generation number 61 * to reference the defunct memslots. 66 * cache *before* the memslots were updated. 435 * memslots are not sorted by id anymore, please use id_to_memslot() 440 /* The mapping table from slot id to the index in memslots[]. */ 444 struct kvm_memory_slot memslots[]; member 451 struct kvm_memslots __rcu *memslots[KVM_ADDRESS_SPACE_NU member 1099 struct kvm_memory_slot *memslots = slots->memslots; search_memslots() local [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/aarch64/ |
H A D | page_fault_test.c | 173 * in a gap between memslots not backing by anything. in guest_ld_preidx() 601 vm->memslots[MEM_REGION_CODE] = CODE_AND_DATA_MEMSLOT; in setup_memslots() 602 vm->memslots[MEM_REGION_DATA] = CODE_AND_DATA_MEMSLOT; in setup_memslots() 607 vm->memslots[MEM_REGION_PT] = PAGE_TABLE_MEMSLOT; in setup_memslots() 612 vm->memslots[MEM_REGION_TEST_DATA] = TEST_DATA_MEMSLOT; in setup_memslots()
|
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/s390x/ |
H A D | cmma_test.c | 107 /* set the array of memslots to zero like __vm_create does */ in create_main_memslot() 109 vm->memslots[i] = 0; in create_main_memslot() 121 vm->memslots[MEM_REGION_TEST_DATA] = TEST_DATA_MEMSLOT; in create_test_memslot() 305 /* migration mode when memslots have dirty tracking off should fail */ in test_migration_mode() 377 * CMMA attributes of all pages in both memslots and nothing more dirty.
|
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/lib/s390x/ |
H A D | processor.c | 25 vm->memslots[MEM_REGION_PT]); in virt_arch_pgd_alloc()
|
/kernel/linux/linux-5.10/arch/s390/kvm/ |
H A D | kvm-s390.c | 1005 * Must be called with kvm->srcu held to avoid races on memslots, and with 1028 ms = slots->memslots + slotnr; in kvm_s390_vm_start_migration() 1936 * address falls in a hole. In that case the index of one of the memslots 1943 struct kvm_memory_slot *memslots = slots->memslots; in gfn_to_memslot_approx() local 1945 if (gfn >= memslots[slot].base_gfn && in gfn_to_memslot_approx() 1946 gfn < memslots[slot].base_gfn + memslots[slot].npages) in gfn_to_memslot_approx() 1952 if (gfn >= memslots[slot].base_gfn) in gfn_to_memslot_approx() 1961 if (gfn >= memslots[star in gfn_to_memslot_approx() [all...] |
H A D | pv.c | 133 memslot = kvm_memslots(kvm)->memslots; in kvm_s390_pv_alloc_vm()
|
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/include/ |
H A D | kvm_util_base.h | 121 * KVM region slots. These are the default memslots used by page 122 * allocators, e.g., lib/elf uses the memslots[MEM_REGION_CODE] 125 uint32_t memslots[NR_MEM_REGIONS]; member 162 return memslot2region(vm, vm->memslots[type]); in vm_get_mem_region()
|
/kernel/linux/linux-5.10/arch/powerpc/include/asm/ |
H A D | kvm_book3s_64.h | 539 return rcu_dereference_raw_check(kvm->memslots[0]); in kvm_memslots_raw()
|
/kernel/linux/linux-6.6/arch/powerpc/include/asm/ |
H A D | kvm_book3s_64.h | 540 return rcu_dereference_raw_check(kvm->memslots[0]); in kvm_memslots_raw()
|
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/lib/riscv/ |
H A D | processor.c | 65 vm->memslots[MEM_REGION_PT]); in virt_arch_pgd_alloc()
|
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/lib/ |
H A D | kvm_util.c | 366 vm->memslots[i] = 0; in __vm_create() 371 * TODO: Add proper defines to protect the library's memslots, and then in __vm_create() 373 * read-only memslots as MMIO, and creating a read-only memslot for the in __vm_create() 1340 vm->memslots[type]); in __vm_vaddr_alloc() 1989 vm->memslots[MEM_REGION_PT]); in vm_alloc_page_table()
|
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/lib/aarch64/ |
H A D | processor.c | 104 vm->memslots[MEM_REGION_PT]); in virt_arch_pgd_alloc()
|
/kernel/linux/linux-5.10/virt/kvm/ |
H A D | kvm_main.c | 840 rcu_assign_pointer(kvm->memslots[i], slots); in kvm_create_vm() 1027 struct kvm_memory_slot *mslots = slots->memslots; in kvm_memslot_delete() 1048 * the new slot's initial index into the memslots array. 1060 * current index into the memslots array. 1065 struct kvm_memory_slot *mslots = slots->memslots; in kvm_memslot_move_backward() 1074 * memslots with a higher GFN (than the target memslot) towards the in kvm_memslot_move_backward() 1095 * into the memslots array. 1101 struct kvm_memory_slot *mslots = slots->memslots; in kvm_memslot_move_forward() 1118 * Re-sort memslots based on their GFN to account for an added, deleted, or 1119 * moved memslot. Sorting memslots b [all...] |
/kernel/linux/linux-6.6/include/linux/ |
H A D | kvm_host.h | 64 * i.e. may (or may not) have come from the previous memslots generation. 66 * This is necessary because the actual memslots update is not atomic with 68 * first would allow a vCPU to cache a spte from the old memslots using the 70 * to the new memslots would allow cache hits using the old generation number 71 * to reference the defunct memslots. 76 * cache *before* the memslots were updated. 570 * These two memslot sets normally point to the same set of memslots. 576 * The memslots themselves are independent of each other so they can be 726 struct kvm_memslots __rcu *memslots[KVM_ADDRESS_SPACE_NUM]; member 993 return srcu_dereference_check(kvm->memslots[as_i in __kvm_memslots() [all...] |
/kernel/linux/linux-6.6/virt/kvm/ |
H A D | kvm_main.c | 617 * range is covered by zero or one memslots, don't in __kvm_handle_hva_range() 702 * Skipping invalid memslots is correct if and only change_pte() is in kvm_change_spte_gfn() 730 * start(); rechecking memslots here is unnecessary. Note, a false in kvm_mmu_notifier_change_pte() 1212 rcu_assign_pointer(kvm->memslots[i], &kvm->__memslots[i][0]); in kvm_create_vm() 1332 * memslots would deadlock without this manual intervention. in kvm_destroy_vm() 1487 * Replace @old with @new in the inactive memslots. 1566 /* Grab the generation from the activate memslots. */ in kvm_swap_active_memslots() 1573 * Do not store the new memslots while there are invalidations in in kvm_swap_active_memslots() 1586 rcu_assign_pointer(kvm->memslots[as_id], slots); in kvm_swap_active_memslots() 1602 * identifiable generation number while the memslots ar in kvm_swap_active_memslots() [all...] |