Hi, This patch series aim to fix many issues in vmware-svga emulation which have prevented it from being fully functional in a wide-variety of guests.
Patches 1-5 are just code refactoring patches. Patches 6-11 aim to fix multiple command parsing issues which caused FIFO to desync and thus fail to parse commands posted after the commands which failed to parse. Patches 12-13 better define FIFO registers and add support for extended FIFO registers. Patches 14-17 add interrupt support. Patches 18-19 utilize interrupt support to implement various interrupt sources. Specifically, FIFO_PROGRESS interrupt and FIFO_FENCE related interrupts. Patches 20-24 fix various issues in cursor commands and improve hardware cursor performance by utilizing CURSOR_BYPASS_3 capability which allows getting cursor updates via FIFO registers. Patch 25 add basic support for parsing GMR commands to avoid FIFO desync. Patches 26-27 add vmware-svga capabilities required by Linux kernel vmware-svga driver. Patch 28 is a small code refactoring change. Patch 29 disallows setting screen size to zero width/height to avoid VNC window surprisingly disappearing. Regards, -Liran Alon