From 8251da342161767fe203627223ccd4a7026701c6 Mon Sep 17 00:00:00 2001 From: Jon Santmyer Date: Fri, 4 Sep 2026 11:31:40 -0400 Subject: initial commit. working on tasking --- arch/x86_64/main.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 arch/x86_64/main.c (limited to 'arch/x86_64/main.c') diff --git a/arch/x86_64/main.c b/arch/x86_64/main.c new file mode 100644 index 0000000..44591a5 --- /dev/null +++ b/arch/x86_64/main.c @@ -0,0 +1,48 @@ +#include "jove.h" +#include "lib/printf.h" +#include "lib/virtterm.h" +#include "lib/panic.h" +#include "../../hal/obj.h" +#include "hal/serial_com.h" +#include "hal/smp.h" +#include "hal/memory.h" +#include "hal/framebuffer.h" +#include "hal/process.h" +#include "boot/initrd.h" +#include "boot/cmdline.h" + +int errno = 0; + +PAGEALIGN jove_objdir_t _rootdir = { 0 }; + +void *_rootdir_obj = &_rootdir; + +static void kernel_process_entry(void); + +void +kernel_entry(void) +{ + obj_settype(_rootdir_obj, JOVE_OBJ_OBJDIR); + serial_com_init(); + + smp_init_bsp(); + + initrd_setup(); + + fb_init(); + vt_init(); + + cmdline_print(); + + mem_setup_untyped(); + + extern void processing_setup(void*); + processing_setup(kernel_process_entry); + hcf(); +} + +static void +kernel_process_entry(void) +{ + kpanic("Reached the end of kernel main!\n"); +} -- cgit v1.2.3