aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-common
diff options
context:
space:
mode:
authorSonic Zhang <sonic.zhang@analog.com>2008-10-13 02:07:19 -0400
committerBryan Wu <cooloney@kernel.org>2008-10-13 02:07:19 -0400
commita5ac0129249611fc4a35e6d7cd9b8462d67e5798 (patch)
tree9fd28b5e6e10cce341e63a1fd9885fae5e019643 /arch/blackfin/mach-common
parent5d2e321306f82550e6d354b3210a18b86bdb13c1 (diff)
Blackfin arch: add supporting for kgdb
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch/blackfin/mach-common')
-rw-r--r--arch/blackfin/mach-common/entry.S9
-rw-r--r--arch/blackfin/mach-common/ints-priority.c4
2 files changed, 7 insertions, 6 deletions
diff --git a/arch/blackfin/mach-common/entry.S b/arch/blackfin/mach-common/entry.S
index 90c7397036ed..5a219b228de3 100644
--- a/arch/blackfin/mach-common/entry.S
+++ b/arch/blackfin/mach-common/entry.S
@@ -190,8 +190,8 @@ ENTRY(_ex_single_step)
190 if cc jump .Lfind_priority_done; 190 if cc jump .Lfind_priority_done;
191 jump.s .Lfind_priority_start; 191 jump.s .Lfind_priority_start;
192.Lfind_priority_done: 192.Lfind_priority_done:
193 p4.l = _debugger_step; 193 p4.l = _kgdb_single_step;
194 p4.h = _debugger_step; 194 p4.h = _kgdb_single_step;
195 r6 = [p4]; 195 r6 = [p4];
196 cc = r6 == 0; 196 cc = r6 == 0;
197 if cc jump .Ldo_single_step; 197 if cc jump .Ldo_single_step;
@@ -1071,7 +1071,12 @@ ENTRY(_ex_table)
1071 */ 1071 */
1072 .long _ex_syscall /* 0x00 - User Defined - Linux Syscall */ 1072 .long _ex_syscall /* 0x00 - User Defined - Linux Syscall */
1073 .long _ex_soft_bp /* 0x01 - User Defined - Software breakpoint */ 1073 .long _ex_soft_bp /* 0x01 - User Defined - Software breakpoint */
1074#ifdef CONFIG_KGDB
1075 .long _ex_trap_c /* 0x02 - User Defined - KGDB initial connection
1076 and break signal trap */
1077#else
1074 .long _ex_replaceable /* 0x02 - User Defined */ 1078 .long _ex_replaceable /* 0x02 - User Defined */
1079#endif
1075 .long _ex_trap_c /* 0x03 - User Defined - userspace stack overflow */ 1080 .long _ex_trap_c /* 0x03 - User Defined - userspace stack overflow */
1076 .long _ex_trap_c /* 0x04 - User Defined - dump trace buffer */ 1081 .long _ex_trap_c /* 0x04 - User Defined - dump trace buffer */
1077 .long _ex_replaceable /* 0x05 - User Defined */ 1082 .long _ex_replaceable /* 0x05 - User Defined */
diff --git a/arch/blackfin/mach-common/ints-priority.c b/arch/blackfin/mach-common/ints-priority.c
index 5fa536727c61..ff4d5c2879a5 100644
--- a/arch/blackfin/mach-common/ints-priority.c
+++ b/arch/blackfin/mach-common/ints-priority.c
@@ -1136,8 +1136,4 @@ void do_irq(int vec, struct pt_regs *fp)
1136 vec = ivg->irqno; 1136 vec = ivg->irqno;
1137 } 1137 }
1138 asm_do_IRQ(vec, fp); 1138 asm_do_IRQ(vec, fp);
1139
1140#ifdef CONFIG_KGDB
1141 kgdb_process_breakpoint();
1142#endif
1143} 1139}