This patch series extends the arm64 KVM selftest framework to support 52-bit guest virtual address (VA) modes in addition to the existing 52-bit physical address (PA) configurations. The motivation is to enable validation of LPA2 guest memory-management behaviour in configurations that use a 52-bit VA space. While the selftest framework already supports testing 52-bit PA configurations, it lacks the ability to exercise guests running with 52-bit virtual addresses, leaving part of the LPA2 functionality untested. To address this, the series introduces new guest modes for 52-bit VA operation, adds five-level page table support where required, and performs runtime detection of host 52-bit VA capability so that LPA2-enabled guest VA tests are executed only on supported systems.
Testing: Built and ran lpa_test on QEMU with 52-bit VA support. The test verified shared mappings at low and high guest virtual addresses, then remapped the high VA to a different GPA and verified that the mappings remained independent. Signed-off-by: Itaru Kitayama <[email protected]> Reviewed-by: Takayuki Okamoto <[email protected]> --- Changes in v2: - Reorganize the series so that each patch builds independently. - Move all P52V52 mode definitions and uses into the same patch. - Use the standard "KVM: arm64: selftests:" subject prefix. - Reuse one probe VM and vCPU for IPA and 64K VA capability detection. - Make the VARange result explicitly specific to the 64K granule. - Clarify that only the 4K P52V52 mode uses five page-table levels. - Link to v1: https://patch.msgid.link/[email protected] To: Marc Zyngier <[email protected]> To: Oliver Upton <[email protected]> To: Fuad Tabba <[email protected]> To: Joey Gouly <[email protected]> To: Steffen Eiden <[email protected]> To: Suzuki K Poulose <[email protected]> To: Zenghui Yu <[email protected]> To: Paolo Bonzini <[email protected]> To: Sean Christopherson <[email protected]> To: Shuah Khan <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] --- Itaru Kitayama (3): KVM: arm64: selftests: Support five-level stage-1 page tables KVM: arm64: selftests: Add 52-bit VA guest modes KVM: arm64: selftests: Test 52-bit guest virtual addresses tools/testing/selftests/kvm/Makefile.kvm | 1 + tools/testing/selftests/kvm/arm64/lpa_test.c | 124 +++++++++++++++++++++ .../selftests/kvm/include/arm64/processor.h | 3 +- tools/testing/selftests/kvm/include/kvm_util.h | 3 + tools/testing/selftests/kvm/lib/arm64/processor.c | 60 +++++++++- tools/testing/selftests/kvm/lib/guest_modes.c | 7 +- tools/testing/selftests/kvm/lib/kvm_util.c | 11 ++ 7 files changed, 200 insertions(+), 9 deletions(-) --- base-commit: 28924df2a08f440c73991b83028032c901de2ae4 change-id: 20260825-arm64-52bit-va-32f1f4cd050d Best regards, -- Itaru Kitayama <[email protected]>

