Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 May 2025 13:35:12 GMT
From:      Andrew Turner <andrew@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 1bf4adf8cc9a - main - hwpmc/arm64: Hard code the initial pmcr state
Message-ID:  <202505281335.54SDZCqN017827@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by andrew:

URL: https://cgit.FreeBSD.org/src/commit/?id=1bf4adf8cc9a22a1bcb3eafaf0315b3175a65abe

commit 1bf4adf8cc9a22a1bcb3eafaf0315b3175a65abe
Author:     Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2025-05-27 19:55:44 +0000
Commit:     Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2025-05-27 19:55:44 +0000

    hwpmc/arm64: Hard code the initial pmcr state
    
    We can't the fields in PMCR_EL0 are configured in the way we expect.
    Rather than depending on prior configuration hard code the fields
    we want set.
    
    Sponsored by:   Arm Ltd
    Differential Revision:  https://reviews.freebsd.org/D50434
---
 sys/dev/hwpmc/hwpmc_arm64.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/sys/dev/hwpmc/hwpmc_arm64.c b/sys/dev/hwpmc/hwpmc_arm64.c
index 6b019bfcb419..310e43065716 100644
--- a/sys/dev/hwpmc/hwpmc_arm64.c
+++ b/sys/dev/hwpmc/hwpmc_arm64.c
@@ -501,9 +501,8 @@ arm64_pcpu_init(struct pmc_mdep *md, int cpu)
 	WRITE_SPECIALREG(pmcntenclr_el0, 0xffffffff);
 	WRITE_SPECIALREG(pmintenclr_el1, 0xffffffff);
 
-	/* Enable unit */
-	pmcr = arm64_pmcr_read();
-	pmcr |= PMCR_E;
+	/* Enable unit with a useful default state */
+	pmcr = PMCR_LC | PMCR_C | PMCR_P | PMCR_E;
 	if (arm64_64bit_events)
 		pmcr |= PMCR_LP;
 	arm64_pmcr_write(pmcr);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202505281335.54SDZCqN017827>