[GIT PULL] KVM: x86: Selftests changes for 6.19

From: Sean Christopherson

Date: Tue Nov 25 2025 - 20:46:41 EST


The highlights are Jim's LA57 nested VMX test, and Yosry's many changes to
extend nested VMX tests to also cover nested SVM.

The following changes since commit 211ddde0823f1442e4ad052a2f30f050145ccada:

Linux 6.18-rc2 (2025-10-19 15:19:16 -1000)

are available in the Git repository at:

https://github.com/kvm-x86/linux.git tags/kvm-x86-selftests-6.19

for you to fetch changes up to d2e50389ab44acfa05e72604d701a70b234f9938:

KVM: selftests: Make sure vm->vpages_mapped is always up-to-date (2025-11-21 10:17:05 -0800)

----------------------------------------------------------------
KVM selftests changes for 6.19:

- Fix a math goof in mmu_stress_test when running on a single-CPU system/VM.

- Forcefully override ARCH from x86_64 to x86 to play nice with specifying
ARCH=x86_64 on the command line.

- Extend a bunch of nested VMX to validate nested SVM as well.

- Add support for LA57 in the core VM_MODE_xxx macro, and add a test to
verify KVM can save/restore nested VMX state when L1 is using 5-level
paging, but L2 is not.

- Clean up the guest paging code in anticipation of sharing the core logic for
nested EPT and nested NPT.

----------------------------------------------------------------
Brendan Jackman (1):
KVM: selftests: Don't fall over in mmu_stress_test when only one CPU is present

Jim Mattson (4):
KVM: selftests: Use a loop to create guest page tables
KVM: selftests: Use a loop to walk guest page tables
KVM: selftests: Change VM_MODE_PXXV48_4K to VM_MODE_PXXVYY_4K
KVM: selftests: Add a VMX test for LA57 nested state

Sean Christopherson (2):
KVM: selftests: Forcefully override ARCH from x86_64 to x86
KVM: selftests: Use "gpa" and "gva" for local variable names in pre-fault test

Yosry Ahmed (9):
KVM: selftests: Extend vmx_close_while_nested_test to cover SVM
KVM: selftests: Extend vmx_nested_tsc_scaling_test to cover SVM
KVM: selftests: Move nested invalid CR3 check to its own test
KVM: selftests: Extend nested_invalid_cr3_test to cover SVM
KVM: selftests: Extend vmx_tsc_adjust_test to cover SVM
KVM: selftests: Stop hardcoding PAGE_SIZE in x86 selftests
KVM: selftests: Remove the unused argument to prepare_eptp()
KVM: selftests: Stop using __virt_pg_map() directly in tests
KVM: selftests: Make sure vm->vpages_mapped is always up-to-date

tools/testing/selftests/kvm/Makefile | 2 +-
tools/testing/selftests/kvm/Makefile.kvm | 8 +-
tools/testing/selftests/kvm/include/kvm_util.h | 5 +-
.../testing/selftests/kvm/include/x86/processor.h | 2 +-
tools/testing/selftests/kvm/include/x86/vmx.h | 3 +-
tools/testing/selftests/kvm/lib/arm64/processor.c | 2 +-
tools/testing/selftests/kvm/lib/kvm_util.c | 33 +++---
tools/testing/selftests/kvm/lib/x86/memstress.c | 2 +-
tools/testing/selftests/kvm/lib/x86/processor.c | 84 ++++++-------
tools/testing/selftests/kvm/lib/x86/vmx.c | 9 +-
tools/testing/selftests/kvm/mmu_stress_test.c | 10 +-
.../testing/selftests/kvm/pre_fault_memory_test.c | 32 +++--
tools/testing/selftests/kvm/x86/hyperv_features.c | 2 +-
tools/testing/selftests/kvm/x86/hyperv_ipi.c | 18 +--
tools/testing/selftests/kvm/x86/hyperv_tlb_flush.c | 2 +-
...while_nested_test.c => nested_close_kvm_test.c} | 42 +++++--
.../selftests/kvm/x86/nested_invalid_cr3_test.c | 116 ++++++++++++++++++
..._tsc_adjust_test.c => nested_tsc_adjust_test.c} | 73 +++++++-----
...sc_scaling_test.c => nested_tsc_scaling_test.c} | 48 +++++++-
tools/testing/selftests/kvm/x86/sev_smoke_test.c | 2 +-
tools/testing/selftests/kvm/x86/state_test.c | 2 +-
.../testing/selftests/kvm/x86/userspace_io_test.c | 2 +-
.../testing/selftests/kvm/x86/vmx_dirty_log_test.c | 12 +-
.../selftests/kvm/x86/vmx_nested_la57_state_test.c | 132 +++++++++++++++++++++
24 files changed, 479 insertions(+), 164 deletions(-)
rename tools/testing/selftests/kvm/x86/{vmx_close_while_nested_test.c => nested_close_kvm_test.c} (64%)
create mode 100644 tools/testing/selftests/kvm/x86/nested_invalid_cr3_test.c
rename tools/testing/selftests/kvm/x86/{vmx_tsc_adjust_test.c => nested_tsc_adjust_test.c} (61%)
rename tools/testing/selftests/kvm/x86/{vmx_nested_tsc_scaling_test.c => nested_tsc_scaling_test.c} (83%)
create mode 100644 tools/testing/selftests/kvm/x86/vmx_nested_la57_state_test.c