diff options
author | Paul Mundt <lethal@linux-sh.org> | 2008-12-11 04:46:46 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-12-22 04:44:04 -0500 |
commit | ab6e570ba33dbee18c2520d386e0f367a9b573c3 (patch) | |
tree | 7594192d10726e72bf7744bb83bdc0c9a30891d1 /arch/sh/kernel/traps_32.c | |
parent | d7b01f78a3ae6a3cc21a16a1a3d377adc2227537 (diff) |
sh: Generic kgdb stub support.
This migrates from the old bitrotted kgdb stub implementation and moves
to the generic stub. In the process support for SH-2/SH-2A is also added,
which the old stub never provided.
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 | 14 |
1 files changed, 0 insertions, 14 deletions
diff --git a/arch/sh/kernel/traps_32.c b/arch/sh/kernel/traps_32.c index 6094fc13beea..88807a2aacc3 100644 --- a/arch/sh/kernel/traps_32.c +++ b/arch/sh/kernel/traps_32.c | |||
@@ -28,17 +28,6 @@ | |||
28 | #include <asm/fpu.h> | 28 | #include <asm/fpu.h> |
29 | #include <asm/kprobes.h> | 29 | #include <asm/kprobes.h> |
30 | 30 | ||
31 | #ifdef CONFIG_SH_KGDB | ||
32 | #include <asm/kgdb.h> | ||
33 | #define CHK_REMOTE_DEBUG(regs) \ | ||
34 | { \ | ||
35 | if (kgdb_debug_hook && !user_mode(regs))\ | ||
36 | (*kgdb_debug_hook)(regs); \ | ||
37 | } | ||
38 | #else | ||
39 | #define CHK_REMOTE_DEBUG(regs) | ||
40 | #endif | ||
41 | |||
42 | #ifdef CONFIG_CPU_SH2 | 31 | #ifdef CONFIG_CPU_SH2 |
43 | # define TRAP_RESERVED_INST 4 | 32 | # define TRAP_RESERVED_INST 4 |
44 | # define TRAP_ILLEGAL_SLOT_INST 6 | 33 | # define TRAP_ILLEGAL_SLOT_INST 6 |
@@ -94,7 +83,6 @@ void die(const char * str, struct pt_regs * regs, long err) | |||
94 | 83 | ||
95 | printk("%s: %04lx [#%d]\n", str, err & 0xffff, ++die_counter); | 84 | printk("%s: %04lx [#%d]\n", str, err & 0xffff, ++die_counter); |
96 | 85 | ||
97 | CHK_REMOTE_DEBUG(regs); | ||
98 | print_modules(); | 86 | print_modules(); |
99 | show_regs(regs); | 87 | show_regs(regs); |
100 | 88 | ||
@@ -683,7 +671,6 @@ asmlinkage void do_reserved_inst(unsigned long r4, unsigned long r5, | |||
683 | error_code = lookup_exception_vector(); | 671 | error_code = lookup_exception_vector(); |
684 | 672 | ||
685 | local_irq_enable(); | 673 | local_irq_enable(); |
686 | CHK_REMOTE_DEBUG(regs); | ||
687 | force_sig(SIGILL, tsk); | 674 | force_sig(SIGILL, tsk); |
688 | die_if_no_fixup("reserved instruction", regs, error_code); | 675 | die_if_no_fixup("reserved instruction", regs, error_code); |
689 | } | 676 | } |
@@ -761,7 +748,6 @@ asmlinkage void do_illegal_slot_inst(unsigned long r4, unsigned long r5, | |||
761 | inst = lookup_exception_vector(); | 748 | inst = lookup_exception_vector(); |
762 | 749 | ||
763 | local_irq_enable(); | 750 | local_irq_enable(); |
764 | CHK_REMOTE_DEBUG(regs); | ||
765 | force_sig(SIGILL, tsk); | 751 | force_sig(SIGILL, tsk); |
766 | die_if_no_fixup("illegal slot instruction", regs, inst); | 752 | die_if_no_fixup("illegal slot instruction", regs, inst); |
767 | } | 753 | } |