aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Auger <eric.auger@redhat.com>2020-04-03 09:13:16 +0200
committerAndrew Jones <drjones@redhat.com>2020-04-03 09:50:03 +0200
commit57ec1086629289a331532e184e3e4d45bd4f1d65 (patch)
tree53ae4aaf480ec1b348da65f97b88f5fc0b95470e
parentc7ca23ce3f571449a58dd8ef86c953e865f9c3f1 (diff)
downloadkvm-unit-tests-57ec1086629289a331532e184e3e4d45bd4f1d65.tar.gz
arm: pmu: Let pmu tests take a sub-test parameter
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 <eric.auger@redhat.com> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Andrew Jones <drjones@redhat.com>
-rw-r--r--arm/pmu.c25
-rw-r--r--arm/unittests.cfg7
2 files changed, 20 insertions, 12 deletions
diff --git a/arm/pmu.c b/arm/pmu.c
index d5a03a6..0122f0a 100644
--- a/arm/pmu.c
+++ b/arm/pmu.c
@@ -287,22 +287,29 @@ 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();
}
- report_prefix_push("pmu");
+ if (argc < 2)
+ report_abort("no test specified");
- report(check_pmcr(), "Control register");
- report(check_cycles_increase(),
- "Monotonically increasing cycle count");
- report(check_cpi(cpi), "Cycle/instruction ratio");
+ report_prefix_push("pmu");
- pmccntr64_test();
+ if (strcmp(argv[1], "cycle-counter") == 0) {
+ report_prefix_push(argv[1]);
+ if (argc > 2)
+ cpi = atol(argv[2]);
+ report(check_pmcr(), "Control register");
+ report(check_cycles_increase(),
+ "Monotonically increasing cycle count");
+ report(check_cpi(cpi), "Cycle/instruction ratio");
+ pmccntr64_test();
+ report_prefix_pop();
+ } else {
+ report_abort("Unknown sub-test '%s'", argv[1]);
+ }
return report_summary();
}
diff --git a/arm/unittests.cfg b/arm/unittests.cfg
index 017958d..fe6515c 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