diff options
author | Paul Mundt <lethal@linux-sh.org> | 2012-04-10 04:42:56 (GMT) |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2012-04-10 04:42:56 (GMT) |
commit | fd03e81812a8fb6121773226a4e0c702926077ae (patch) | |
tree | 348d78917b2aa6118bd7392ef3d6153e2552dff9 /arch/sh/include/asm | |
parent | 14f087d839d9bd3f90ad69d4b3fde7d236c156b1 (diff) | |
download | linux-fd03e81812a8fb6121773226a4e0c702926077ae.tar.xz |
sh: kgdb: Individual register get/set support.
This updates sh following the generic kgdb changes adding support
for individual register get/set for kgdb/kdb use.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm')
-rw-r--r-- | arch/sh/include/asm/kgdb.h | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/arch/sh/include/asm/kgdb.h b/arch/sh/include/asm/kgdb.h index f361395..0048519 100644 --- a/arch/sh/include/asm/kgdb.h +++ b/arch/sh/include/asm/kgdb.h @@ -4,18 +4,6 @@ #include <asm/cacheflush.h> #include <asm/ptrace.h> -/* Same as pt_regs but has vbr in place of syscall_nr */ -struct kgdb_regs { - unsigned long regs[16]; - unsigned long pc; - unsigned long pr; - unsigned long sr; - unsigned long gbr; - unsigned long mach; - unsigned long macl; - unsigned long vbr; -}; - enum regnames { GDB_R0, GDB_R1, GDB_R2, GDB_R3, GDB_R4, GDB_R5, GDB_R6, GDB_R7, GDB_R8, GDB_R9, GDB_R10, GDB_R11, GDB_R12, GDB_R13, GDB_R14, GDB_R15, @@ -23,7 +11,12 @@ enum regnames { GDB_PC, GDB_PR, GDB_SR, GDB_GBR, GDB_MACH, GDB_MACL, GDB_VBR, }; -#define NUMREGBYTES ((GDB_VBR + 1) * 4) +#define _GP_REGS 16 +#define _EXTRA_REGS 7 +#define GDB_SIZEOF_REG sizeof(u32) + +#define DBG_MAX_REG_NUM (_GP_REGS + _EXTRA_REGS) +#define NUMREGBYTES (DBG_MAX_REG_NUM * sizeof(GDB_SIZEOF_REG)) static inline void arch_kgdb_breakpoint(void) { |