diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2021-05-01 11:37:52 +0200 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2021-05-01 11:37:52 +0200 |
| commit | 4f08ba2b1d0ad7ea90d4d97a483b56b891b9c902 (patch) | |
| tree | eeba5dd2a23a346234a1ceb6d6c7b135a7344af3 /src/core/scheduler.hpp | |
| parent | fb69c7b05894cee2b8bb691ead948798a0674059 (diff) | |
Creating scheduler, debug paging
Diffstat (limited to 'src/core/scheduler.hpp')
| -rw-r--r-- | src/core/scheduler.hpp | 31 |
1 files changed, 31 insertions, 0 deletions
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 |
