Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

KVM: selftests: Unconditionally use memslot 0 for vaddr allocations

Drop the memslot param(s) from vm_vaddr_alloc() now that all callers
directly specific '0' as the memslot. Drop the memslot param from
virt_pgd_alloc() as well since vm_vaddr_alloc() is its only user.
I.e. shove the hardcoded '0' down to the vm_phy_pages_alloc() calls.

No functional change intended.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

authored by

Sean Christopherson and committed by
Paolo Bonzini
a75a895e 408633c3

+18 -21
+2 -3
tools/testing/selftests/kvm/include/kvm_util.h
··· 140 140 void vm_mem_region_move(struct kvm_vm *vm, uint32_t slot, uint64_t new_gpa); 141 141 void vm_mem_region_delete(struct kvm_vm *vm, uint32_t slot); 142 142 void vm_vcpu_add(struct kvm_vm *vm, uint32_t vcpuid); 143 - vm_vaddr_t vm_vaddr_alloc(struct kvm_vm *vm, size_t sz, vm_vaddr_t vaddr_min, 144 - uint32_t data_memslot, uint32_t pgd_memslot); 143 + vm_vaddr_t vm_vaddr_alloc(struct kvm_vm *vm, size_t sz, vm_vaddr_t vaddr_min); 145 144 vm_vaddr_t vm_vaddr_alloc_pages(struct kvm_vm *vm, int nr_pages); 146 145 vm_vaddr_t vm_vaddr_alloc_page(struct kvm_vm *vm); 147 146 ··· 238 239 239 240 const char *exit_reason_str(unsigned int exit_reason); 240 241 241 - void virt_pgd_alloc(struct kvm_vm *vm, uint32_t pgd_memslot); 242 + void virt_pgd_alloc(struct kvm_vm *vm); 242 243 243 244 /* 244 245 * VM Virtual Page Map
+3 -3
tools/testing/selftests/kvm/lib/aarch64/processor.c
··· 72 72 return 1 << (vm->page_shift - 3); 73 73 } 74 74 75 - void virt_pgd_alloc(struct kvm_vm *vm, uint32_t pgd_memslot) 75 + void virt_pgd_alloc(struct kvm_vm *vm) 76 76 { 77 77 if (!vm->pgd_created) { 78 78 vm_paddr_t paddr = vm_phy_pages_alloc(vm, 79 79 page_align(vm, ptrs_per_pgd(vm) * 8) / vm->page_size, 80 - KVM_GUEST_PAGE_TABLE_MIN_PADDR, pgd_memslot); 80 + KVM_GUEST_PAGE_TABLE_MIN_PADDR, 0); 81 81 vm->pgd = paddr; 82 82 vm->pgd_created = true; 83 83 } ··· 302 302 DEFAULT_STACK_PGS * vm->page_size : 303 303 vm->page_size; 304 304 uint64_t stack_vaddr = vm_vaddr_alloc(vm, stack_size, 305 - DEFAULT_ARM64_GUEST_STACK_VADDR_MIN, 0, 0); 305 + DEFAULT_ARM64_GUEST_STACK_VADDR_MIN); 306 306 307 307 vm_vcpu_add(vm, vcpuid); 308 308 aarch64_vcpu_setup(vm, vcpuid, init);
+1 -1
tools/testing/selftests/kvm/lib/elf.c
··· 163 163 seg_vend |= vm->page_size - 1; 164 164 size_t seg_size = seg_vend - seg_vstart + 1; 165 165 166 - vm_vaddr_t vaddr = vm_vaddr_alloc(vm, seg_size, seg_vstart, 0, 0); 166 + vm_vaddr_t vaddr = vm_vaddr_alloc(vm, seg_size, seg_vstart); 167 167 TEST_ASSERT(vaddr == seg_vstart, "Unable to allocate " 168 168 "virtual memory for segment at requested min addr,\n" 169 169 " segment idx: %u\n"
+5 -7
tools/testing/selftests/kvm/lib/kvm_util.c
··· 1247 1247 * a unique set of pages, with the minimum real allocation being at least 1248 1248 * a page. 1249 1249 */ 1250 - vm_vaddr_t vm_vaddr_alloc(struct kvm_vm *vm, size_t sz, vm_vaddr_t vaddr_min, 1251 - uint32_t data_memslot, uint32_t pgd_memslot) 1250 + vm_vaddr_t vm_vaddr_alloc(struct kvm_vm *vm, size_t sz, vm_vaddr_t vaddr_min) 1252 1251 { 1253 1252 uint64_t pages = (sz >> vm->page_shift) + ((sz % vm->page_size) != 0); 1254 1253 1255 - virt_pgd_alloc(vm, pgd_memslot); 1254 + virt_pgd_alloc(vm); 1256 1255 vm_paddr_t paddr = vm_phy_pages_alloc(vm, pages, 1257 - KVM_UTIL_MIN_PFN * vm->page_size, 1258 - data_memslot); 1256 + KVM_UTIL_MIN_PFN * vm->page_size, 0); 1259 1257 1260 1258 /* 1261 1259 * Find an unused range of virtual page addresses of at least ··· 1265 1267 for (vm_vaddr_t vaddr = vaddr_start; pages > 0; 1266 1268 pages--, vaddr += vm->page_size, paddr += vm->page_size) { 1267 1269 1268 - virt_pg_map(vm, vaddr, paddr, pgd_memslot); 1270 + virt_pg_map(vm, vaddr, paddr, 0); 1269 1271 1270 1272 sparsebit_set(vm->vpages_mapped, 1271 1273 vaddr >> vm->page_shift); ··· 1290 1292 */ 1291 1293 vm_vaddr_t vm_vaddr_alloc_pages(struct kvm_vm *vm, int nr_pages) 1292 1294 { 1293 - return vm_vaddr_alloc(vm, nr_pages * getpagesize(), KVM_UTIL_MIN_VADDR, 0, 0); 1295 + return vm_vaddr_alloc(vm, nr_pages * getpagesize(), KVM_UTIL_MIN_VADDR); 1294 1296 } 1295 1297 1296 1298 /*
+3 -3
tools/testing/selftests/kvm/lib/s390x/processor.c
··· 13 13 14 14 #define PAGES_PER_REGION 4 15 15 16 - void virt_pgd_alloc(struct kvm_vm *vm, uint32_t memslot) 16 + void virt_pgd_alloc(struct kvm_vm *vm) 17 17 { 18 18 vm_paddr_t paddr; 19 19 ··· 24 24 return; 25 25 26 26 paddr = vm_phy_pages_alloc(vm, PAGES_PER_REGION, 27 - KVM_GUEST_PAGE_TABLE_MIN_PADDR, memslot); 27 + KVM_GUEST_PAGE_TABLE_MIN_PADDR, 0); 28 28 memset(addr_gpa2hva(vm, paddr), 0xff, PAGES_PER_REGION * vm->page_size); 29 29 30 30 vm->pgd = paddr; ··· 170 170 vm->page_size); 171 171 172 172 stack_vaddr = vm_vaddr_alloc(vm, stack_size, 173 - DEFAULT_GUEST_STACK_VADDR_MIN, 0, 0); 173 + DEFAULT_GUEST_STACK_VADDR_MIN); 174 174 175 175 vm_vcpu_add(vm, vcpuid); 176 176
+3 -3
tools/testing/selftests/kvm/lib/x86_64/processor.c
··· 207 207 } 208 208 } 209 209 210 - void virt_pgd_alloc(struct kvm_vm *vm, uint32_t pgd_memslot) 210 + void virt_pgd_alloc(struct kvm_vm *vm) 211 211 { 212 212 TEST_ASSERT(vm->mode == VM_MODE_PXXV48_4K, "Attempt to use " 213 213 "unknown or unsupported guest mode, mode: 0x%x", vm->mode); ··· 215 215 /* If needed, create page map l4 table. */ 216 216 if (!vm->pgd_created) { 217 217 vm_paddr_t paddr = vm_phy_page_alloc(vm, 218 - KVM_GUEST_PAGE_TABLE_MIN_PADDR, pgd_memslot); 218 + KVM_GUEST_PAGE_TABLE_MIN_PADDR, 0); 219 219 vm->pgd = paddr; 220 220 vm->pgd_created = true; 221 221 } ··· 580 580 struct kvm_regs regs; 581 581 vm_vaddr_t stack_vaddr; 582 582 stack_vaddr = vm_vaddr_alloc(vm, DEFAULT_STACK_PGS * getpagesize(), 583 - DEFAULT_GUEST_STACK_VADDR_MIN, 0, 0); 583 + DEFAULT_GUEST_STACK_VADDR_MIN); 584 584 585 585 /* Create VCPU */ 586 586 vm_vcpu_add(vm, vcpuid);
+1 -1
tools/testing/selftests/kvm/x86_64/get_cpuid_test.c
··· 145 145 struct kvm_cpuid2 *vcpu_alloc_cpuid(struct kvm_vm *vm, vm_vaddr_t *p_gva, struct kvm_cpuid2 *cpuid) 146 146 { 147 147 int size = sizeof(*cpuid) + cpuid->nent * sizeof(cpuid->entries[0]); 148 - vm_vaddr_t gva = vm_vaddr_alloc(vm, size, KVM_UTIL_MIN_VADDR, 0, 0); 148 + vm_vaddr_t gva = vm_vaddr_alloc(vm, size, KVM_UTIL_MIN_VADDR); 149 149 struct kvm_cpuid2 *guest_cpuids = addr_gva2hva(vm, gva); 150 150 151 151 memcpy(guest_cpuids, cpuid, size);