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

Configure Feed

Select the types of activity you want to include in your feed.

KVM: selftests: Move page_align() to shared header

To avoid code duplication, move page_align() to the shared `kvm_util.h`
header file. Rename it to vm_page_align(), to make it clear that the
alignment is done with respect to the guest's base page size.

No functional change intended.

Reviewed-by: Andrew Jones <andrew.jones@linux.dev>
Signed-off-by: Fuad Tabba <tabba@google.com>
Link: https://patch.msgid.link/20260109082218.3236580-5-tabba@google.com
Signed-off-by: Marc Zyngier <maz@kernel.org>

authored by

Fuad Tabba and committed by
Marc Zyngier
de00d073 582b3946

+7 -12
+5
tools/testing/selftests/kvm/include/kvm_util.h
··· 1258 1258 return __vm_enable_cap(vm, KVM_CAP_VM_DISABLE_NX_HUGE_PAGES, 0); 1259 1259 } 1260 1260 1261 + static inline uint64_t vm_page_align(struct kvm_vm *vm, uint64_t v) 1262 + { 1263 + return (v + vm->page_size - 1) & ~(vm->page_size - 1); 1264 + } 1265 + 1261 1266 /* 1262 1267 * Arch hook that is invoked via a constructor, i.e. before exeucting main(), 1263 1268 * to allow for arch-specific setup that is common to all tests, e.g. computing
+1 -6
tools/testing/selftests/kvm/lib/arm64/processor.c
··· 21 21 22 22 static vm_vaddr_t exception_handlers; 23 23 24 - static uint64_t page_align(struct kvm_vm *vm, uint64_t v) 25 - { 26 - return (v + vm->page_size - 1) & ~(vm->page_size - 1); 27 - } 28 - 29 24 static uint64_t pgd_index(struct kvm_vm *vm, vm_vaddr_t gva) 30 25 { 31 26 unsigned int shift = (vm->pgtable_levels - 1) * (vm->page_shift - 3) + vm->page_shift; ··· 110 115 111 116 void virt_arch_pgd_alloc(struct kvm_vm *vm) 112 117 { 113 - size_t nr_pages = page_align(vm, ptrs_per_pgd(vm) * 8) / vm->page_size; 118 + size_t nr_pages = vm_page_align(vm, ptrs_per_pgd(vm) * 8) / vm->page_size; 114 119 115 120 if (vm->pgd_created) 116 121 return;
+1 -6
tools/testing/selftests/kvm/lib/riscv/processor.c
··· 26 26 return !ret && !!value; 27 27 } 28 28 29 - static uint64_t page_align(struct kvm_vm *vm, uint64_t v) 30 - { 31 - return (v + vm->page_size - 1) & ~(vm->page_size - 1); 32 - } 33 - 34 29 static uint64_t pte_addr(struct kvm_vm *vm, uint64_t entry) 35 30 { 36 31 return ((entry & PGTBL_PTE_ADDR_MASK) >> PGTBL_PTE_ADDR_SHIFT) << ··· 63 68 64 69 void virt_arch_pgd_alloc(struct kvm_vm *vm) 65 70 { 66 - size_t nr_pages = page_align(vm, ptrs_per_pte(vm) * 8) / vm->page_size; 71 + size_t nr_pages = vm_page_align(vm, ptrs_per_pte(vm) * 8) / vm->page_size; 67 72 68 73 if (vm->pgd_created) 69 74 return;