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/include/asm/kgdb.h | |
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/include/asm/kgdb.h')
-rw-r--r-- | arch/blackfin/include/asm/kgdb.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/arch/blackfin/include/asm/kgdb.h b/arch/blackfin/include/asm/kgdb.h index 0f73847fd6bc..26ebac6646d8 100644 --- a/arch/blackfin/include/asm/kgdb.h +++ b/arch/blackfin/include/asm/kgdb.h | |||
@@ -124,9 +124,16 @@ enum regnames { | |||
124 | /* Number of bytes of registers. */ | 124 | /* Number of bytes of registers. */ |
125 | #define NUMREGBYTES BFIN_NUM_REGS*4 | 125 | #define NUMREGBYTES BFIN_NUM_REGS*4 |
126 | 126 | ||
127 | #define BREAKPOINT() asm(" EXCPT 2;"); | 127 | static inline void arch_kgdb_breakpoint(void) |
128 | #define BREAK_INSTR_SIZE 2 | 128 | { |
129 | #define HW_BREAKPOINT_NUM 6 | 129 | asm(" EXCPT 2;"); |
130 | } | ||
131 | #define BREAK_INSTR_SIZE 2 | ||
132 | #define CACHE_FLUSH_IS_SAFE 1 | ||
133 | #define HW_INST_WATCHPOINT_NUM 6 | ||
134 | #define HW_WATCHPOINT_NUM 8 | ||
135 | #define TYPE_INST_WATCHPOINT 0 | ||
136 | #define TYPE_DATA_WATCHPOINT 1 | ||
130 | 137 | ||
131 | /* Instruction watchpoint address control register bits mask */ | 138 | /* Instruction watchpoint address control register bits mask */ |
132 | #define WPPWR 0x1 | 139 | #define WPPWR 0x1 |
@@ -163,10 +170,11 @@ enum regnames { | |||
163 | #define WPDAEN1 0x8 | 170 | #define WPDAEN1 0x8 |
164 | #define WPDCNTEN0 0x10 | 171 | #define WPDCNTEN0 0x10 |
165 | #define WPDCNTEN1 0x20 | 172 | #define WPDCNTEN1 0x20 |
173 | |||
166 | #define WPDSRC0 0xc0 | 174 | #define WPDSRC0 0xc0 |
167 | #define WPDACC0 0x300 | 175 | #define WPDACC0_OFFSET 8 |
168 | #define WPDSRC1 0xc00 | 176 | #define WPDSRC1 0xc00 |
169 | #define WPDACC1 0x3000 | 177 | #define WPDACC1_OFFSET 12 |
170 | 178 | ||
171 | /* Watchpoint status register bits mask */ | 179 | /* Watchpoint status register bits mask */ |
172 | #define STATIA0 0x1 | 180 | #define STATIA0 0x1 |
@@ -178,7 +186,4 @@ enum regnames { | |||
178 | #define STATDA0 0x40 | 186 | #define STATDA0 0x40 |
179 | #define STATDA1 0x80 | 187 | #define STATDA1 0x80 |
180 | 188 | ||
181 | extern void kgdb_print(const char *fmt, ...); | ||
182 | extern void init_kgdb_uart(void); | ||
183 | |||
184 | #endif | 189 | #endif |