Process event on ps2 keyboard irq even if event already read.
authorKevin O'Connor <kevin@koconnor.net>
Sun, 14 Mar 2010 02:05:12 +0000 (21:05 -0500)
committerKevin O'Connor <kevin@koconnor.net>
Sun, 14 Mar 2010 02:05:12 +0000 (21:05 -0500)
commitf628244eb322da79d6a8bffdb35e6d0e5111892a
treed81aff6ccde9d6301137d9d6d49ee4a2df2894bb
parenta5d8458fc0e6f5971931d2ffec99d02678af104a
Process event on ps2 keyboard irq even if event already read.

Some old DOS programs will hook the keyboard irq, read the keyboard
data on irq, and then call the BIOS handler expecting it to continue
process the event.  So, the BIOS can't assume it is the first to read
the data from the ps2 port.

Also, reduce window where a ps2 command could conflict with incoming
data.  Disable all data during interrupt flushing, and only re-enable
the desired port just prior to sending the command.

Also, discard data from any interrupts if init hasn't completed.
src/ps2port.c