On 5/15/21 1:31 PM, Volker Rümelin wrote: > This patch series fixes two different PS/2 mouse stream corruptions > and adds a feature that allows some old misbehaving DOS programs to > have a working keyboard. With the last few patches, the PS/2 con- > troller behaves more like a real controller. > > v2: > Introduce the function kbd_pending() in a preliminary patch to ease > the review of patch "pckbd: correctly disable PS/2 communication", > as Phillipe suggested. > > v3: > Patch "pckbd: correctly disable PS/2 communication" exposed a bug > in SeaBIOS. The updated patch keeps the relevant code. Until > SeaBIOS is fixed, the PS/2 controller command KBD_CCMD_KBD_DISABLE > must disable the keyboard interrupt. > > In patch "pckbd: PS/2 keyboard throttle" in function > kbd_throttle_timeout() an unnecessary if statement was removed. > The KBD_STAT_OBF flag is never set when kbd_throttle_timeout() > gets called. > > Volker Rümelin (11): > ps2: fix mouse stream corruption > ps2: don't raise an interrupt if queue is full > ps2: don't deassert irq twice if queue is empty > pckbd: split out interrupt line changing code > pckbd: don't update OBF flags if KBD_STAT_OBF is set > pckbd: PS/2 keyboard throttle > pckbd: add state variable for interrupt source > pckbd: add controller response queue > pckbd: add function kbd_pending() > pckbd: correctly disable PS/2 communication > pckbd: remove duplicated keyboard and mouse defines
Zoltan, you might want to test this series with your Pegasos2 machine. It makes the keyboard detected correctly. There is still a problem with the mouse interaction with the host. Pressing Ctrl+Alt+G to ungrab the mouse, my host mouse is still responding to guest events... (unrelated to this series). Tested-by: Philippe Mathieu-Daudé <f4...@amsat.org> (PPC Pegasos2 so far)