mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
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
This commit is contained in:
parent
f36b5d8a8c
commit
a7aa3d4d75
1 changed files with 4 additions and 2 deletions
|
|
@ -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];
|
||||
|
|
|
|||
Loading…
Reference in a new issue