summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/kgdb.h
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2012-03-20 00:16:48 +0400
committerJason Wessel <jason.wessel@windriver.com>2012-03-23 00:07:15 +0400
commit639077fb69aec8112e5427210a83d0fb192969f0 (patch)
tree31513fea8a3a7eaa4d2db10194c0435cf2395d20 /arch/x86/include/asm/kgdb.h
parentc16fa4f2ad19908a47c63d8fa436a1178438c7e7 (diff)
downloadlinux-639077fb69aec8112e5427210a83d0fb192969f0.tar.xz
kgdb: x86: Return all segment registers also in 64-bit mode
Even if the content is always 0, gdb expects us to return also ds, es, fs, and gs while in x86-64 mode. Do this to avoid ugly errors on "info registers". [jason.wessel@windriver.com: adjust NUMREGBYTES for two new regs] Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Diffstat (limited to 'arch/x86/include/asm/kgdb.h')
-rw-r--r--arch/x86/include/asm/kgdb.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/x86/include/asm/kgdb.h b/arch/x86/include/asm/kgdb.h
index 77e95f54570a..332f98c9111f 100644
--- a/arch/x86/include/asm/kgdb.h
+++ b/arch/x86/include/asm/kgdb.h
@@ -64,11 +64,15 @@ enum regnames {
GDB_PS, /* 17 */
GDB_CS, /* 18 */
GDB_SS, /* 19 */
+ GDB_DS, /* 20 */
+ GDB_ES, /* 21 */
+ GDB_FS, /* 22 */
+ GDB_GS, /* 23 */
};
#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))
+#define DBG_MAX_REG_NUM 24
+/* 17 64 bit regs and 5 32 bit regs */
+#define NUMREGBYTES ((17 * 8) + (5 * 4))
#endif /* ! CONFIG_X86_32 */
static inline void arch_kgdb_breakpoint(void)