コード例 #1
0
ファイル: kernel.c プロジェクト: ajxs/jxos
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();
};
コード例 #2
0
ファイル: platform.c プロジェクト: gil0mendes/Infinity-OS
/** 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();
}
コード例 #3
0
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();
}