diff options
author | Sonic Zhang <sonic.zhang@analog.com> | 2008-10-09 14:04:41 +0800 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2008-10-09 14:04:41 +0800 |
commit | 27707d3e43e3a9c53e75cd7769f3ef74b1d56625 (patch) | |
tree | 36da010b2c4c07119795145adf36559c90856809 /arch/blackfin/kernel | |
parent | 5e9e7687cbc016ac36b6825f79d78213319331d9 (diff) |
Blackfin arch: Fix bug - kernel build with config kernel debugging with remote gdb fails
Add some comment and fix duplicated VEC_EXCPT02
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch/blackfin/kernel')
-rw-r--r-- | arch/blackfin/kernel/traps.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c index 89cff2c7e8b..1a3c4daf557 100644 --- a/arch/blackfin/kernel/traps.c +++ b/arch/blackfin/kernel/traps.c @@ -284,15 +284,6 @@ asmlinkage void trap_c(struct pt_regs *fp) return; else break; -#ifdef CONFIG_KGDB - case VEC_EXCPT02 : /* gdb connection */ - info.si_code = TRAP_ILLTRAP; - sig = SIGTRAP; - CHK_DEBUGGER_TRAP(); - return; -#else - /* 0x02 - User Defined, Caught by default */ -#endif /* 0x03 - User Defined, userspace stack overflow */ case VEC_EXCPT03: info.si_code = SEGV_STACKFLOW; @@ -300,6 +291,14 @@ asmlinkage void trap_c(struct pt_regs *fp) printk(KERN_NOTICE EXC_0x03(KERN_NOTICE)); CHK_DEBUGGER_TRAP_MAYBE(); break; + /* 0x02 - KGDB initial connection and break signal trap */ + case VEC_EXCPT02: +#ifdef CONFIG_KGDB + info.si_code = TRAP_ILLTRAP; + sig = SIGTRAP; + CHK_DEBUGGER_TRAP(); + return; +#endif /* 0x04 - User Defined */ /* 0x05 - User Defined */ /* 0x06 - User Defined */ @@ -312,11 +311,9 @@ asmlinkage void trap_c(struct pt_regs *fp) /* 0x0D - User Defined */ /* 0x0E - User Defined */ /* 0x0F - User Defined */ - /* - * If we got here, it is most likely that someone was trying to use a + /* If we got here, it is most likely that someone was trying to use a * custom exception handler, and it is not actually installed properly */ - case VEC_EXCPT02: case VEC_EXCPT04 ... VEC_EXCPT15: info.si_code = ILL_ILLPARAOP; sig = SIGILL; |