This commit adds a interrupt service routine (ISR) for the keyboard.
An Interrupt Service Routine (ISR) is a function that is assigned to handle an interrupt. This setting of the interrupt handler is also called setting the gate (see kernel/idt/idt.c: idt_set_gate()). Since this routine is called directly by the CPU and must return by the assembly instruction iret or iretd, we use a “wrapper” in assembly which calls the handler in C and returns with iretd.
The keyboard ISR is set in kernel/isr/isr.c: isr_set_keyboard() and enabled in isr_init_keyboard().
cd kernel
make qemu
You will see a prompt like:
type here:
Start typing and see it on the screen! Note: The enter key does not work as of now.