summaryrefslogtreecommitdiff
path: root/kernel/main.c
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2025-04-08 10:39:48 -0400
committerFreya Murphy <freya@freyacat.org>2025-04-08 10:39:48 -0400
commit8a19547957a86bed3f58c9abc1ac218d04698faf (patch)
treeed7ccc6f3a8902915dfe6c9bf763fc45d752b3c4 /kernel/main.c
parentfmt (diff)
downloadcomus-8a19547957a86bed3f58c9abc1ac218d04698faf.tar.gz
comus-8a19547957a86bed3f58c9abc1ac218d04698faf.tar.bz2
comus-8a19547957a86bed3f58c9abc1ac218d04698faf.zip
break apart c libaray
Diffstat (limited to 'kernel/main.c')
-rw-r--r--kernel/main.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/kernel/main.c b/kernel/main.c
new file mode 100644
index 0000000..5b06ae2
--- /dev/null
+++ b/kernel/main.c
@@ -0,0 +1,32 @@
+#include <comus/cpu.h>
+#include <comus/memory.h>
+#include <comus/mboot.h>
+#include <comus/drivers.h>
+#include <comus/fs.h>
+#include <lib.h>
+
+struct memory_map mmap;
+
+void main(long magic, volatile void *mboot)
+{
+ (void)magic; // TODO: check multiboot magic
+
+ // initalize idt and pic
+ // WARNING: must be done before anything else
+ cpu_init();
+
+ // load memory map
+ mboot_load_mmap(mboot, &mmap);
+
+ // initalize memory
+ memory_init(&mmap);
+
+ // initalize devices
+ drivers_init();
+
+ // load file systems
+ fs_init();
+
+ // halt
+ kprintf("halting...\n");
+}