[SeaBIOS] [PATCH] ps2: disable the keyboard and mouse before flushing the queue
Kevin O'Connor
kevin at koconnor.net
Thu Apr 25 04:15:07 CEST 2013
On Wed, Apr 24, 2013 at 08:32:09PM -0500, Anthony Liguori wrote:
> If SeaBIOS is run as a payload via coreboot (and presumably as a
> CSM), then it's possible the keyboard or mouse will still be
> enabled. This can lead to data being queued even after the flush
> function attempts to clear the queue.
>
> Disabling the keyboard/mouse prior to flushing is pretty standard
> in DOS programming so it's not surprising that it's needed here.
>
> I believe this problem manifests with the Chromebook Pixel. People
> have reported that sometimes the 'ESC to Select Boot Devices'
> doesn't work. I can reproduce this faithfully by holding 'Ctrl-L'
> in the firmware screen during SeaBIOS initialization.
Thanks. I don't understand why keyboard/mouse events would be a
problem. Those events should get discarded with the "Discarding ps2
data %02x (status=%02x)" message. (The role of the flush is to make
sure there are no i8042 command responses pending - I don't think
keyboard/mouse events are a problem.)
> I can't test this fix on an actual Pixel because I don't know how
> to update SeaBIOS but I have tested the patch under QEMU.
Are you able to reproduce the problem under QEMU?
I'd guess someone on the coreboot list could describe how to reflash
the pixel. I don't own one myself.
-Kevin
More information about the SeaBIOS
mailing list