Hi Shaoqin, On 1/16/24 07:01, Shaoqin Huang wrote: > The test is inspired by the pmu_event_filter_test which implemented by x86. On > the arm64 platform, there is the same ability to set the pmu_event_filter > through the KVM_ARM_VCPU_PMU_V3_FILTER attribute. So add the test for arm64. > > The series first move some pmu common code from vpmu_counter_access to > lib/aarch64/vpmu.c and include/aarch64/vpmu.h, which can be used by > pmu_event_filter_test. Then fix a bug related to the [enable|disable]_counter, > and at last, implement the test itself. which branch does it apply on? I fail to apply on top on main. Or can you provide a branch? Eric > > Changelog: > ---------- > v2->v3: > - Check the pmceid in guest code instead of pmu event count since different > hardware may have different event count result, check pmceid makes it stable > on different platform. [Eric] > - Some typo fixed and commit message improved. > > v1->v2: > - Improve the commit message. [Eric] > - Fix the bug in [enable|disable]_counter. [Raghavendra & Marc] > - Add the check if kvm has attr KVM_ARM_VCPU_PMU_V3_FILTER. > - Add if host pmu support the test event throught pmceid0. > - Split the test_invalid_filter() to another patch. [Eric] > > v1: https://lore.kernel.org/all/20231123063750.2176250-1-shahuang@xxxxxxxxxx/ > v2: https://lore.kernel.org/all/20231129072712.2667337-1-shahuang@xxxxxxxxxx/ > > Shaoqin Huang (5): > KVM: selftests: aarch64: Make the [create|destroy]_vpmu_vm() public > KVM: selftests: aarch64: Move pmu helper functions into vpmu.h > KVM: selftests: aarch64: Fix the buggy [enable|disable]_counter > KVM: selftests: aarch64: Introduce pmu_event_filter_test > KVM: selftests: aarch64: Add invalid filter test in > pmu_event_filter_test > > tools/testing/selftests/kvm/Makefile | 2 + > .../kvm/aarch64/pmu_event_filter_test.c | 255 ++++++++++++++++++ > .../kvm/aarch64/vpmu_counter_access.c | 218 ++------------- > .../selftests/kvm/include/aarch64/vpmu.h | 135 ++++++++++ > .../testing/selftests/kvm/lib/aarch64/vpmu.c | 74 +++++ > 5 files changed, 490 insertions(+), 194 deletions(-) > create mode 100644 tools/testing/selftests/kvm/aarch64/pmu_event_filter_test.c > create mode 100644 tools/testing/selftests/kvm/include/aarch64/vpmu.h > create mode 100644 tools/testing/selftests/kvm/lib/aarch64/vpmu.c >