summaryrefslogtreecommitdiff
path: root/include/linux/kgdb.h
diff options
context:
space:
mode:
authorJason Wessel <jason.wessel@windriver.com>2010-08-05 14:22:20 (GMT)
committerJason Wessel <jason.wessel@windriver.com>2010-08-05 14:22:20 (GMT)
commit534af1082329392bc29f6badf815e69ae2ae0f4c (patch)
treee163c1d5c418334538447983b7d5934e05fa4d71 /include/linux/kgdb.h
parent84a0bd5b2830722cf80ff6ad33ef98101a947e14 (diff)
downloadlinux-fsl-qoriq-534af1082329392bc29f6badf815e69ae2ae0f4c.tar.xz
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.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/kgdb.h b/include/linux/kgdb.h
index 9340f34..d5eb882 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