diff options
Diffstat (limited to 'arch/arm/kernel/traps.c')
-rw-r--r-- | arch/arm/kernel/traps.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index 21ac43f1c2d..41eb77da882 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c @@ -23,6 +23,7 @@ #include <linux/kexec.h> #include <linux/delay.h> #include <linux/init.h> +#include <trace/trap.h> #include <linux/sched.h> #include <asm/atomic.h> @@ -35,6 +36,9 @@ #include "signal.h" +DEFINE_TRACE(trap_entry); +DEFINE_TRACE(trap_exit); + static const char *handler[]= { "prefetch abort", "data abort", "address exception", "interrupt" }; void *vectors_page; @@ -296,7 +300,11 @@ void arm_notify_die(const char *str, struct pt_regs *regs, current->thread.error_code = err; current->thread.trap_no = trap; + trace_trap_entry(regs, current->thread.trap_no); + force_sig_info(info->si_signo, info, current); + + trace_trap_exit(); } else { die(str, regs, err); } |