From 950649760927a7c33ddecd1944fd0ad20e731ee9 Mon Sep 17 00:00:00 2001 From: Aleksa Vuckovic Date: Sun, 26 Feb 2023 11:52:55 +0100 Subject: save/restore context from rsp --- kernel/include/regs.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'kernel/include/regs.h') 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 + #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 -- cgit v1.2.3