diff options
Diffstat (limited to 'kernel/kernel.c')
| -rw-r--r-- | kernel/kernel.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/kernel/kernel.c b/kernel/kernel.c index e1076a9..67f1355 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -2,20 +2,25 @@ #include "kernel.h" #include <stdint.h> -#include <stddef.h> + +#include "driver/serial.h" +#include "driver/timer.h" +#include "driver/keyboard.h" +#include "driver/mouse.h" + +#include "kernel/gdt.h" +#include "kernel/scheduler.h" #include "syscalls.h" #include "types.h" #include "lib/logger/log.h" #include "fifo.h" -#include "timer.h" #include "mem.h" #include "vmem.h" #include "mp.h" #include "interrupts.h" #include "multiboot.h" #include "ringbuffer.h" -#include "task.h" #include "multiboot.h" #include "terminal/terminal.h" #include "driver/screen.h" @@ -33,15 +38,14 @@ void kernel_main(uint32_t eax,uint32_t ebx) uint64_t epoch_time=timer_init(); log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"PIT - initialized. %u seconds passed since 1970.",epoch_time); - // KEYBOARD DRIVER keyboard_init(0); //sstdin log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Keyboard Initialized"); - // MOUSE DRIVER mouse_init(); + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Mouse Initialized"); - // GDT - gdt_setup(); + gdt_init(); + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"GDT Initialized"); // MULTIBOOT HEADER multiboot_information *info=get_multiboot(eax, ebx); @@ -74,6 +78,7 @@ void kernel_main(uint32_t eax,uint32_t ebx) // INIT VESA: TODO: stop and say if not 32bit colormode! uint32_t addr=kballoc(1); fs_content("/binfont.bin",addr,0x100); // copy 0x100 bytes to 0x7000 + vesa_init(info->vbe_control_info,info->vbe_mode_info,addr); // STREAMS @@ -81,10 +86,8 @@ void kernel_main(uint32_t eax,uint32_t ebx) uint32_t sstdout = syscall_open("term",0,0); // stdout 1 uint32_t sstderr = syscall_open("stderr",0,0); // stderr 2 - // INSTALL INTERRUPTS (code segment: 0x08) - int_init(0x08); + interrupts_init(0x08); - // INIT MULTITASKING (and start scheduler) - task_init(dir); + scheduler_init(dir); } |
