git: a7aa3d4d758d - main - fbt/x86: Extract arg1 for return probes from the trapframe
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 09 Aug 2022 23:02:44 UTC
The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=a7aa3d4d758dc60894e7f9c99411a64837fd3c18 commit a7aa3d4d758dc60894e7f9c99411a64837fd3c18 Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2022-08-09 20:08:09 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2022-08-09 22:34:01 +0000 fbt/x86: Extract arg1 for return probes from the trapframe dtrace invop handlers have access to the whole trapframe, just use that to extract %rax/%eax for return probes instead of relying on an additional parameter to the handler. No functional change intended. MFC after: 2 weeks Sponsored by: The FreeBSD Foundation --- sys/cddl/dev/fbt/x86/fbt_isa.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/cddl/dev/fbt/x86/fbt_isa.c b/sys/cddl/dev/fbt/x86/fbt_isa.c index 74de00a3f00b..05ec87ab437f 100644 --- a/sys/cddl/dev/fbt/x86/fbt_isa.c +++ b/sys/cddl/dev/fbt/x86/fbt_isa.c @@ -61,19 +61,21 @@ #define FBT_RETURN "return" int -fbt_invop(uintptr_t addr, struct trapframe *frame, uintptr_t rval) +fbt_invop(uintptr_t addr, struct trapframe *frame, uintptr_t scratch __unused) { solaris_cpu_t *cpu; uintptr_t *stack; - uintptr_t arg0, arg1, arg2, arg3, arg4; + uintptr_t arg0, arg1, arg2, arg3, arg4, rval; fbt_probe_t *fbt; int8_t fbtrval; #ifdef __amd64__ stack = (uintptr_t *)frame->tf_rsp; + rval = frame->tf_rax; #else /* Skip hardware-saved registers. */ stack = (uintptr_t *)frame->tf_isp + 3; + rval = frame->tf_eax; #endif cpu = &solaris_cpu[curcpu];