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>
---
arm/pmu.c | 24 +++++++++++++++---------
arm/unittests.cfg | 7 ++++---
2 files changed, 19 insertions(+), 12 deletions(-)
diff --git a/arm/pmu.c b/arm/pmu.c
index d5a03a6..e5e012d 100644
--- a/arm/pmu.c
+++ b/arm/pmu.c
@@ -287,22 +287,28 @@ 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(check_pmcr(), "Control register");
- report(check_cycles_increase(),
- "Monotonically increasing cycle count");
- report(check_cpi(cpi), "Cycle/instruction ratio");
-
- 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();
+ } else {
+ report_abort("Unknown sub-test '%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
On Thu, 30 Jan 2020 12:25:03 +0100
Eric Auger <eric.auger@redhat.com> wrote:
> 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>
Did you change anything? Or just forgot to add my previous R-b?
Anyway,
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Cheers,
Andre
> ---
> arm/pmu.c | 24 +++++++++++++++---------
> arm/unittests.cfg | 7 ++++---
> 2 files changed, 19 insertions(+), 12 deletions(-)
>
> diff --git a/arm/pmu.c b/arm/pmu.c
> index d5a03a6..e5e012d 100644
> --- a/arm/pmu.c
> +++ b/arm/pmu.c
> @@ -287,22 +287,28 @@ 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(check_pmcr(), "Control register");
> - report(check_cycles_increase(),
> - "Monotonically increasing cycle count");
> - report(check_cpi(cpi), "Cycle/instruction ratio");
> -
> - 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();
> + } else {
> + report_abort("Unknown sub-test '%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
>
On Thu, Jan 30, 2020 at 12:25:03PM +0100, Eric Auger wrote:
> 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>
> ---
> arm/pmu.c | 24 +++++++++++++++---------
> arm/unittests.cfg | 7 ++++---
> 2 files changed, 19 insertions(+), 12 deletions(-)
>
> diff --git a/arm/pmu.c b/arm/pmu.c
> index d5a03a6..e5e012d 100644
> --- a/arm/pmu.c
> +++ b/arm/pmu.c
> @@ -287,22 +287,28 @@ 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(check_pmcr(), "Control register");
> - report(check_cycles_increase(),
> - "Monotonically increasing cycle count");
> - report(check_cpi(cpi), "Cycle/instruction ratio");
> -
> - 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();
Could put a report_prefix_pop here to balance things.
> + } else {
> + report_abort("Unknown sub-test '%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
>
>
© 2016 - 2025 Red Hat, Inc.