[GIT PULL] KVM: Selftests changes for 6.15, part 1

From: Sean Christopherson
Date: Tue Mar 18 2025 - 14:07:00 EST


These are the selftests changes that were originally slated for 6.14, but got
omitted because of the mess with the Intel PMU counters failing due to the test
trying to validate architectural events on unsupported hardware.

The following changes since commit 10b2c8a67c4b8ec15f9d07d177f63b563418e948:

Merge tag 'kvm-x86-fixes-6.13-rcN' of https://github.com/kvm-x86/linux into HEAD (2024-12-22 12:59:33 -0500)

are available in the Git repository at:

https://github.com/kvm-x86/linux.git tags/kvm-x86-selftests_6.15-1

for you to fetch changes up to 54108e73344480c3e5f3799129970009f52c59f4:

KVM: selftests: Print out the actual Top-Down Slots count on failure (2025-02-12 08:34:56 -0800)

----------------------------------------------------------------
KVM selftests changes for 6.15, part 1

- Misc cleanups and prep work.

- Annotate _no_printf() with "printf" so that pr_debug() statements are
checked by the compiler for default builds (and pr_info() when QUIET).

- Attempt to whack the last LLC references/misses mole in the Intel PMU
counters test by adding a data load and doing CLFLUSH{OPT} on the data
instead of the code being executed. The theory is that modern Intel CPUs
have learned new code prefetching tricks that bypass the PMU counters.

- Fix a flaw in the Intel PMU counters test where it asserts that an event is
counting correctly without actually knowing what the event counts on the
underlying hardware.

----------------------------------------------------------------
Chen Ni (1):
KVM: selftests: Remove unneeded semicolon

Colton Lewis (2):
KVM: selftests: Fix typos in x86's PMU counter test's macro variable use
KVM: selftests: Add defines for AMD PMU CPUID features and properties

Isaku Yamahata (1):
KVM: selftests: Add printf attribute to _no_printf()

Sean Christopherson (7):
KVM: selftests: Use data load to trigger LLC references/misses in Intel PMU
KVM: selftests: Add helpers for locally (un)blocking IRQs on x86
KVM: selftests: Make Intel arch events globally available in PMU counters test
KVM: selftests: Only validate counts for hardware-supported arch events
KVM: selftests: Remove dead code in Intel PMU counters test
KVM: selftests: Drop the "feature event" param from guest test helpers
KVM: selftests: Print out the actual Top-Down Slots count on failure

.../selftests/kvm/access_tracking_perf_test.c | 2 +-
tools/testing/selftests/kvm/include/test_util.h | 2 +-
.../testing/selftests/kvm/include/x86/processor.h | 47 ++++++
tools/testing/selftests/kvm/x86/hyperv_ipi.c | 6 +-
.../testing/selftests/kvm/x86/pmu_counters_test.c | 158 ++++++++++++---------
tools/testing/selftests/kvm/x86/svm_int_ctl_test.c | 5 +-
.../selftests/kvm/x86/ucna_injection_test.c | 2 +-
tools/testing/selftests/kvm/x86/xapic_ipi_test.c | 3 +-
tools/testing/selftests/kvm/x86/xapic_state_test.c | 4 +-
tools/testing/selftests/kvm/x86/xen_shinfo_test.c | 5 +-
10 files changed, 151 insertions(+), 83 deletions(-)