diff options
author | Paul Mundt <lethal@linux-sh.org> | 2007-11-20 04:08:06 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-01-27 23:18:50 -0500 |
commit | 5a4f7c66be981c6b5f44a4d66a14ea6ac9b7b6b0 (patch) | |
tree | a605424a32ce11d189a1aa1385c3fc22f972449f /arch/sh/kernel/traps_32.c | |
parent | 811d50cb43eb730cc325df0c6913556e25739797 (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.c | 25 |
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 | ||
840 | extern asmlinkage void address_error_handler(unsigned long r4, unsigned long r5, | ||
841 | unsigned long r6, unsigned long r7, | ||
842 | struct pt_regs __regs); | ||
843 | |||
844 | void __init trap_init(void) | 840 | void __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 | ||
881 | void 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 | |||
893 | int is_valid_bugaddr(unsigned long addr) | ||
894 | { | ||
895 | return addr >= PAGE_OFFSET; | ||
896 | } | ||
897 | #endif | ||
898 | |||
899 | void show_trace(struct task_struct *tsk, unsigned long *sp, | 876 | void show_trace(struct task_struct *tsk, unsigned long *sp, |
900 | struct pt_regs *regs) | 877 | struct pt_regs *regs) |
901 | { | 878 | { |