From 0882221263aa14669946f57578d3ee014493f58f Mon Sep 17 00:00:00 2001 From: Aleksa Vuckovic Date: Sat, 3 Dec 2022 17:47:58 +0100 Subject: scheduler base --- kernel/include/registers.h | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) (limited to 'kernel/include/registers.h') diff --git a/kernel/include/registers.h b/kernel/include/registers.h index a0c0949..373e557 100644 --- a/kernel/include/registers.h +++ b/kernel/include/registers.h @@ -3,6 +3,32 @@ #include +#define RAX 0x0 +#define RBX 0x8 +#define RCX 0x10 +#define RDX 0x18 +#define RSI 0x20 +#define RDI 0x28 +#define RSP 0x30 +#define RBP 0x38 +#define R8 0x40 +#define R9 0x48 +#define R10 0x50 +#define R11 0x58 +#define R12 0x60 +#define R13 0x68 +#define R14 0x70 +#define R15 0x78 +#define RIP 0x80 +#define RFLAGS 0x88 +#define CR3 0x90 +#define CS 0x98 +#define DS 0x9c +#define SS 0x100 +#define ES 0x104 +#define FS 0x108 +#define GS 0x10c + struct registers_t { uint64_t rax; uint64_t rbx; @@ -21,14 +47,15 @@ struct registers_t { uint64_t r14; uint64_t r15; uint64_t rip; + uint64_t rflags; + uint64_t cr3; uint16_t cs; uint16_t ds; uint16_t ss; uint16_t es; uint16_t fs; uint16_t gs; -}; +} __attribute__((packed, aligned(8))); typedef struct registers_t registers_t; - #endif -- cgit v1.2.3