summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/kgdb.h
diff options
context:
space:
mode:
authorJason Wessel <jason.wessel@windriver.com>2010-08-05 09:22:20 -0500
committerJason Wessel <jason.wessel@windriver.com>2010-08-05 09:22:20 -0500
commit12bfa3de63504d879ae427ec1f2884fc46556157 (patch)
tree4c7ef02b632cb6883d4e90423f1936e68bec040b /arch/x86/include/asm/kgdb.h
parent534af1082329392bc29f6badf815e69ae2ae0f4c (diff)
kgdb,x86: Individual register get/set for x86
Implement the ability to individually get and set registers for kdb and kgdb for x86. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Acked-by: H. Peter Anvin <hpa@zytor.com> CC: Ingo Molnar <mingo@redhat.com> CC: x86@kernel.org
Diffstat (limited to 'arch/x86/include/asm/kgdb.h')
-rw-r--r--arch/x86/include/asm/kgdb.h20
1 files changed, 11 insertions, 9 deletions
diff --git a/arch/x86/include/asm/kgdb.h b/arch/x86/include/asm/kgdb.h
index 006da3687cdc..396f5b5fc4d7 100644
--- a/arch/x86/include/asm/kgdb.h
+++ b/arch/x86/include/asm/kgdb.h
@@ -39,9 +39,11 @@ enum regnames {
GDB_FS, /* 14 */
GDB_GS, /* 15 */
};
+#define GDB_ORIG_AX 41
+#define DBG_MAX_REG_NUM 16
#define NUMREGBYTES ((GDB_GS+1)*4)
#else /* ! CONFIG_X86_32 */
-enum regnames64 {
+enum regnames {
GDB_AX, /* 0 */
GDB_BX, /* 1 */
GDB_CX, /* 2 */
@@ -59,15 +61,15 @@ enum regnames64 {
GDB_R14, /* 14 */
GDB_R15, /* 15 */
GDB_PC, /* 16 */
+ GDB_PS, /* 17 */
+ GDB_CS, /* 18 */
+ GDB_SS, /* 19 */
};
-
-enum regnames32 {
- GDB_PS = 34,
- GDB_CS,
- GDB_SS,
-};
-#define NUMREGBYTES ((GDB_SS+1)*4)
-#endif /* CONFIG_X86_32 */
+#define GDB_ORIG_AX 57
+#define DBG_MAX_REG_NUM 20
+/* 17 64 bit regs and 3 32 bit regs */
+#define NUMREGBYTES ((17 * 8) + (3 * 4))
+#endif /* ! CONFIG_X86_32 */
static inline void arch_kgdb_breakpoint(void)
{