summaryrefslogtreecommitdiff
path: root/kernel/include/regs.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/include/regs.h')
-rw-r--r--kernel/include/regs.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/kernel/include/regs.h b/kernel/include/regs.h
index 81b8a69..ec2ed89 100644
--- a/kernel/include/regs.h
+++ b/kernel/include/regs.h
@@ -1,6 +1,8 @@
#ifndef REGS_H
#define REGS_H
+#include <types.h>
+
#define R15_OFF 0x0
#define R14_OFF 0x08
#define R13_OFF 0x10
@@ -24,4 +26,30 @@
#define RSP_OFF 0x100
#define SS_OFF 0x108
+struct regs_t {
+ uint64_t r15;
+ uint64_t r14;
+ uint64_t r13;
+ uint64_t r12;
+ uint64_t rbp;
+ uint64_t rbx;
+ uint64_t seg;
+ uint64_t r11;
+ uint64_t r10;
+ uint64_t r9;
+ uint64_t r8;
+ uint64_t rdi;
+ uint64_t rsi;
+ uint64_t rdx;
+ uint64_t rcx;
+ uint64_t rax;
+ uint64_t error;
+ uint64_t rip;
+ uint64_t cs;
+ uint64_t rflags;
+ uint64_t rsp;
+ uint64_t ss;
+} __attribute__((packed));
+typedef struct regs_t regs_t;
+
#endif