git: e64318e76ed9 - main - arm/pmu: remove passing trap frame as argument
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 09 May 2024 23:20:43 UTC
The branch main has been updated by imp:
URL: https://cgit.FreeBSD.org/src/commit/?id=e64318e76ed90e8ef2666a9c5628e036d2cc8817
commit e64318e76ed90e8ef2666a9c5628e036d2cc8817
Author: Elliott Mitchell <ehem+freebsd@m5p.com>
AuthorDate: 2024-05-09 23:04:34 +0000
Commit: Warner Losh <imp@FreeBSD.org>
CommitDate: 2024-05-09 23:14:29 +0000
arm/pmu: remove passing trap frame as argument
While otherwise a handy potential approach, getting the trap frame via
the argument isn't documented and isn't supposed to be used. Adjust
pmu_intr() to instead use curthread->td_intr_frame, which is the proper
way.
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1126
---
sys/arm/arm/pmu.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/sys/arm/arm/pmu.c b/sys/arm/arm/pmu.c
index 98d8cdcf2df8..050121934447 100644
--- a/sys/arm/arm/pmu.c
+++ b/sys/arm/arm/pmu.c
@@ -46,6 +46,7 @@
#include <sys/timetc.h>
#include <sys/pmc.h>
#include <sys/pmckern.h>
+#include <sys/proc.h>
#include <machine/bus.h>
#include <machine/cpu.h>
@@ -65,9 +66,6 @@ uint32_t ccnt_hi[MAXCPU];
static int
pmu_intr(void *arg)
{
-#ifdef HWPMC_HOOKS
- struct trapframe *tf;
-#endif
uint32_t r;
#if defined(__arm__) && (__ARM_ARCH > 6)
u_int cpu;
@@ -87,10 +85,8 @@ pmu_intr(void *arg)
#ifdef HWPMC_HOOKS
/* Only call into the HWPMC framework if we know there is work. */
- if (r != 0 && pmc_intr) {
- tf = arg;
- (*pmc_intr)(tf);
- }
+ if (r != 0 && pmc_intr)
+ (*pmc_intr)(curthread->td_intr_frame);
#endif
return (FILTER_HANDLED);