Browse Source

sh: Wire up oops reporting in the die notifier chain.

Commit 3f5a54e371ca20b119b73704f6c01b71295c1714 ("ftrace: dump out ftrace
buffers to console on panic") added an ftrace buffer dumper that hooks
in to the die notifier chain and dumps out data in the oops path.

Unfortunately SH supported ftrace but didn't support DIE_OOPS, so add
that in and get it building again.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt 16 years ago
parent
commit
c9306f0efb
2 changed files with 3 additions and 0 deletions
  1. 1 0
      arch/sh/include/asm/kdebug.h
  2. 2 0
      arch/sh/kernel/traps_32.c

+ 1 - 0
arch/sh/include/asm/kdebug.h

@@ -4,6 +4,7 @@
 /* Grossly misnamed. */
 /* Grossly misnamed. */
 enum die_val {
 enum die_val {
 	DIE_TRAP,
 	DIE_TRAP,
+	DIE_OOPS,
 };
 };
 
 
 #endif /* __ASM_SH_KDEBUG_H */
 #endif /* __ASM_SH_KDEBUG_H */

+ 2 - 0
arch/sh/kernel/traps_32.c

@@ -105,6 +105,8 @@ void die(const char * str, struct pt_regs * regs, long err)
 		dump_mem("Stack: ", regs->regs[15], THREAD_SIZE +
 		dump_mem("Stack: ", regs->regs[15], THREAD_SIZE +
 			 (unsigned long)task_stack_page(current));
 			 (unsigned long)task_stack_page(current));
 
 
+	notify_die(DIE_OOPS, str, regs, err, 255, SIGSEGV);
+
 	bust_spinlocks(0);
 	bust_spinlocks(0);
 	add_taint(TAINT_DIE);
 	add_taint(TAINT_DIE);
 	spin_unlock_irq(&die_lock);
 	spin_unlock_irq(&die_lock);