#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"); }