From b905869a35f062a4e5072f10bec3a2ba3db0e365 Mon Sep 17 00:00:00 2001 From: Jon Santmyer Date: Wed, 30 Jul 2025 14:32:01 -0400 Subject: working userland with some invoke syscalls --- main.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 main.c (limited to 'main.c') diff --git a/main.c b/main.c new file mode 100644 index 0000000..4416bba --- /dev/null +++ b/main.c @@ -0,0 +1,44 @@ +#include "jove.h" +#include "object.h" +#include "memory.h" +#include "print.h" +#include "init.h" +#include "device/portio_uart.h" +#include "device/processor.h" +#include "device/initrd.h" + +struct jove_ObjectDirectory _initDirectory = { + + .entries = { + [0] = { + .type = KO_OBJECT_DIRECTORY, + .data = 1 + }, + } +}; +init_data_t _initData; + +void +_jove_main(void) +{ + bsp_setup(); +#ifdef ENABLE_PORTIO_UART + portio_uart_setup(); +#endif + + pmem_setup(); + vmem_setup(); +#ifdef ENABLE_INITRD + initrd_setup(); +#endif + + init_load(); + kprintf("Reached end of kernel main!\n"); + hcf(); +} + +NORETURN void +hcf(void) +{ + for(;;) __asm__ volatile("hlt"); +} -- cgit v1.2.1