summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2012-03-19 21:14:38 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2020-03-28 16:20:53 +0100
commitf60877e9393b6e345b3490d947843f754843d001 (patch)
treeb7e5ab8d614e4a16afdd15cc509d780a2e1b51cf
parenta063445630a6f26651df53543466a7bfdc44a1f7 (diff)
db_trace: Add 64bit variant
* i386/i386/db_trace.c (i386_kregs): On 64bit, remove edi and esi, and add r12, r13, r14, r15.
-rw-r--r--i386/i386/db_trace.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/i386/i386/db_trace.c b/i386/i386/db_trace.c
index 898febad..de324171 100644
--- a/i386/i386/db_trace.c
+++ b/i386/i386/db_trace.c
@@ -100,8 +100,16 @@ struct i386_kregs {
{ "ebx", (long)(&((struct i386_kernel_state *)0)->k_ebx) },
{ "esp", (long)(&((struct i386_kernel_state *)0)->k_esp) },
{ "ebp", (long)(&((struct i386_kernel_state *)0)->k_ebp) },
+#ifdef __i386__
{ "edi", (long)(&((struct i386_kernel_state *)0)->k_edi) },
{ "esi", (long)(&((struct i386_kernel_state *)0)->k_esi) },
+#endif
+#ifdef __x86_64__
+ { "r12", (long)(&((struct i386_kernel_state *)0)->k_r12) },
+ { "r13", (long)(&((struct i386_kernel_state *)0)->k_r13) },
+ { "r14", (long)(&((struct i386_kernel_state *)0)->k_r14) },
+ { "r15", (long)(&((struct i386_kernel_state *)0)->k_r15) },
+#endif
{ "eip", (long)(&((struct i386_kernel_state *)0)->k_eip) },
{ 0 },
};