From c7252588ebb95f97631e9470778c69afa00c35b5 Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Sun, 1 Mar 2015 14:20:47 -0500 Subject: Huge restructure --- include/kernel/task.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 include/kernel/task.c (limited to 'include/kernel/task.c') diff --git a/include/kernel/task.c b/include/kernel/task.c new file mode 100644 index 0000000..ecc0042 --- /dev/null +++ b/include/kernel/task.c @@ -0,0 +1,16 @@ +#include "task.h" + +void task_create(struct task_t *task, void (*func)(void), uint32_t flags, uint32_t *pagedir) +{ + task->regs.eax = 0; + task->regs.ebx = 0; + task->regs.ecx = 0; + task->regs.edx = 0; + task->regs.esi = 0; + task->regs.edi = 0; + task->regs.eflags = flags; + task->regs.eip = (uint32_t)main; + task->regs.cr3 = (uint32_t)pagedir; + task->regs.esp = kmalloc(0x1000) + 0x1000; + task->next = NULL; +} -- cgit v1.1