All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oliver Upton <oliver.upton@linux.dev>
To: kvmarm@lists.linux.dev
Cc: kvm@vger.kernel.org, Andrew Jones <andrew.jones@linux.dev>,
	Alexandru Elisei <alexandru.elisei@arm.com>,
	Oliver Upton <oliver.upton@linux.dev>,
	Eric Auger <eric.auger@redhat.com>
Subject: [kvm-unit-tests PATCH] arm: pmu: Actually use counter 0 in test_event_counter_config()
Date: Mon,  3 Feb 2025 10:10:26 -0800	[thread overview]
Message-ID: <20250203181026.159721-1-oliver.upton@linux.dev> (raw)

test_event_counter_config() checks that there is at least one event
counter but mistakenly uses counter 1 for part of the test.

Most implementations have more than a single event counter which is
probably why this went unnoticed. However, due to limitations of the
underlying hardware, KVM's PMUv3 emulation on Apple silicon can only
provide 1 event counter.

Consistenly use counter 0 throughout the test, matching the precondition
and allowing the test to pass on Apple parts.

Cc: Eric Auger <eric.auger@redhat.com>
Fixes: 4ce2a804 ("arm: pmu: Basic event counter Tests")
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
---
 arm/pmu.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arm/pmu.c b/arm/pmu.c
index 9ff7a301..2dc0822b 100644
--- a/arm/pmu.c
+++ b/arm/pmu.c
@@ -396,13 +396,13 @@ static void test_event_counter_config(void)
 	 * Test setting through PMESELR/PMXEVTYPER and PMEVTYPERn read,
 	 * select counter 0
 	 */
-	write_sysreg(1, PMSELR_EL0);
+	write_sysreg(0, PMSELR_EL0);
 	/* program this counter to count unsupported event */
 	write_sysreg(0xEA, PMXEVTYPER_EL0);
 	write_sysreg(0xdeadbeef, PMXEVCNTR_EL0);
-	report((read_regn_el0(pmevtyper, 1) & 0xFFF) == 0xEA,
+	report((read_regn_el0(pmevtyper, 0) & 0xFFF) == 0xEA,
 		"PMESELR/PMXEVTYPER/PMEVTYPERn");
-	report((read_regn_el0(pmevcntr, 1) == 0xdeadbeef),
+	report((read_regn_el0(pmevcntr, 0) == 0xdeadbeef),
 		"PMESELR/PMXEVCNTR/PMEVCNTRn");
 
 	/* try to configure an unsupported event within the range [0x0, 0x3F] */

base-commit: 1f08a91a41402b0e032ecce8ed1b5952cbfca0ea
-- 
2.39.5


             reply	other threads:[~2025-02-03 18:10 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-03 18:10 Oliver Upton [this message]
2025-02-04  7:44 ` [kvm-unit-tests PATCH] arm: pmu: Actually use counter 0 in test_event_counter_config() Eric Auger
2025-02-04 13:20 ` Andrew Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250203181026.159721-1-oliver.upton@linux.dev \
    --to=oliver.upton@linux.dev \
    --cc=alexandru.elisei@arm.com \
    --cc=andrew.jones@linux.dev \
    --cc=eric.auger@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.