[PATCH v3 0/8] Use TAP in some more x86 KVM selftests

From: Thomas Huth
Date: Thu Feb 08 2024 - 15:49:29 EST


Basic idea of this series is now to use the kselftest_harness.h
framework to get TAP output in the tests, so that it is easier
for the user to see what is going on, and e.g. to be able to
detect whether a certain test is part of the test binary or not
(which is useful when tests get extended in the course of time).

Since most tests also need a vcpu, we introduce our own macros
to define such tests, so we don't have to repeat this code all
over the place.

v3:
- Add patch from Sean to allow setting vCPU's entry points seperately
- Let each test define the entry point via KVM_ONE_VCPU_TEST(), don't
do it globally from KVM_ONE_VCPU_TEST_SUITE()

v2:
- Dropped the "Rename the ASSERT_EQ macro" patch (already merged)
- Split the fixes in the sync_regs_test into separate patches
(see the first two patches)
- Introduce the KVM_ONE_VCPU_TEST_SUITE() macro as suggested
by Sean (see third patch) and use it in the following patches
- Add a new patch to convert vmx_pmu_caps_test.c, too

Sean Christopherson (1):
KVM: selftests: Move setting a vCPU's entry point to a dedicated API

Thomas Huth (7):
KVM: selftests: x86: sync_regs_test: Use vcpu_run() where appropriate
KVM: selftests: x86: sync_regs_test: Get regs structure before
modifying it
KVM: selftests: Add a macro to define a test with one vcpu
KVM: selftests: x86: Use TAP interface in the sync_regs test
KVM: selftests: x86: Use TAP interface in the fix_hypercall test
KVM: selftests: x86: Use TAP interface in the vmx_pmu_caps test
KVM: selftests: x86: Use TAP interface in the userspace_msr_exit test

.../selftests/kvm/include/kvm_test_harness.h | 36 ++++++
.../selftests/kvm/include/kvm_util_base.h | 11 +-
.../selftests/kvm/lib/aarch64/processor.c | 23 +++-
.../selftests/kvm/lib/riscv/processor.c | 9 +-
.../selftests/kvm/lib/s390x/processor.c | 13 +-
.../selftests/kvm/lib/x86_64/processor.c | 13 +-
.../selftests/kvm/x86_64/fix_hypercall_test.c | 27 ++--
.../selftests/kvm/x86_64/sync_regs_test.c | 121 +++++++++++++-----
.../kvm/x86_64/userspace_msr_exit_test.c | 52 ++------
.../selftests/kvm/x86_64/vmx_pmu_caps_test.c | 50 ++------
10 files changed, 215 insertions(+), 140 deletions(-)
create mode 100644 tools/testing/selftests/kvm/include/kvm_test_harness.h

--
2.43.0