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]>


Reply via email to