From 4f08ba2b1d0ad7ea90d4d97a483b56b891b9c902 Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Sat, 1 May 2021 11:37:52 +0200 Subject: Creating scheduler, debug paging --- src/core/scheduler.hpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/core/scheduler.hpp (limited to 'src/core/scheduler.hpp') diff --git a/src/core/scheduler.hpp b/src/core/scheduler.hpp new file mode 100644 index 0000000..15b4caf --- /dev/null +++ b/src/core/scheduler.hpp @@ -0,0 +1,31 @@ +#pragma once + +#include "boucane.hpp" + +#define MAX_TASK 5 +#define TASK_VMA 0x0 + +typedef struct { + u32 rax, rbx, rcx, rdx; + u32 cs, rip; + u32 ss, rsp, rbp; + u32 rsi, rdi; + u32 ds, es, fs, gs; + u32 eflags; + u32 ss0, rsp0; +} __attribute__((packed)) REGS; + +typedef struct { + u32 id; + u32 pid; + u64* pml4; + u32 size; + REGS registers; +} __attribute__((packed)) TASK; + +extern char show_ticks; + +extern "C" void clock(); +void schedule(); +void create_task(void*task, u32 size); +void scheduler_start(); \ No newline at end of file -- cgit v1.2.3