diff options
author | Jason Wessel <jason.wessel@windriver.com> | 2010-08-05 09:22:20 -0500 |
---|---|---|
committer | Jason Wessel <jason.wessel@windriver.com> | 2010-08-05 09:22:20 -0500 |
commit | 534af1082329392bc29f6badf815e69ae2ae0f4c (patch) | |
tree | e163c1d5c418334538447983b7d5934e05fa4d71 /include/linux/kgdb.h | |
parent | 84a0bd5b2830722cf80ff6ad33ef98101a947e14 (diff) | |
download | lwn-534af1082329392bc29f6badf815e69ae2ae0f4c.tar.gz lwn-534af1082329392bc29f6badf815e69ae2ae0f4c.zip |
kgdb,kdb: individual register set and and get API
The kdb shell specification includes the ability to get and set
architecture specific registers by name.
For the time being individual register get and set will be implemented
on a per architecture basis. If an architecture defines
DBG_MAX_REG_NUM > 0 then kdb and the gdbstub will use the capability
for individually getting and setting architecture specific registers.
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Diffstat (limited to 'include/linux/kgdb.h')
-rw-r--r-- | include/linux/kgdb.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/kgdb.h b/include/linux/kgdb.h index 9340f34d1bb5..d5eb882e01f3 100644 --- a/include/linux/kgdb.h +++ b/include/linux/kgdb.h @@ -90,6 +90,19 @@ struct kgdb_bkpt { enum kgdb_bpstate state; }; +struct dbg_reg_def_t { + char *name; + int size; + int offset; +}; + +#ifndef DBG_MAX_REG_NUM +#define DBG_MAX_REG_NUM 0 +#else +extern struct dbg_reg_def_t dbg_reg_def[]; +extern char *dbg_get_reg(int regno, void *mem, struct pt_regs *regs); +extern int dbg_set_reg(int regno, void *mem, struct pt_regs *regs); +#endif #ifndef KGDB_MAX_BREAKPOINTS # define KGDB_MAX_BREAKPOINTS 1000 #endif |