diff options
author | Sonic Zhang <sonic.zhang@analog.com> | 2008-10-13 02:07:19 -0400 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2008-10-13 02:07:19 -0400 |
commit | a5ac0129249611fc4a35e6d7cd9b8462d67e5798 (patch) | |
tree | 9fd28b5e6e10cce341e63a1fd9885fae5e019643 /arch/blackfin/mach-common | |
parent | 5d2e321306f82550e6d354b3210a18b86bdb13c1 (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.S | 9 | ||||
-rw-r--r-- | arch/blackfin/mach-common/ints-priority.c | 4 |
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 | } |