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

Yosry Ahmed posted 12 patches 4 hours ago
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%)
[PATCH 00/12] Extend test coverage for nested SVM
Posted by Yosry Ahmed 4 hours ago
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

 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
Re: [PATCH 00/12] Extend test coverage for nested SVM
Posted by Yosry Ahmed an hour ago
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
>