From 50300fa573bf2bc00f9732e812d54ab77cf03dd7 Mon Sep 17 00:00:00 2001 From: Michal Idziorek Date: Sun, 23 Nov 2014 20:48:34 +0100 Subject: mostly pr and cosmetics --- kernel/kernel.c | 50 +++++++++++++++++--------------------------------- 1 file changed, 17 insertions(+), 33 deletions(-) (limited to 'kernel/kernel.c') diff --git a/kernel/kernel.c b/kernel/kernel.c index f788cee..66ca21a 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -1,22 +1,17 @@ -/* - * in freestanding mode we can just use this c lib headers - * stdbool,sddef,stdint, - * float,iso646,limits,stdarg - */ +#define FOOLOS_MODULE_NAME "kernel" #ifdef __linux__ #error "Watchout! this is not Linux but FoolOS. Use a cross-compiler" #endif -#define FOOLOS_MODULE_NAME "kernel" +#include "config.h" #include -#include "config.h" #include "asm/asm.h" #include "lib/logger/log.h" -#include "lib/bool/bool.h" + #include "lib/buffer/ringbuffer.h" #include "smp.h" @@ -37,16 +32,9 @@ #include "task.h" -// -// KERNEL MAIN -// +// mp informs us if this if this is the main processor void kernel_main(uint32_t initial_stack, int mp) { - // - // Configuring the PIT timer. - // - timer_init(); - // // Memory Init // @@ -58,10 +46,15 @@ void kernel_main(uint32_t initial_stack, int mp) // mem_init(0x7c00+1,*((uint16_t *)(0x7c00))); + // + // Configuring the PIT timer. + // + timer_init(); + // // Activate Virtual Memory (paging) // - //vmem_init(); + vmem_init(); // // init output to screen @@ -74,7 +67,7 @@ void kernel_main(uint32_t initial_stack, int mp) // - // Setup PIC + // Setup PIC (interrupts) // pic_setup(); @@ -110,6 +103,11 @@ void kernel_main(uint32_t initial_stack, int mp) // ringbuffer for stdin! ringbuffer_init(); + // load and run inode 15 (shell) + // we will come back into the kernel only on interrupts... + syscall_execve(15,0,0); + + // // Start the other Processors (also before paging for some reason!) // @@ -118,7 +116,6 @@ void kernel_main(uint32_t initial_stack, int mp) // but it will be copied over mbr - // // Scan the PCI Bus // @@ -127,31 +124,18 @@ void kernel_main(uint32_t initial_stack, int mp) // //pci_init(); - // - // Initialize Floppy Disk if activated in config.h - // Sadly we won't use it anyway so its uncommented anyway. - // - //#ifdef FOOLOS_COMPILE_FLOPPY - //floppy_init(); - //#endif - // // Initialize Multitasking // // For now this starts three "tasks" which are scheduled // round robin style. // - syscall_execve(15,0,0); // run fool-shell! (execve needs inode id) //task_init(); - // - //vesa_init_doublebuff(); - - // Just hang around here, if its reached. // we do our tasks anyway. on the next clock tick. - while(1); + // while(1); } -- cgit v1.2.3