/* * Initializes the keyboard driver. */ PUBLIC void keyboard_init(void) { set_hwint(INT_KEYBOARD, &do_keyboard_hit); while (inputb(0x64) & 1) inputb(0x60); }
/* * Initializes the system's clock. */ PUBLIC void clock_init(unsigned freq) { uint16_t freq_divisor; kprintf("dev: initializing clock device driver"); set_hwint(INT_CLOCK, &do_clock); freq_divisor = PIT_FREQUENCY/freq; /* Send control byte: adjust frequency divisor. */ outputb(PIT_CTRL, 0x36); /* Send data byte: divisor_low and divisor_high. */ outputb(PIT_DATA, (byte_t)(freq_divisor & 0xff)); outputb(PIT_DATA, (byte_t)((freq_divisor >> 8))); }
void keybd_init(){ irq_enable(1); set_hwint(IRQ0+1, &do_keybd_intr); }