diff options
author | David S. Miller <davem@davemloft.net> | 2009-12-11 00:44:47 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-12-11 00:44:47 -0800 |
commit | c658ad1b4e1520511da8323aa5e60d444cc303ed (patch) | |
tree | 7e2ce4179ecfdb0e10caa7c69fa86857c0398bf4 /arch/sparc/kernel/ptrace_64.c | |
parent | 4d14a459857bd151ecbd14bcd37b4628da00792b (diff) |
sparc64: Add syscall tracepoint support.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/ptrace_64.c')
-rw-r--r-- | arch/sparc/kernel/ptrace_64.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/sparc/kernel/ptrace_64.c b/arch/sparc/kernel/ptrace_64.c index 4ae91dc2feb..2f6524d1a81 100644 --- a/arch/sparc/kernel/ptrace_64.c +++ b/arch/sparc/kernel/ptrace_64.c @@ -23,6 +23,7 @@ #include <linux/signal.h> #include <linux/regset.h> #include <linux/tracehook.h> +#include <trace/syscall.h> #include <linux/compat.h> #include <linux/elf.h> @@ -37,6 +38,9 @@ #include <asm/cpudata.h> #include <asm/cacheflush.h> +#define CREATE_TRACE_POINTS +#include <trace/events/syscalls.h> + #include "entry.h" /* #define ALLOW_INIT_TRACING */ @@ -1059,6 +1063,9 @@ asmlinkage int syscall_trace_enter(struct pt_regs *regs) if (test_thread_flag(TIF_SYSCALL_TRACE)) ret = tracehook_report_syscall_entry(regs); + if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT))) + trace_sys_enter(regs, regs->u_regs[UREG_G1]); + if (unlikely(current->audit_context) && !ret) audit_syscall_entry((test_thread_flag(TIF_32BIT) ? AUDIT_ARCH_SPARC : @@ -1084,6 +1091,9 @@ asmlinkage void syscall_trace_leave(struct pt_regs *regs) audit_syscall_exit(result, regs->u_regs[UREG_I0]); } + if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT))) + trace_sys_exit(regs, regs->u_regs[UREG_G1]); + if (test_thread_flag(TIF_SYSCALL_TRACE)) tracehook_report_syscall_exit(regs, 0); } |