Exemple #1
0
void hal_arch_init(int step)
{
	switch (step)
	{
	case HAL_ARCH_INIT_PHASE_EARLY:
		x86_serial_init();
		early_cpu_init();
		hal_irq_early_init();
		arch_init_irq();
		arch_trap_init();
		time_init();
		printk("\n%s->%s->%d.",__FILE__,__FUNCTION__,__LINE__);
		break;
	case HAL_ARCH_INIT_PHASE_MIDDLE:
		{
			unsigned long fb;
			int w, h, bpp;
			extern void x86_bootloader_get_video_info(unsigned long *fb, int *w, int *h, int *bpp);
			
			/* X86 has fb */
			x86_bootloader_get_video_info(&fb, &w, &h, &bpp);
			hal_fb_register_simple(fb, w, h, bpp, 1);
		}
		break;
	case HAL_ARCH_INIT_PHASE_LATE:
		/* start smp and run cpu_init on each cpu */
		cpu_init();

		//x86_prepare_smp();		
		break;
	}
}
Exemple #2
0
int arch_early_init()
{
    int rc;

    rc = x86_serial_init();
    if (rc)
        return rc;

    rc = textmode_init();
    if (rc)
        return rc;

    rc = gdt_init();
    if (rc)
        return rc;

    rc = idt_init();
    if (rc)
        return rc;

    rc = exceptions_init();
    if (rc)
        return rc;

    rc = irq_init();
    if (rc)
        return rc;

    rc = pit_init();
    if (rc)
        return rc;

    return 0;
}
Exemple #3
0
int i386_pc_console_init(void)
{
    int ret;

    ret = x86_vga_text_init();
    ret &= x86_serial_init();

    return ret;
}