On 5/15/21 4:35 PM, BALATON Zoltan wrote:
> On Sat, 15 May 2021, Philippe Mathieu-Daudé wrote:
>> 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)
> 
> I don't get the errors you reported. Keyboard and mouse seems to work OK
> for me with SDL on Linux and never got errors detecting it so far. What
> config are you using?

OK, apparently a timing problem related to slow emulation.
I can reproduce simply using "--enable-debug --extra-cflags=-ggdb",
not without it.

Using Volker's series it is harder to reproduce.

Reply via email to