summaryrefslogtreecommitdiff
path: root/arch/x86/machine/cpu_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/machine/cpu_i.h')
-rw-r--r--arch/x86/machine/cpu_i.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/arch/x86/machine/cpu_i.h b/arch/x86/machine/cpu_i.h
index d3cc4a38..ffea8db8 100644
--- a/arch/x86/machine/cpu_i.h
+++ b/arch/x86/machine/cpu_i.h
@@ -19,6 +19,68 @@
#define X86_CPU_I_H
/*
+ * Exception frame offets.
+ */
+
+#ifdef __LP64__
+
+#define CPU_EXC_FRAME_RAX 0
+#define CPU_EXC_FRAME_RBX 1
+#define CPU_EXC_FRAME_RCX 2
+#define CPU_EXC_FRAME_RDX 3
+#define CPU_EXC_FRAME_RBP 4
+#define CPU_EXC_FRAME_RSI 5
+#define CPU_EXC_FRAME_RDI 6
+#define CPU_EXC_FRAME_R8 7
+#define CPU_EXC_FRAME_R9 8
+#define CPU_EXC_FRAME_R10 9
+#define CPU_EXC_FRAME_R11 10
+#define CPU_EXC_FRAME_R12 11
+#define CPU_EXC_FRAME_R13 12
+#define CPU_EXC_FRAME_R14 13
+#define CPU_EXC_FRAME_R15 14
+#define CPU_EXC_FRAME_VECTOR 15
+#define CPU_EXC_FRAME_ERROR 16
+#define CPU_EXC_FRAME_RIP 17
+#define CPU_EXC_FRAME_CS 18
+#define CPU_EXC_FRAME_RFLAGS 19
+#define CPU_EXC_FRAME_RSP 20
+#define CPU_EXC_FRAME_SS 21
+#define CPU_EXC_FRAME_SIZE 22
+
+#define CPU_EXC_FRAME_FP CPU_EXC_FRAME_RBP
+#define CPU_EXC_FRAME_SP CPU_EXC_FRAME_RSP
+#define CPU_EXC_FRAME_PC CPU_EXC_FRAME_RIP
+
+#else /* __LP64__ */
+
+#define CPU_EXC_FRAME_EAX 0
+#define CPU_EXC_FRAME_EBX 1
+#define CPU_EXC_FRAME_ECX 2
+#define CPU_EXC_FRAME_EDX 3
+#define CPU_EXC_FRAME_EBP 4
+#define CPU_EXC_FRAME_ESI 5
+#define CPU_EXC_FRAME_EDI 6
+#define CPU_EXC_FRAME_DS 7
+#define CPU_EXC_FRAME_ES 8
+#define CPU_EXC_FRAME_FS 9
+#define CPU_EXC_FRAME_GS 10
+#define CPU_EXC_FRAME_VECTOR 11
+#define CPU_EXC_FRAME_ERROR 12
+#define CPU_EXC_FRAME_EIP 13
+#define CPU_EXC_FRAME_CS 14
+#define CPU_EXC_FRAME_EFLAGS 15
+#define CPU_EXC_FRAME_ESP 16
+#define CPU_EXC_FRAME_SS 17 /* esp and ss are undefined if trapped in kernel */
+#define CPU_EXC_FRAME_SIZE 18
+
+#define CPU_EXC_FRAME_FP CPU_EXC_FRAME_EBP
+#define CPU_EXC_FRAME_SP CPU_EXC_FRAME_ESP
+#define CPU_EXC_FRAME_PC CPU_EXC_FRAME_EIP
+
+#endif /* __LP64__ */
+
+/*
* EFLAGS register flags.
*/
#define CPU_EFL_ONE 0x00000002 /* Reserved, must be set */