Re: [PATCH v2 00/20] KVM: selftests: PPC pre-enabling
From: Itaru Kitayama <hidden>
Date: 2026-09-02 23:08:18
Also in:
kvm, kvm-riscv, kvmarm, linux-riscv, lkml, loongarch
On Wed, Sep 02, 2026 at 09:41:03AM -0700, Sean Christopherson wrote:
This is a big pile of cleanups and refactoring to prepare for PPC support in KVM selftests. PPC has paging modes that require multi-page page tables, and those page tables need to be naturally aligned. The original proposal was to plumb in an @align param to the page allocators[*], but I didn't love the idea of adding another rarely used param to the allocators. v2: - Collect tags. [Itaru, Bibo]
I ran kvm_page_table_test for arm64 again it went ok on HW. Tested-by: Itaru Kitayam <redacted> Thanks, Itaru.
- Use 0x180000 as the min GPA for page table pages on LoongArch, instead of changing every other arch to use 0x200000. [Sashiko, Bibo] - Opportunistically move the vGIC LPI stress test's global "gpa_base" variable into setup_memslot(). [Sashiko] v1: https://lore.kernel.org/all/20260826230511.972824-1-seanjc@google.com (local) [*] https://lore.kernel.org/all/df86b5ccdbdafc3509d9538bd5e6796737bab2db.1781093720.git.ritesh.list@gmail.com (local) Nicholas Piggin (1): KVM: selftests: Use goto instead of do-while to retry finding unused physical pages Sean Christopherson (19): KVM: selftests: Use MEM_REGION_PT memslot instead of '0' for s390 regions/segments KVM: selftests: Use the common minimum GPA for page tables on LoongArch KVM: selftests: Use vm_alloc_page_table() to allocate LoongArch page tables KVM: selftests: Rename "num" param to "nr_pages" for physical page allocators KVM: selftests: Extend page allocator to support naturally aligned allocations KVM: selftests: Make the single-page allocator APIs static inline KVM: selftests: Use the innermost page allocator API in the memslot perf test KVM: selftests: Use the innermost page allocator API in s390's IRQ routing test KVM: selftests: Add a wrapper API to allocate multiple page table pages KVM: selftests: Initialize vm->memslots[] with invalid memslots during creation KVM: selftests: Add APIs to override memory region types with custom memslots KVM: selftests: Add TEST_EXTRA memory region type for "special" memslots KVM: selftests: Use TEST_EXTRA region in arm64's vGIC LPI stress test KVM: selftests: Use TEST_EXTRA region in x86's smaller MAXPHYADDR test KVM: selftests: Use TEST_EXTRA region in set memory region test KVM: selftests: Take the memory region type, not memslot, in page allocators KVM: selftests: Use TEST_ASSERT(), not assert(), in vm_get_mem_region() KVM: selftests: Automatically pick min_gpa for allocations based on region type KVM: selftests: Add arch hook to force page tables to be naturally aligned .../selftests/kvm/arm64/page_fault_test.c | 18 ++- .../selftests/kvm/arm64/vgic_lpi_stress.c | 21 ++- .../testing/selftests/kvm/include/kvm_util.h | 106 +++++++++++++-- tools/testing/selftests/kvm/include/x86/smm.h | 2 +- .../selftests/kvm/lib/arm64/processor.c | 4 +- tools/testing/selftests/kvm/lib/kvm_util.c | 127 +++++++++++------- .../selftests/kvm/lib/loongarch/processor.c | 5 +- .../selftests/kvm/lib/riscv/processor.c | 4 +- .../selftests/kvm/lib/s390/processor.c | 7 +- .../testing/selftests/kvm/lib/x86/processor.c | 15 ++- .../testing/selftests/kvm/memslot_perf_test.c | 3 +- tools/testing/selftests/kvm/s390/cmma_test.c | 19 +-- .../testing/selftests/kvm/s390/irq_routing.c | 2 +- .../selftests/kvm/set_memory_region_test.c | 8 +- .../x86/smaller_maxphyaddr_emulation_test.c | 9 +- 15 files changed, 221 insertions(+), 129 deletions(-) base-commit: 76671054f9a1ff6abb976583cd8da37650acdc97 -- 2.55.0.966.g6673acef38-goog