summaryrefslogtreecommitdiffstats
path: root/main.c
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2024-05-22 13:00:41 -0400
committerJon Santmyer <jon@jonsantmyer.com>2024-05-22 13:00:41 -0400
commitace65b453151845bc361f21f3e5b651c35f9f126 (patch)
tree262ebd29b0ca1d8584f0b6f1efa7a00d9f4f3e43 /main.c
parentf004c1ade8d617a82cea2fe249434cccb47a2358 (diff)
downloadjove-kernel-ace65b453151845bc361f21f3e5b651c35f9f126.tar.gz
jove-kernel-ace65b453151845bc361f21f3e5b651c35f9f126.tar.bz2
jove-kernel-ace65b453151845bc361f21f3e5b651c35f9f126.zip
massive refactor for mp and organizationHEADmaster
Diffstat (limited to 'main.c')
-rw-r--r--main.c41
1 files changed, 26 insertions, 15 deletions
diff --git a/main.c b/main.c
index 91125af..a586287 100644
--- a/main.c
+++ b/main.c
@@ -1,26 +1,37 @@
-#include "arch/arch.h"
-#include "io/log.h"
-#include "mem/memory.h"
-#include "mem/zone.h"
-#include "boot/cmdline.h"
-#include "ird/initrd.h"
-#include "usr/tasking.h"
-#include "usr/umode.h"
-#include "lib/jove.h"
+#include "device/serial.h"
+#include "arch/processor.h"
+#include "arch/cpu.h"
+#include "memory.h"
+#include "commandline.h"
+#include "tasking.h"
+#include "initrd.h"
+#include "print.h"
+/**Setup datastructures and other fields required for the execution manager
+ * and interfaces used by init.*/
void
kernel_main(void)
{
serial_setup();
- arch_tables_setup();
- mem_setup();
+ cpu_setup();
+ processor_setup(proc_bsp);
- cmdline_kernel_setup();
- initrd_setup();
+ mm_setup_early();
+ mm_setup();
tasking_setup();
- umode_setup();
+ kpanic("Reached end of kernel_main\n");
+}
+
+/**Kernel execution context that sets up init.*/
+void
+kernel_stage2(void)
+{
+ cmdline_kernel_setup();
+
+ initrd_setup();
- kpanic("Reached end of kernel main\n");
+ extern void kinit(void);
+ kinit();
}