aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/traps_32.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2007-11-20 04:08:06 -0500
committerPaul Mundt <lethal@linux-sh.org>2008-01-27 23:18:50 -0500
commit5a4f7c66be981c6b5f44a4d66a14ea6ac9b7b6b0 (patch)
treea605424a32ce11d189a1aa1385c3fc22f972449f /arch/sh/kernel/traps_32.c
parent811d50cb43eb730cc325df0c6913556e25739797 (diff)
sh: Share bug/debug traps across _32 and _64.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/traps_32.c')
-rw-r--r--arch/sh/kernel/traps_32.c25
1 files changed, 1 insertions, 24 deletions
diff --git a/arch/sh/kernel/traps_32.c b/arch/sh/kernel/traps_32.c
index cf99111cb33f..0d05fb3c48e3 100644
--- a/arch/sh/kernel/traps_32.c
+++ b/arch/sh/kernel/traps_32.c
@@ -837,10 +837,6 @@ void *set_exception_table_vec(unsigned int vec, void *handler)
837 return old_handler; 837 return old_handler;
838} 838}
839 839
840extern asmlinkage void address_error_handler(unsigned long r4, unsigned long r5,
841 unsigned long r6, unsigned long r7,
842 struct pt_regs __regs);
843
844void __init trap_init(void) 840void __init trap_init(void)
845{ 841{
846 set_exception_table_vec(TRAP_RESERVED_INST, do_reserved_inst); 842 set_exception_table_vec(TRAP_RESERVED_INST, do_reserved_inst);
@@ -866,7 +862,7 @@ void __init trap_init(void)
866#endif 862#endif
867 863
868#ifdef CONFIG_CPU_SH2 864#ifdef CONFIG_CPU_SH2
869 set_exception_table_vec(TRAP_ADDRESS_ERROR, address_error_handler); 865 set_exception_table_vec(TRAP_ADDRESS_ERROR, address_error_trap_handler);
870#endif 866#endif
871#ifdef CONFIG_CPU_SH2A 867#ifdef CONFIG_CPU_SH2A
872 set_exception_table_vec(TRAP_DIVZERO_ERROR, do_divide_error); 868 set_exception_table_vec(TRAP_DIVZERO_ERROR, do_divide_error);
@@ -877,25 +873,6 @@ void __init trap_init(void)
877 per_cpu_trap_init(); 873 per_cpu_trap_init();
878} 874}
879 875
880#ifdef CONFIG_BUG
881void handle_BUG(struct pt_regs *regs)
882{
883 enum bug_trap_type tt;
884 tt = report_bug(regs->pc, regs);
885 if (tt == BUG_TRAP_TYPE_WARN) {
886 regs->pc += 2;
887 return;
888 }
889
890 die("Kernel BUG", regs, TRAPA_BUG_OPCODE & 0xff);
891}
892
893int is_valid_bugaddr(unsigned long addr)
894{
895 return addr >= PAGE_OFFSET;
896}
897#endif
898
899void show_trace(struct task_struct *tsk, unsigned long *sp, 876void show_trace(struct task_struct *tsk, unsigned long *sp,
900 struct pt_regs *regs) 877 struct pt_regs *regs)
901{ 878{