aboutsummaryrefslogtreecommitdiff
path: root/kernel/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/main.c')
-rw-r--r--kernel/main.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/kernel/main.c b/kernel/main.c
index 325f858..07188b9 100644
--- a/kernel/main.c
+++ b/kernel/main.c
@@ -1,12 +1,28 @@
#include <fbos/init.h>
+#include <fbos/printk.h>
+#include <fbos/mm.h>
+#include <fbos/sched.h>
+#include <fbos/dt.h>
+
+unsigned long init_stack[THREAD_SIZE / sizeof(unsigned long)];
+
+struct task_struct init_task = { .stack = init_stack };
/*
* This is the main entry point of the kernel after head.S is done. This
* function can (and will) assume that everything has been reset and that we can
* start the whole thing.
*/
-__noreturn __kernel void start_kernel(void)
+__noreturn __kernel void start_kernel(uintptr_t *dtb)
{
+ // TODO: disable irqs, etc.
+
+ printk("Welcome to FizzBuzz OS!\n");
+
+ parse_dtb(dtb);
+
+ // TODO: reenable stuff
+
for (;;)
;
}