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