diff options
Diffstat (limited to 'kernel/kernel.c')
| -rw-r--r-- | kernel/kernel.c | 40 |
1 files changed, 11 insertions, 29 deletions
diff --git a/kernel/kernel.c b/kernel/kernel.c index 7c06ebf..7f92a25 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -48,11 +48,12 @@ * * All Processors are up and running in 32bit protected mode. * * Interrupts are installed and enabled: * - * - PS/2 Keyboard CPU0 - * - PS/2 Mouse CPU0 - * - PIT Timer (20Hz) (DISABLED in apic.c) CPU0 - * - APIC Timer (Frequency defined in kernel.h) ALL CPUS - * - E1000 CPU0 + * - APIC Timer (Frequency defined in kernel.h) ALL CPUS + * - PIT Timer (20Hz hardcoded in timer.c) CPU-0 + * + * - PS/2 Keyboard CPU-0 + * - PS/2 Mouse CPU-0 + * - E1000 CPU-0 * * * Software Interrupts: * @@ -143,43 +144,24 @@ void kernel_main(uint32_t eax,uint32_t ebx) apic_init(&cfg_acpi); ioapic_config(); - // -- VESA -- // - /* - fixme("tell terminal syscall somehow if we are vga or textmode"); - klog("Video Electronics Standards Association (VESA) init ... "); - - // binfont has to fit in ONE ext2 block // - - fixme("support binfonts spanning multiple blocks?"); - uint32_t inode= ext2_filename_to_inode(VMEM_EXT2_RAMIMAGE,VESA_FONT_PATH); - uint32_t addr= ext2_inode_blockstart( VMEM_EXT2_RAMIMAGE,inode,0); - vesa_init(cfg_multiboot,addr); // this only sets some internal static variables - - - // -- STD STREAMS -- // - klog("Standard Streams init ..."); - fd_init_std_streams(0,cfg_multiboot->framebuffer_type!=2); - */ - + // -- COMPOSITOR (TODO: text-mode fallback) -- // klog("Compositor init ..."); compositor_init(cfg_multiboot->framebuffer_width,cfg_multiboot->framebuffer_height,cfg_multiboot->framebuffer_pitch); - compositor_set_background("/home/miguel/bg2.ppm"); + compositor_set_background("/home/miguel/bg.ppm"); - // -- KB -- // + // -- KB DRIVER -- // klog("Keyboard init ..."); keyboard_init(); - // -- MOUSE -- // + // -- MOUSE DRIVER -- // klog("Mouse init ..."); mouse_init(); - // -- E1000 INIT (TODO: only if present!) --/ + // -- E1000 DRIVER --/ if(e1000_addr) { - #ifndef DISABLE_E1000 klog("E1000 init ..."); e1000_init(e1000_addr); - #endif } // we wait until the end since the time will only start ticking once |
