QEMU PS/2 Patches
As many of you might already be aware, QEMU's i8042 PS/2 interface is buggy. The mouse and keyboard can and will freeze requiring a full reboot to restore the mouse. This affects those using Spice, VNC and evdev, those passing through a keyboard and mouse do not need to worry.

Today I finally managed to get to the bottom of this issue, the problem was two fold.

1) QEMU was not obeying the request to disable the PS/2 stream from devices when the guest want's to scan/identify them. If you were moving your mouse or typing when the guest attempted to perform an identify it could cause the stream to become corrupted and the guest would stop trying to use the device.

2) QEMU did not perform proper bounds checking on the PS/2 input buffer, if it overflowed half way through a multi byte packet, the remaining bytes would be discarded, causing the guest to get out of sync with the stream.

I am pleased to announce the following patches that correct this behavior: