From ef2d0fc874656913b2ce3d2d2c9a5512e3b1e7a6 Mon Sep 17 00:00:00 2001 From: Matheus Date: Sat, 8 Apr 2023 21:13:29 -0300 Subject: [PATCH] kernel: x86-64 context --- kernel-src/include/x86-64/arch/context.h | 38 ++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 kernel-src/include/x86-64/arch/context.h diff --git a/kernel-src/include/x86-64/arch/context.h b/kernel-src/include/x86-64/arch/context.h new file mode 100644 index 00000000..19ffaf87 --- /dev/null +++ b/kernel-src/include/x86-64/arch/context.h @@ -0,0 +1,38 @@ +#ifndef _CONTEXT_H +#define _CONTEXT_H + +#include + +typedef struct { + uint64_t cr2; + uint64_t gs; + uint64_t fs; + uint64_t es; + uint64_t ds; + uint64_t rax; + uint64_t rbx; + uint64_t rcx; + uint64_t rdx; + uint64_t r8; + uint64_t r9; + uint64_t r10; + uint64_t r11; + uint64_t r12; + uint64_t r13; + uint64_t r14; + uint64_t r15; + uint64_t rdi; + uint64_t rsi; + uint64_t rbp; + uint64_t error; + uint64_t rip; + uint64_t cs; + uint64_t rflags; + uint64_t rsp; + uint64_t ss; +} __attribute__((packed)) context_t; + +#define ARCH_CTX_SP(x) x->rsp; +#define ARCH_CTX_IP(x) x->rip; + +#endif