[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[kvm-unit-tests RFC 02/10] pmu: Let pmu tests take a sub-test parameter
From: |
Eric Auger |
Subject: |
[kvm-unit-tests RFC 02/10] pmu: Let pmu tests take a sub-test parameter |
Date: |
Fri, 6 Dec 2019 18:27:16 +0100 |
As we intend to introduce more PMU tests, let's add
a sub-test parameter that will allow to categorize
them. Existing tests are in the cycle-counter category.
Signed-off-by: Eric Auger <address@hidden>
---
arm/pmu.c | 22 ++++++++++++++--------
arm/unittests.cfg | 7 ++++---
2 files changed, 18 insertions(+), 11 deletions(-)
diff --git a/arm/pmu.c b/arm/pmu.c
index 1de7d77..2ad6469 100644
--- a/arm/pmu.c
+++ b/arm/pmu.c
@@ -287,21 +287,27 @@ int main(int argc, char *argv[])
{
int cpi = 0;
- if (argc > 1)
- cpi = atol(argv[1]);
-
if (!pmu_probe()) {
printf("No PMU found, test skipped...\n");
return report_summary();
}
+ if (argc < 2)
+ report_abort("no test specified");
+
report_prefix_push("pmu");
- report("Control register", check_pmcr());
- report("Monotonically increasing cycle count", check_cycles_increase());
- report("Cycle/instruction ratio", check_cpi(cpi));
-
- pmccntr64_test();
+ if (strcmp(argv[1], "cycle-counter") == 0) {
+ report_prefix_push(argv[1]);
+ if (argc > 2)
+ cpi = atol(argv[2]);
+ report("Control register", check_pmcr());
+ report("Monotonically increasing cycle count",
check_cycles_increase());
+ report("Cycle/instruction ratio", check_cpi(cpi));
+ pmccntr64_test();
+ } else {
+ report_abort("Unknown subtest '%s'", argv[1]);
+ }
return report_summary();
}
diff --git a/arm/unittests.cfg b/arm/unittests.cfg
index daeb5a0..79f0d7a 100644
--- a/arm/unittests.cfg
+++ b/arm/unittests.cfg
@@ -61,21 +61,22 @@ file = pci-test.flat
groups = pci
# Test PMU support
-[pmu]
+[pmu-cycle-counter]
file = pmu.flat
groups = pmu
+extra_params = -append 'cycle-counter 0'
# Test PMU support (TCG) with -icount IPC=1
#[pmu-tcg-icount-1]
#file = pmu.flat
-#extra_params = -icount 0 -append '1'
+#extra_params = -icount 0 -append 'cycle-counter 1'
#groups = pmu
#accel = tcg
# Test PMU support (TCG) with -icount IPC=256
#[pmu-tcg-icount-256]
#file = pmu.flat
-#extra_params = -icount 8 -append '256'
+#extra_params = -icount 8 -append 'cycle-counter 256'
#groups = pmu
#accel = tcg
--
2.20.1
- [kvm-unit-tests RFC 00/10] KVM: arm64: PMUv3 Event Counter Tests, Eric Auger, 2019/12/06
- [kvm-unit-tests RFC 01/10] arm64: Provide read/write_sysreg_s, Eric Auger, 2019/12/06
- [kvm-unit-tests RFC 02/10] pmu: Let pmu tests take a sub-test parameter,
Eric Auger <=
- [kvm-unit-tests RFC 03/10] pmu: Add a pmu struct, Eric Auger, 2019/12/06
- [kvm-unit-tests RFC 04/10] pmu: Check Required Event Support, Eric Auger, 2019/12/06
- [kvm-unit-tests RFC 05/10] pmu: Basic event counter Tests, Eric Auger, 2019/12/06
- [kvm-unit-tests RFC 06/10] pmu: Test chained counter, Eric Auger, 2019/12/06
- [kvm-unit-tests RFC 08/10] arm: gic: Provide per-IRQ helper functions, Eric Auger, 2019/12/06
- [kvm-unit-tests RFC 07/10] arm: pmu: test 32-bit <-> 64-bit transitions, Eric Auger, 2019/12/06
- [kvm-unit-tests RFC 09/10] arm/arm64: gic: Introduce setup_irq() helper, Eric Auger, 2019/12/06
- [kvm-unit-tests RFC 10/10] pmu: Test overflow interrupts, Eric Auger, 2019/12/06