Hi, This spice/qxl pull fixes (for the most part) a design flaw in the qxl device interface.
Some write operations to qxl I/O ports are blocking, i.e. they wait for the spice server finish some work, then return to the guest. Which adds noticable latencies. This patch series adds non-blocking versions of these operations which return without delay, then raise a IRQ when complete. The old ops remain functional for backward compatibility reasons. A guest driver update is needed to make use of the new ops and get rid of the latencies. The series also adds new ops which ask the spice server to process all outstanding rendering commands. This will effectively flush all spice server state to qxl device memory and is needed for S3 support. While being at extending the guest ABI we also add a error IRQ to the qxl device. Long-term plan is to convert all guest-triggerable asserts in qxl.c into "ignore guest request and raise error IRQ". All stuff listed above needs a new version of the spice server library, thats why a bunch of ifdefs is needed so qxl continues to work with older spice versions. The plan is to raise the minimum required spice server library when it is in widespread use (in a year or so), then kill all the ugly #ifdefs. Finally we raise the pci revision of the qxl device (with new libspice-server) to signal the guest all the stuff listed above is available. please pull, Gerd The following changes since commit 927d721777e73339f73719f36eaf400ab641366c: microblaze: Add missing call to qemu_init_vcpu. (2011-07-31 06:40:13 +0200) are available in the git repository at: git://anongit.freedesktop.org/spice/qemu spice.v40 Alon Levy (5): qxl: add io_port_to_string qxl: make qxl_guest_bug take variable arguments qxl: only disallow specific io's in vga mode qxl: async io support using new spice api qxl: add QXL_IO_FLUSH_{SURFACES,RELEASE} for guest S3&S4 support Gerd Hoffmann (6): spice: add worker wrapper functions. spice: add qemu_spice_display_init_common spice/qxl: move worker wrappers qxl: fix surface tracking & locking qxl: error handling fixes and cleanups. qxl: bump pci rev hw/qxl-render.c | 4 +- hw/qxl.c | 438 +++++++++++++++++++++++++++++++++++++++++++++------- hw/qxl.h | 34 ++++- ui/spice-display.c | 93 ++++++++++-- ui/spice-display.h | 28 ++++ 5 files changed, 528 insertions(+), 69 deletions(-)