diff options
author | Marvin Borner | 2020-08-09 16:51:01 +0200 |
---|---|---|
committer | Marvin Borner | 2020-08-09 16:51:01 +0200 |
commit | 162d024a53e1e31e00ff0b6f47dd4590edebc551 (patch) | |
tree | 711d3886c300dfaddffdafaa89b690b45eb2101d /kernel/main.c | |
parent | 79f2fa136f26a0b87917336e089485712ee49bd6 (diff) |
Heavy restructuring of libc, kernel and apps
Diffstat (limited to 'kernel/main.c')
-rw-r--r-- | kernel/main.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/kernel/main.c b/kernel/main.c new file mode 100644 index 0000000..17d6267 --- /dev/null +++ b/kernel/main.c @@ -0,0 +1,50 @@ +// MIT License, Copyright (c) 2020 Marvin Borner + +#include "config.h" +#include <boot.h> +#include <cpu.h> +#include <def.h> +#include <fs.h> +#include <gui.h> +#include <interrupts.h> +#include <keyboard.h> +#include <load.h> +#include <print.h> +#include <serial.h> +#include <syscall.h> +#include <timer.h> + +u32 HEAP = 0x00200000; +u32 HEAP_START; + +void kernel_main(struct vid_info *vid_info) +{ + HEAP_START = HEAP; // For malloc function + + // Initialize VESA video + vesa_init(vid_info->info); + u32 terminal_background[3] = { 0, 0, 0 }; + vesa_fill(terminal_background); + + // Serial connection + serial_install(); + serial_print("\nConnected.\n"); + + // Install drivers + interrupts_install(); + timer_install(); + keyboard_install(); + + // Enable drivers + sti(); + + ls_root(); + gui_init(FONT_PATH); + + gui_term_write("Wake up, " USERNAME "...\n"); + + syscall_init(); + proc_init(); + + idle(); +} |