diff options
Diffstat (limited to 'arch/mips/kernel/unaligned.c')
-rw-r--r-- | arch/mips/kernel/unaligned.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/mips/kernel/unaligned.c b/arch/mips/kernel/unaligned.c index cfea1adfa15..d3af94de240 100644 --- a/arch/mips/kernel/unaligned.c +++ b/arch/mips/kernel/unaligned.c @@ -79,6 +79,7 @@ #include <linux/sched.h> #include <linux/debugfs.h> #include <linux/perf_event.h> +#include <trace/trap.h> #include <asm/asm.h> #include <asm/branch.h> @@ -518,6 +519,7 @@ asmlinkage void do_ade(struct pt_regs *regs) perf_sw_event(PERF_COUNT_SW_ALIGNMENT_FAULTS, 1, 0, regs, regs->cp0_badvaddr); + trace_trap_entry(regs, CAUSE_EXCCODE(regs->cp0_cause)); /* * Did we catch a fault trying to load an instruction? * Or are we running in MIPS16 mode? @@ -543,6 +545,8 @@ asmlinkage void do_ade(struct pt_regs *regs) emulate_load_store_insn(regs, (void __user *)regs->cp0_badvaddr, pc); set_fs(seg); + trace_trap_exit(); + return; sigbus: @@ -552,6 +556,8 @@ sigbus: /* * XXX On return from the signal handler we should advance the epc */ + + trace_trap_exit(); } #ifdef CONFIG_DEBUG_FS |