diff options
author | Sonic Zhang <sonic.zhang@analog.com> | 2008-10-13 14:07:19 +0800 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2008-10-13 14:07:19 +0800 |
commit | a5ac0129249611fc4a35e6d7cd9b8462d67e5798 (patch) | |
tree | 9fd28b5e6e10cce341e63a1fd9885fae5e019643 /arch/blackfin/include/asm/kgdb.h | |
parent | 5d2e321306f82550e6d354b3210a18b86bdb13c1 (diff) | |
download | blackbird-op-linux-a5ac0129249611fc4a35e6d7cd9b8462d67e5798.tar.gz blackbird-op-linux-a5ac0129249611fc4a35e6d7cd9b8462d67e5798.zip |
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 { /* Number of bytes of registers. */ #define NUMREGBYTES BFIN_NUM_REGS*4 -#define BREAKPOINT() asm(" EXCPT 2;"); -#define BREAK_INSTR_SIZE 2 -#define HW_BREAKPOINT_NUM 6 +static inline void arch_kgdb_breakpoint(void) +{ + asm(" EXCPT 2;"); +} +#define BREAK_INSTR_SIZE 2 +#define CACHE_FLUSH_IS_SAFE 1 +#define HW_INST_WATCHPOINT_NUM 6 +#define HW_WATCHPOINT_NUM 8 +#define TYPE_INST_WATCHPOINT 0 +#define TYPE_DATA_WATCHPOINT 1 /* Instruction watchpoint address control register bits mask */ #define WPPWR 0x1 @@ -163,10 +170,11 @@ enum regnames { #define WPDAEN1 0x8 #define WPDCNTEN0 0x10 #define WPDCNTEN1 0x20 + #define WPDSRC0 0xc0 -#define WPDACC0 0x300 +#define WPDACC0_OFFSET 8 #define WPDSRC1 0xc00 -#define WPDACC1 0x3000 +#define WPDACC1_OFFSET 12 /* Watchpoint status register bits mask */ #define STATIA0 0x1 @@ -178,7 +186,4 @@ enum regnames { #define STATDA0 0x40 #define STATDA1 0x80 -extern void kgdb_print(const char *fmt, ...); -extern void init_kgdb_uart(void); - #endif |