| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
POST only unmasked IRQ1 in the PIC and never configured the 8042 itself, so
the keyboard stayed in its post-reset disabled state: the clock was inhibited
and no scan code ever reached the output buffer. IRQ1 never fired, the BDA
keyboard buffer stayed empty, and GRUB polling INT 16h AH=01h never saw a key.
Add kbd_init() to disable both ports, drain the output buffer, clear the clock
inhibit bits in the command byte, enable the keyboard and auxiliary IRQs and
select set 1 translation, then enable scanning with 0xF4.
The IRQ1 handler now checks the status register for a pending output byte
before reading the data port and drops auxiliary port bytes. The set 2 break
prefix tracking is gone because translation is enabled.
|