summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/kernel.c40
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