aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2024-01-07 16:35:06 +0000
committerMark Johnston <markj@FreeBSD.org>2024-01-07 16:46:13 +0000
commit7d35b389729ef5a3efcac75ad265139ada3f8e69 (patch)
tree808cefa7326ab7b398032182d998c2eb69f68dde /sys
parente5b33e6eef7d5cf0718b08376f27b1fbf97ae74f (diff)
Diffstat (limited to 'sys')
-rw-r--r--sys/cddl/dev/profile/profile.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/cddl/dev/profile/profile.c b/sys/cddl/dev/profile/profile.c
index 42753393a33d..677c7543795f 100644
--- a/sys/cddl/dev/profile/profile.c
+++ b/sys/cddl/dev/profile/profile.c
@@ -57,6 +57,8 @@
#include <sys/dtrace.h>
#include <sys/dtrace_bsd.h>
+#include <cddl/dev/dtrace/dtrace_cddl.h>
+
#define PROF_NAMELEN 15
#define PROF_PROFILE 0
@@ -245,12 +247,15 @@ profile_probe(profile_probe_t *prof, hrtime_t late)
if (frame != NULL) {
if (TRAPF_USERMODE(frame))
upc = TRAPF_PC(frame);
- else
+ else {
pc = TRAPF_PC(frame);
+ td->t_dtrace_trapframe = frame;
+ }
} else if (TD_IS_IDLETHREAD(td))
pc = (uintfptr_t)&cpu_idle;
dtrace_probe(prof->prof_id, pc, upc, late, 0, 0);
+ td->t_dtrace_trapframe = NULL;
}
static void