void kernel_init(boot_info_t bootInfo) { tty_init(); multiboot_init(bootInfo.multiboot_magic, bootInfo.multiboot_addr); if(a20_enable()) { serial_writestring(1, "A20 enable failed - triggering panic\n"); kernel_panic(); }; gdt_install(); idt_install(); irq_install(); _protected_mode_init(); paging_init(); _paging_enable(); PIC_init(); serial_init(); keyboard_init(); timer_init(); serial_writestring(1, "End kernel_init\n"); kernel_main(); };
/** Main function of the PC loader. */ void platform_init(void) { /* Set up console output. */ console_init(); /* Initialize the architecture. */ arch_init(); /* Initialize hardware. */ memory_init(); disk_init(); vbe_init(); /* Parse information from Multiboot. */ multiboot_init(); /* Call the main function. */ loader_main(); }
void interface_init(void) { // Running at new code address - do code relocation fixups malloc_init(); // Setup romfile items. qemu_cfg_init(); coreboot_cbfs_init(); multiboot_init(); // Setup ivt/bda/ebda ivt_init(); bda_init(); // Other interfaces boot_init(); bios32_init(); pmm_init(); pnp_init(); kbd_init(); mouse_init(); }