Exemple #1
0
/* Called before platform-independent kernel initialization */
void arch_init(void)
{
    gdt_init();
    idt_init();
    timer_init(TIMER_HZ);
    kbc_init();
}
Exemple #2
0
int main(int argc, char *argv[])
{
	//>>>>>>>>>>  carregament da codepage  <<<<<<<<<<
	load_char_table(codepage);
	
	
	//>>>>>>>>>>  init kbc  <<<<<<<<<
	Bool mouse_detected = kbc_init(0);
	
	
	//>>>>>>>>>>  init kbd  <<<<<<<<<<
	kbd_init();
	
	
	//>>>>>>>>>>  init mouse  <<<<<<<<<<
	if (mouse_detected == true)
		mouse_init((int) 0);
	
	
	//>>>>>>>>>>  init rtc  <<<<<<<<<<
	rtc_init();
	drawDate();
	drawTime();
	drawCounter();
	
	
	//>>>>>>>>>>  init timer  <<<<<<<<<<
	timer0_init();
	timer_init(TIMER_2, LSBMSB | MODE3);

	
//#################
	menu_start();
//#################		
	
	
	
	//>>>>>>>>>>  restore kbd isr <<<<<<<<<<
	restore_keyboard_isr();
	
	
	//>>>>>>>>>>  restore mouse isr <<<<<<<<<<
	if (mouse_detected == true)
		restore_mouse_isr();
	
	
	//>>>>>>>>>>  restore rtc isr <<<<<<<<<<
	restore_rtc_isr();
	
	//>>>>>>>>>>  init timer isr <<<<<<<<<<
	restore_timer0();
	
	
	return 0;
}
Exemple #3
0
int mouse_init(void(*isr)(void), _go32_dpmi_seginfo *prev_isr)
{
    disable_irq(KBD_IRQ);
    disable_irq(MOUSE_IRQ);
    int sucesso = kbc_init(1);
    _go32_dpmi_lock_code(mouse_isr, (end_mouse_isr - mouse_isr));
    _go32_dpmi_lock_data((void*) &b3, sizeof(b3));
    set_isr(MOUSE_IRQ, mouse_isr, prev_isr);
    enable_irq(KBD_IRQ);
    enable_irq(MOUSE_IRQ);

    return sucesso;
}