Re: [PATCH 00/12] Extend test coverage for nested SVM

Yosry Ahmed
2025-10-01T17:37:29Z

On Wed, Oct 01, 2025 at 02:58:04PM +0000, Yosry Ahmed wrote:
> There are multiple selftests exercising nested VMX that are not specific
> to VMX (at least not anymore). Extend their coverage to nested SVM.
>
> Yosry Ahmed (12):
> KVM: selftests: Minor improvements to asserts in
> test_vmx_nested_state()
> KVM: selftests: Extend vmx_set_nested_state_test to cover SVM
> KVM: selftests: Extend vmx_close_while_nested_test to cover SVM
> KVM: selftests: Extend vmx_nested_tsc_scaling_test to cover SVM
> KVM: selftests: Remove invalid CR3 test from vmx_tsc_adjust_test
> KVM: selftests: Extend vmx_tsc_adjust_test to cover SVM
> KVM: selftests: Pass the root HVA directly to nested mapping functions
> KVM: selftests: Use 'leaf' instead of hugepage to describe EPT entries
> KVM: selftests: Move all PTE accesses into nested_create_pte()
> KVM: selftests: Move EPT-specific init outside nested_create_pte()
> KVM: selftests: Refactor generic nested mapping outside VMX code
> KVM: selftests: Extend vmx_dirty_log_test to cover SVM

Ugh, wrong From email on all the patches due to some unorthodox
cherry-picking :)

>
> tools/testing/selftests/kvm/Makefile.kvm | 11 +-
> .../selftests/kvm/include/x86/nested_map.h | 20 ++
> .../selftests/kvm/include/x86/svm_util.h | 13 ++
> tools/testing/selftests/kvm/include/x86/vmx.h | 13 +-
> .../testing/selftests/kvm/lib/x86/memstress.c | 5 +-
> .../selftests/kvm/lib/x86/nested_map.c | 150 +++++++++++++++
> tools/testing/selftests/kvm/lib/x86/svm.c | 70 +++++++
> tools/testing/selftests/kvm/lib/x86/vmx.c | 180 +++---------------
> ...ested_test.c => close_while_nested_test.c} | 42 +++-
> ...rty_log_test.c => nested_dirty_log_test.c} | 95 ++++++---
> ...adjust_test.c => nested_tsc_adjust_test.c} | 79 ++++----
> ...aling_test.c => nested_tsc_scaling_test.c} | 48 ++++-
> ...d_state_test.c => set_nested_state_test.c} | 132 +++++++++++--
> 13 files changed, 609 insertions(+), 249 deletions(-)
> create mode 100644 tools/testing/selftests/kvm/include/x86/nested_map.h
> create mode 100644 tools/testing/selftests/kvm/lib/x86/nested_map.c
> rename tools/testing/selftests/kvm/x86/{vmx_close_while_nested_test.c => close_while_nested_test.c} (64%)
> rename tools/testing/selftests/kvm/x86/{vmx_dirty_log_test.c => nested_dirty_log_test.c} (62%)
> 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%)
> rename tools/testing/selftests/kvm/x86/{vmx_set_nested_state_test.c => set_nested_state_test.c} (67%)
>
> --
> 2.51.0.618.g983fd99d29-goog
>