Begin task refactor
Store state using interrupt stack instead. Looks like `int 0x80` doesn't
work though, which is odd.
diff --git a/src/kernel/task.h b/src/kernel/task.h
index ce5b04c..487c143 100644
--- a/src/kernel/task.h
+++ b/src/kernel/task.h
@@ -3,6 +3,10 @@
#include "kint.h"
#include "registers.h"
+#define INIT_TASKS_INTERRUPT 0x81
+
+extern bool tasks_initialized;
+
struct process
{
bool exists;
@@ -34,7 +38,8 @@
// extern struct process processes[1024];
// extern struct ll_task_i *first_task, *current_task;
-extern void init_tasks();
+// Note: interrupts must be enabled BEFORE this for it to work.
+void init_tasks();
struct process *get_process(uint pid);
int get_process_id();
@@ -47,3 +52,4 @@
void kill_this_thread();
extern void switch_task();
void switch_to_task(struct task *task);
+void _sys_init_tasks_h(struct registers *regs);