* [Qemu-devel] [PULL 0/8] spice patch queue @ 2012-10-08 10:49 Gerd Hoffmann 2012-10-08 10:49 ` [Qemu-devel] [PATCH 1/8] qxl: always update displaysurface on resize Gerd Hoffmann ` (8 more replies) 0 siblings, 9 replies; 15+ messages in thread From: Gerd Hoffmann @ 2012-10-08 10:49 UTC (permalink / raw) To: qemu-devel; +Cc: Gerd Hoffmann Hi, Here comes the spice patch queue. It raises the minimal required spice-server version to 0.12 and the qxl device revision to 4. It also brings a collection of bugfixes. please pull, Gerd The following changes since commit 4bb26682f70a5f626cad3e0ac82bf4b6252ea7a4: Merge branch 'master' of git.qemu.org:/pub/git/qemu (2012-10-07 18:42:18 +0000) are available in the git repository at: git://anongit.freedesktop.org/spice/qemu spice.v61 Alon Levy (3): hw/qxl: exit on failure to register qxl interface hw/qxl: fix condition for exiting guest_bug hw/qxl: qxl_dirty_surfaces: use uintptr_t Gerd Hoffmann (4): qxl: always update displaysurface on resize qxl: fix range check for rev3 io commands. spice: raise requirement to 0.12 qxl: set default revision to 4 Michael Tokarev (1): qxl/update_area_io: cleanup invalid parameters handling configure | 18 +-------------- hw/pc_piix.c | 8 +++++++ hw/qxl-render.c | 4 --- hw/qxl.c | 57 +++++++++++----------------------------------------- hw/qxl.h | 5 ---- ui/spice-core.c | 51 +-------------------------------------------- ui/spice-display.c | 38 ---------------------------------- ui/spice-display.h | 5 ---- 8 files changed, 24 insertions(+), 162 deletions(-) ^ permalink raw reply [flat|nested] 15+ messages in thread
* [Qemu-devel] [PATCH 1/8] qxl: always update displaysurface on resize 2012-10-08 10:49 [Qemu-devel] [PULL 0/8] spice patch queue Gerd Hoffmann @ 2012-10-08 10:49 ` Gerd Hoffmann 2012-10-08 10:49 ` [Qemu-devel] [PATCH 2/8] qxl/update_area_io: cleanup invalid parameters handling Gerd Hoffmann ` (7 subsequent siblings) 8 siblings, 0 replies; 15+ messages in thread From: Gerd Hoffmann @ 2012-10-08 10:49 UTC (permalink / raw) To: qemu-devel; +Cc: Gerd Hoffmann Don't try to be clever and skip displaysurface reinitialization in case the size hasn't changed. Other parameters might have changed nevertheless, for example depth or stride, resulting in rendering being broken then. Trigger: boot linux guest with vesafb, start X11, make sure both vesafb and X11 use the display same resolution. Then watch X11 screen being upside down. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- hw/qxl-render.c | 4 ---- 1 files changed, 0 insertions(+), 4 deletions(-) diff --git a/hw/qxl-render.c b/hw/qxl-render.c index e2e3fe2..b66c168 100644 --- a/hw/qxl-render.c +++ b/hw/qxl-render.c @@ -99,7 +99,6 @@ static void qxl_render_update_area_unlocked(PCIQXLDevice *qxl) { VGACommonState *vga = &qxl->vga; int i; - DisplaySurface *surface = vga->ds->surface; if (qxl->guest_primary.resized) { qxl->guest_primary.resized = 0; @@ -112,9 +111,6 @@ static void qxl_render_update_area_unlocked(PCIQXLDevice *qxl) qxl->guest_primary.qxl_stride, qxl->guest_primary.bytes_pp, qxl->guest_primary.bits_pp); - } - if (surface->width != qxl->guest_primary.surface.width || - surface->height != qxl->guest_primary.surface.height) { if (qxl->guest_primary.qxl_stride > 0) { qemu_free_displaysurface(vga->ds); qemu_create_displaysurface_from(qxl->guest_primary.surface.width, -- 1.7.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Qemu-devel] [PATCH 2/8] qxl/update_area_io: cleanup invalid parameters handling 2012-10-08 10:49 [Qemu-devel] [PULL 0/8] spice patch queue Gerd Hoffmann 2012-10-08 10:49 ` [Qemu-devel] [PATCH 1/8] qxl: always update displaysurface on resize Gerd Hoffmann @ 2012-10-08 10:49 ` Gerd Hoffmann 2012-10-08 10:49 ` [Qemu-devel] [PATCH 3/8] qxl: fix range check for rev3 io commands Gerd Hoffmann ` (6 subsequent siblings) 8 siblings, 0 replies; 15+ messages in thread From: Gerd Hoffmann @ 2012-10-08 10:49 UTC (permalink / raw) To: qemu-devel; +Cc: Alon Levy, Michael Tokarev, Gerd Hoffmann, Dunrong Huang From: Michael Tokarev <mjt@tls.msk.ru> This cleans up two additions of almost the same code in commits 511b13e2c9 and ccc2960d654. While at it, make error paths consistent (always use 'break' instead of 'return'). Signed-off-by: Michael Tokarev <mjt@tls.msk.ru> Cc: Dunrong Huang <riegamaths@gmail.com> Cc: Alon Levy <alevy@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- hw/qxl.c | 13 +++---------- 1 files changed, 3 insertions(+), 10 deletions(-) diff --git a/hw/qxl.c b/hw/qxl.c index 33169f3..3c82c2a 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -1547,20 +1547,13 @@ async_common: if (d->ram->update_surface > d->ssd.num_surfaces) { qxl_set_guest_bug(d, "QXL_IO_UPDATE_AREA: invalid surface id %d\n", d->ram->update_surface); - return; + break; } - if (update.left >= update.right || update.top >= update.bottom) { + if (update.left >= update.right || update.top >= update.bottom || + update.left < 0 || update.top < 0) { qxl_set_guest_bug(d, "QXL_IO_UPDATE_AREA: invalid area (%ux%u)x(%ux%u)\n", update.left, update.top, update.right, update.bottom); - return; - } - - if (update.left < 0 || update.top < 0 || update.left >= update.right || - update.top >= update.bottom) { - qxl_set_guest_bug(d, "QXL_IO_UPDATE_AREA: " - "invalid area(%d,%d,%d,%d)\n", update.left, - update.right, update.top, update.bottom); break; } if (async == QXL_ASYNC) { -- 1.7.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Qemu-devel] [PATCH 3/8] qxl: fix range check for rev3 io commands. 2012-10-08 10:49 [Qemu-devel] [PULL 0/8] spice patch queue Gerd Hoffmann 2012-10-08 10:49 ` [Qemu-devel] [PATCH 1/8] qxl: always update displaysurface on resize Gerd Hoffmann 2012-10-08 10:49 ` [Qemu-devel] [PATCH 2/8] qxl/update_area_io: cleanup invalid parameters handling Gerd Hoffmann @ 2012-10-08 10:49 ` Gerd Hoffmann 2012-10-08 10:49 ` [Qemu-devel] [PATCH 4/8] hw/qxl: exit on failure to register qxl interface Gerd Hoffmann ` (5 subsequent siblings) 8 siblings, 0 replies; 15+ messages in thread From: Gerd Hoffmann @ 2012-10-08 10:49 UTC (permalink / raw) To: qemu-devel; +Cc: Gerd Hoffmann Enables QXL_IO_FLUSH_SURFACES_ASYNC and QXL_IO_FLUSH_RELEASE which are part of the qxl rev3 feature set. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- hw/qxl.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/hw/qxl.c b/hw/qxl.c index 3c82c2a..eb7707c 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -1466,7 +1466,7 @@ static void ioport_write(void *opaque, target_phys_addr_t addr, } if (d->revision <= QXL_REVISION_STABLE_V10 && - io_port >= QXL_IO_FLUSH_SURFACES_ASYNC) { + io_port > QXL_IO_FLUSH_RELEASE) { qxl_set_guest_bug(d, "unsupported io %d for revision %d\n", io_port, d->revision); return; -- 1.7.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Qemu-devel] [PATCH 4/8] hw/qxl: exit on failure to register qxl interface 2012-10-08 10:49 [Qemu-devel] [PULL 0/8] spice patch queue Gerd Hoffmann ` (2 preceding siblings ...) 2012-10-08 10:49 ` [Qemu-devel] [PATCH 3/8] qxl: fix range check for rev3 io commands Gerd Hoffmann @ 2012-10-08 10:49 ` Gerd Hoffmann 2012-10-08 10:49 ` [Qemu-devel] [PATCH 5/8] hw/qxl: fix condition for exiting guest_bug Gerd Hoffmann ` (4 subsequent siblings) 8 siblings, 0 replies; 15+ messages in thread From: Gerd Hoffmann @ 2012-10-08 10:49 UTC (permalink / raw) To: qemu-devel; +Cc: Alon Levy, Gerd Hoffmann From: Alon Levy <alevy@redhat.com> This prevents a segfault later on when the device reset handler tries to access a NULL ssd.worker since interface_attach_worker has not been called. Signed-off-by: Alon Levy <alevy@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- hw/qxl.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/hw/qxl.c b/hw/qxl.c index eb7707c..e99ed55 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -2037,7 +2037,11 @@ static int qxl_init_common(PCIQXLDevice *qxl) qxl->ssd.qxl.base.sif = &qxl_interface.base; qxl->ssd.qxl.id = qxl->id; - qemu_spice_add_interface(&qxl->ssd.qxl.base); + if (qemu_spice_add_interface(&qxl->ssd.qxl.base) != 0) { + error_report("qxl interface %d.%d not supported by spice-server\n", + SPICE_INTERFACE_QXL_MAJOR, SPICE_INTERFACE_QXL_MINOR); + return -1; + } qemu_add_vm_change_state_handler(qxl_vm_change_state_handler, qxl); init_pipe_signaling(qxl); -- 1.7.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Qemu-devel] [PATCH 5/8] hw/qxl: fix condition for exiting guest_bug 2012-10-08 10:49 [Qemu-devel] [PULL 0/8] spice patch queue Gerd Hoffmann ` (3 preceding siblings ...) 2012-10-08 10:49 ` [Qemu-devel] [PATCH 4/8] hw/qxl: exit on failure to register qxl interface Gerd Hoffmann @ 2012-10-08 10:49 ` Gerd Hoffmann 2012-10-08 10:49 ` [Qemu-devel] [PATCH 6/8] hw/qxl: qxl_dirty_surfaces: use uintptr_t Gerd Hoffmann ` (3 subsequent siblings) 8 siblings, 0 replies; 15+ messages in thread From: Gerd Hoffmann @ 2012-10-08 10:49 UTC (permalink / raw) To: qemu-devel; +Cc: Alon Levy, Gerd Hoffmann From: Alon Levy <alevy@redhat.com> Reported and suggested by Paolo Bonzini, thanks. Signed-off-by: Alon Levy <alevy@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- hw/qxl.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/hw/qxl.c b/hw/qxl.c index e99ed55..772b6c0 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -1461,7 +1461,7 @@ static void ioport_write(void *opaque, target_phys_addr_t addr, qxl_async_io async = QXL_SYNC; uint32_t orig_io_port = io_port; - if (d->guest_bug && !io_port == QXL_IO_RESET) { + if (d->guest_bug && io_port != QXL_IO_RESET) { return; } -- 1.7.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Qemu-devel] [PATCH 6/8] hw/qxl: qxl_dirty_surfaces: use uintptr_t 2012-10-08 10:49 [Qemu-devel] [PULL 0/8] spice patch queue Gerd Hoffmann ` (4 preceding siblings ...) 2012-10-08 10:49 ` [Qemu-devel] [PATCH 5/8] hw/qxl: fix condition for exiting guest_bug Gerd Hoffmann @ 2012-10-08 10:49 ` Gerd Hoffmann 2012-10-08 10:49 ` [Qemu-devel] [PATCH 7/8] spice: raise requirement to 0.12 Gerd Hoffmann ` (2 subsequent siblings) 8 siblings, 0 replies; 15+ messages in thread From: Gerd Hoffmann @ 2012-10-08 10:49 UTC (permalink / raw) To: qemu-devel; +Cc: Alon Levy, Gerd Hoffmann From: Alon Levy <alevy@redhat.com> As suggested by Paolo Bonzini, to avoid possible integer overflow issues. Signed-off-by: Alon Levy <alevy@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- hw/qxl.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/qxl.c b/hw/qxl.c index 772b6c0..c246147 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -1804,7 +1804,7 @@ static void qxl_hw_text_update(void *opaque, console_ch_t *chardata) static void qxl_dirty_surfaces(PCIQXLDevice *qxl) { - intptr_t vram_start; + uintptr_t vram_start; int i; if (qxl->mode != QXL_MODE_NATIVE && qxl->mode != QXL_MODE_COMPAT) { @@ -1815,7 +1815,7 @@ static void qxl_dirty_surfaces(PCIQXLDevice *qxl) qxl_set_dirty(&qxl->vga.vram, qxl->shadow_rom.draw_area_offset, qxl->shadow_rom.surface0_area_size); - vram_start = (intptr_t)memory_region_get_ram_ptr(&qxl->vram_bar); + vram_start = (uintptr_t)memory_region_get_ram_ptr(&qxl->vram_bar); /* dirty the off-screen surfaces */ for (i = 0; i < qxl->ssd.num_surfaces; i++) { -- 1.7.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Qemu-devel] [PATCH 7/8] spice: raise requirement to 0.12 2012-10-08 10:49 [Qemu-devel] [PULL 0/8] spice patch queue Gerd Hoffmann ` (5 preceding siblings ...) 2012-10-08 10:49 ` [Qemu-devel] [PATCH 6/8] hw/qxl: qxl_dirty_surfaces: use uintptr_t Gerd Hoffmann @ 2012-10-08 10:49 ` Gerd Hoffmann 2012-10-08 10:49 ` [Qemu-devel] [PATCH 8/8] qxl: set default revision to 4 Gerd Hoffmann 2012-10-12 16:18 ` [Qemu-devel] [PULL 0/8] spice patch queue Anthony Liguori 8 siblings, 0 replies; 15+ messages in thread From: Gerd Hoffmann @ 2012-10-08 10:49 UTC (permalink / raw) To: qemu-devel; +Cc: Gerd Hoffmann With the next qemu version (1.3) we are going to bump the qxl device revision to 4. The new features available require a recent spice-server version, so raise up the bar. Otherwise we would end up with different qxl revisions depending on the spice-server version installed, which would be a major PITA when it comes to compat properties. Clear out a big bunch of #ifdefs which are not needed any more. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- configure | 18 ++---------------- hw/qxl.c | 30 ------------------------------ ui/spice-core.c | 51 ++------------------------------------------------- ui/spice-display.c | 38 -------------------------------------- ui/spice-display.h | 5 ----- 5 files changed, 4 insertions(+), 138 deletions(-) diff --git a/configure b/configure index c4a7837..c0226fc 100755 --- a/configure +++ b/configure @@ -2716,20 +2716,14 @@ int main(void) { spice_server_new(); return 0; } EOF spice_cflags=$($pkg_config --cflags spice-protocol spice-server 2>/dev/null) spice_libs=$($pkg_config --libs spice-protocol spice-server 2>/dev/null) - if $pkg_config --atleast-version=0.8.2 spice-server >/dev/null 2>&1 && \ - $pkg_config --atleast-version=0.8.1 spice-protocol > /dev/null 2>&1 && \ + if $pkg_config --atleast-version=0.12.0 spice-server >/dev/null 2>&1 && \ + $pkg_config --atleast-version=0.12.2 spice-protocol > /dev/null 2>&1 && \ compile_prog "$spice_cflags" "$spice_libs" ; then spice="yes" libs_softmmu="$libs_softmmu $spice_libs" QEMU_CFLAGS="$QEMU_CFLAGS $spice_cflags" spice_protocol_version=$($pkg_config --modversion spice-protocol) spice_server_version=$($pkg_config --modversion spice-server) - if $pkg_config --atleast-version=0.12.0 spice-protocol >/dev/null 2>&1; then - spice_qxl_io_monitors_config_async="yes" - fi - if $pkg_config --atleast-version=0.12.2 spice-protocol > /dev/null 2>&1; then - spice_qxl_client_monitors_config="yes" - fi else if test "$spice" = "yes" ; then feature_not_found "spice" @@ -3474,14 +3468,6 @@ if test "$spice" = "yes" ; then echo "CONFIG_SPICE=y" >> $config_host_mak fi -if test "$spice_qxl_io_monitors_config_async" = "yes" ; then - echo "CONFIG_QXL_IO_MONITORS_CONFIG_ASYNC=y" >> $config_host_mak -fi - -if test "$spice_qxl_client_monitors_config" = "yes" ; then - echo "CONFIG_QXL_CLIENT_MONITORS_CONFIG=y" >> $config_host_mak -fi - if test "$smartcard" = "yes" ; then echo "CONFIG_SMARTCARD=y" >> $config_host_mak fi diff --git a/hw/qxl.c b/hw/qxl.c index c246147..1d16863 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -29,11 +29,6 @@ #include "qxl.h" -#ifndef CONFIG_QXL_IO_MONITORS_CONFIG_ASYNC -/* spice-protocol is too old, add missing definitions */ -#define QXL_IO_MONITORS_CONFIG_ASYNC (QXL_IO_FLUSH_RELEASE + 1) -#endif - /* * NOTE: SPICE_RING_PROD_ITEM accesses memory on the pci bar and as * such can be changed by the guest, so to avoid a guest trigerrable @@ -262,9 +257,6 @@ static void qxl_spice_destroy_surfaces(PCIQXLDevice *qxl, qxl_async_io async) static void qxl_spice_monitors_config_async(PCIQXLDevice *qxl, int replay) { trace_qxl_spice_monitors_config(qxl->id); -/* 0x000b01 == 0.11.1 */ -#if SPICE_SERVER_VERSION >= 0x000b01 && \ - defined(CONFIG_QXL_IO_MONITORS_CONFIG_ASYNC) if (replay) { /* * don't use QXL_COOKIE_TYPE_IO: @@ -286,10 +278,6 @@ static void qxl_spice_monitors_config_async(PCIQXLDevice *qxl, int replay) (uintptr_t)qxl_cookie_new(QXL_COOKIE_TYPE_IO, QXL_IO_MONITORS_CONFIG_ASYNC)); } -#else - fprintf(stderr, "qxl: too old spice-protocol/spice-server for " - "QXL_IO_MONITORS_CONFIG_ASYNC\n"); -#endif } void qxl_spice_reset_image_cache(PCIQXLDevice *qxl) @@ -948,8 +936,6 @@ static void interface_async_complete(QXLInstance *sin, uint64_t cookie_token) } } -#if SPICE_SERVER_VERSION >= 0x000b04 - /* called from spice server thread context only */ static void interface_set_client_capabilities(QXLInstance *sin, uint8_t client_present, @@ -971,11 +957,6 @@ static void interface_set_client_capabilities(QXLInstance *sin, qxl_send_events(qxl, QXL_INTERRUPT_CLIENT); } -#endif - -#if defined(CONFIG_QXL_CLIENT_MONITORS_CONFIG) \ - && SPICE_SERVER_VERSION >= 0x000b05 - static uint32_t qxl_crc32(const uint8_t *p, unsigned len) { /* @@ -1044,7 +1025,6 @@ static int interface_client_monitors_config(QXLInstance *sin, qxl_send_events(qxl, QXL_INTERRUPT_CLIENT_MONITORS_CONFIG); return 1; } -#endif static const QXLInterface qxl_interface = { .base.type = SPICE_INTERFACE_QXL, @@ -1067,13 +1047,8 @@ static const QXLInterface qxl_interface = { .flush_resources = interface_flush_resources, .async_complete = interface_async_complete, .update_area_complete = interface_update_area_complete, -#if SPICE_SERVER_VERSION >= 0x000b04 .set_client_capabilities = interface_set_client_capabilities, -#endif -#if SPICE_SERVER_VERSION >= 0x000b05 && \ - defined(CONFIG_QXL_CLIENT_MONITORS_CONFIG) .client_monitors_config = interface_client_monitors_config, -#endif }; static void qxl_enter_vga_mode(PCIQXLDevice *d) @@ -1847,7 +1822,6 @@ static void qxl_vm_change_state_handler(void *opaque, int running, RunState state) { PCIQXLDevice *qxl = opaque; - qemu_spice_vm_change_state_handler(&qxl->ssd, running, state); if (running) { /* @@ -1964,14 +1938,10 @@ static int qxl_init_common(PCIQXLDevice *qxl) pci_device_rev = QXL_REVISION_STABLE_V10; io_size = 32; /* PCI region size must be pow2 */ break; -/* 0x000b01 == 0.11.1 */ -#if SPICE_SERVER_VERSION >= 0x000b01 && \ - defined(CONFIG_QXL_IO_MONITORS_CONFIG_ASYNC) case 4: /* qxl-4 */ pci_device_rev = QXL_REVISION_STABLE_V12; io_size = msb_mask(QXL_IO_RANGE_SIZE * 2 - 1); break; -#endif default: error_report("Invalid revision %d for qxl device (max %d)", qxl->revision, QXL_DEFAULT_REVISION); diff --git a/ui/spice-core.c b/ui/spice-core.c index ba0d0bd..5147365 100644 --- a/ui/spice-core.c +++ b/ui/spice-core.c @@ -223,7 +223,6 @@ static void channel_event(int event, SpiceChannelEventInfo *info) client = qdict_new(); server = qdict_new(); -#ifdef SPICE_CHANNEL_EVENT_FLAG_ADDR_EXT if (info->flags & SPICE_CHANNEL_EVENT_FLAG_ADDR_EXT) { add_addr_info(client, (struct sockaddr *)&info->paddr_ext, info->plen_ext); @@ -232,12 +231,7 @@ static void channel_event(int event, SpiceChannelEventInfo *info) } else { error_report("spice: %s, extended address is expected", __func__); -#endif - add_addr_info(client, &info->paddr, info->plen); - add_addr_info(server, &info->laddr, info->llen); -#ifdef SPICE_CHANNEL_EVENT_FLAG_ADDR_EXT } -#endif if (event == SPICE_CHANNEL_EVENT_INITIALIZED) { qdict_put(server, "auth", qstring_from_str(auth)); @@ -276,7 +270,6 @@ static SpiceCoreInterface core_interface = { .channel_event = channel_event, }; -#ifdef SPICE_INTERFACE_MIGRATION typedef struct SpiceMigration { SpiceMigrateInstance sin; struct { @@ -313,7 +306,6 @@ static void migrate_end_complete_cb(SpiceMigrateInstance *sin) monitor_protocol_event(QEVENT_SPICE_MIGRATE_COMPLETED, NULL); spice_migration_completed = true; } -#endif /* config string parsing */ @@ -393,17 +385,13 @@ static SpiceChannelList *qmp_query_spice_channels(void) chan = g_malloc0(sizeof(*chan)); chan->value = g_malloc0(sizeof(*chan->value)); -#ifdef SPICE_CHANNEL_EVENT_FLAG_ADDR_EXT if (item->info->flags & SPICE_CHANNEL_EVENT_FLAG_ADDR_EXT) { paddr = (struct sockaddr *)&item->info->paddr_ext; plen = item->info->plen_ext; } else { -#endif paddr = &item->info->paddr; plen = item->info->plen; -#ifdef SPICE_CHANNEL_EVENT_FLAG_ADDR_EXT } -#endif getnameinfo(paddr, plen, host, sizeof(host), port, sizeof(port), @@ -473,13 +461,10 @@ SpiceInfo *qmp_query_spice(Error **errp) info->tls_port = tls_port; } -#if SPICE_SERVER_VERSION >= 0x000a03 /* 0.10.3 */ info->mouse_mode = spice_server_is_server_mouse(spice_server) ? SPICE_QUERY_MOUSE_MODE_SERVER : SPICE_QUERY_MOUSE_MODE_CLIENT; -#else - info->mouse_mode = SPICE_QUERY_MOUSE_MODE_UNKNOWN; -#endif + /* for compatibility with the original command */ info->has_channels = true; info->channels = qmp_query_spice_channels(); @@ -492,19 +477,11 @@ static void migration_state_notifier(Notifier *notifier, void *data) MigrationState *s = data; if (migration_is_active(s)) { -#ifdef SPICE_INTERFACE_MIGRATION spice_server_migrate_start(spice_server); -#endif } else if (migration_has_finished(s)) { -#ifndef SPICE_INTERFACE_MIGRATION - spice_server_migrate_switch(spice_server); - monitor_protocol_event(QEVENT_SPICE_MIGRATE_COMPLETED, NULL); - spice_migration_completed = true; -#else spice_server_migrate_end(spice_server, true); } else if (migration_has_failed(s)) { spice_server_migrate_end(spice_server, false); -#endif } } @@ -513,16 +490,11 @@ int qemu_spice_migrate_info(const char *hostname, int port, int tls_port, MonitorCompletion *cb, void *opaque) { int ret; -#ifdef SPICE_INTERFACE_MIGRATION + spice_migrate.connect_complete.cb = cb; spice_migrate.connect_complete.opaque = opaque; ret = spice_server_migrate_connect(spice_server, hostname, port, tls_port, subject); -#else - ret = spice_server_migrate_info(spice_server, hostname, - port, tls_port, subject); - cb(opaque, NULL); -#endif return ret; } @@ -561,7 +533,6 @@ static int add_channel(const char *name, const char *value, void *opaque) static void vm_change_state_handler(void *opaque, int running, RunState state) { -#if SPICE_SERVER_VERSION >= 0x000b02 /* 0.11.2 */ if (running) { qemu_spice_display_start(); spice_server_vm_start(spice_server); @@ -569,7 +540,6 @@ static void vm_change_state_handler(void *opaque, int running, spice_server_vm_stop(spice_server); qemu_spice_display_stop(); } -#endif } void qemu_spice_init(void) @@ -585,9 +555,7 @@ void qemu_spice_init(void) int port, tls_port, len, addr_flags; spice_image_compression_t compression; spice_wan_compression_t wan_compr; -#if SPICE_SERVER_VERSION >= 0x000b02 /* 0.11.2 */ bool seamless_migration; -#endif qemu_thread_get_self(&me); @@ -672,16 +640,11 @@ void qemu_spice_init(void) spice_server_set_ticket(spice_server, password, 0, 0, 0); } if (qemu_opt_get_bool(opts, "sasl", 0)) { -#if SPICE_SERVER_VERSION >= 0x000900 /* 0.9.0 */ if (spice_server_set_sasl_appname(spice_server, "qemu") == -1 || spice_server_set_sasl(spice_server, 1) == -1) { error_report("spice: failed to enable sasl"); exit(1); } -#else - error_report("spice: sasl is not available (spice >= 0.9 required)"); - exit(1); -#endif } if (qemu_opt_get_bool(opts, "disable-ticketing", 0)) { auth = "none"; @@ -726,15 +689,11 @@ void qemu_spice_init(void) qemu_opt_foreach(opts, add_channel, &tls_port, 0); -#if SPICE_SERVER_VERSION >= 0x000a02 /* 0.10.2 */ spice_server_set_name(spice_server, qemu_name); spice_server_set_uuid(spice_server, qemu_uuid); -#endif -#if SPICE_SERVER_VERSION >= 0x000b02 /* 0.11.2 */ seamless_migration = qemu_opt_get_bool(opts, "seamless-migration", 0); spice_server_set_seamless_migration(spice_server, seamless_migration); -#endif if (0 != spice_server_init(spice_server, &core_interface)) { error_report("failed to initialize spice server"); exit(1); @@ -743,11 +702,9 @@ void qemu_spice_init(void) migration_state.notify = migration_state_notifier; add_migration_state_change_notifier(&migration_state); -#ifdef SPICE_INTERFACE_MIGRATION spice_migrate.sin.base.sif = &migrate_interface.base; spice_migrate.connect_complete.cb = NULL; qemu_spice_add_interface(&spice_migrate.sin.base); -#endif qemu_spice_input_init(); qemu_spice_audio_init(); @@ -815,15 +772,11 @@ int qemu_spice_set_pw_expire(time_t expires) int qemu_spice_display_add_client(int csock, int skipauth, int tls) { -#if SPICE_SERVER_VERSION >= 0x000a01 if (tls) { return spice_server_add_ssl_client(spice_server, csock, skipauth); } else { return spice_server_add_client(spice_server, csock, skipauth); } -#else - return -1; -#endif } static void spice_register_config(void) diff --git a/ui/spice-display.c b/ui/spice-display.c index 50fbefb..b61764f 100644 --- a/ui/spice-display.c +++ b/ui/spice-display.c @@ -126,21 +126,6 @@ void qemu_spice_wakeup(SimpleSpiceDisplay *ssd) ssd->worker->wakeup(ssd->worker); } -#if SPICE_SERVER_VERSION < 0x000b02 /* before 0.11.2 */ -static void qemu_spice_start(SimpleSpiceDisplay *ssd) -{ - trace_qemu_spice_start(ssd->qxl.id); - ssd->worker->start(ssd->worker); -} - -static void qemu_spice_stop(SimpleSpiceDisplay *ssd) -{ - trace_qemu_spice_stop(ssd->qxl.id); - ssd->worker->stop(ssd->worker); -} - -#else - static int spice_display_is_running; void qemu_spice_display_start(void) @@ -153,15 +138,9 @@ void qemu_spice_display_stop(void) spice_display_is_running = false; } -#endif - int qemu_spice_display_is_running(SimpleSpiceDisplay *ssd) { -#if SPICE_SERVER_VERSION < 0x000b02 /* before 0.11.2 */ - return ssd->running; -#else return spice_display_is_running; -#endif } static void qemu_spice_create_one_update(SimpleSpiceDisplay *ssd, @@ -364,22 +343,6 @@ void qemu_spice_destroy_host_primary(SimpleSpiceDisplay *ssd) qemu_spice_destroy_primary_surface(ssd, 0, QXL_SYNC); } -void qemu_spice_vm_change_state_handler(void *opaque, int running, - RunState state) -{ -#if SPICE_SERVER_VERSION < 0x000b02 /* before 0.11.2 */ - SimpleSpiceDisplay *ssd = opaque; - - if (running) { - ssd->running = true; - qemu_spice_start(ssd); - } else { - qemu_spice_stop(ssd); - ssd->running = false; - } -#endif -} - void qemu_spice_display_init_common(SimpleSpiceDisplay *ssd, DisplayState *ds) { ssd->ds = ds; @@ -623,7 +586,6 @@ void qemu_spice_display_init(DisplayState *ds) qemu_spice_add_interface(&sdpy.qxl.base); assert(sdpy.worker); - qemu_add_vm_change_state_handler(qemu_spice_vm_change_state_handler, &sdpy); qemu_spice_create_host_memslot(&sdpy); qemu_spice_create_host_primary(&sdpy); } diff --git a/ui/spice-display.h b/ui/spice-display.h index dea41c1..d766927 100644 --- a/ui/spice-display.h +++ b/ui/spice-display.h @@ -83,9 +83,6 @@ struct SimpleSpiceDisplay { QXLRect dirty; int notify; -#if SPICE_SERVER_VERSION < 0x000b02 /* before 0.11.2 */ - int running; -#endif /* * All struct members below this comment can be accessed from @@ -133,8 +130,6 @@ void qemu_spice_create_primary_surface(SimpleSpiceDisplay *ssd, uint32_t id, void qemu_spice_destroy_primary_surface(SimpleSpiceDisplay *ssd, uint32_t id, qxl_async_io async); void qemu_spice_wakeup(SimpleSpiceDisplay *ssd); -#if SPICE_SERVER_VERSION >= 0x000b02 /* before 0.11.2 */ void qemu_spice_display_start(void); void qemu_spice_display_stop(void); -#endif int qemu_spice_display_is_running(SimpleSpiceDisplay *ssd); -- 1.7.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Qemu-devel] [PATCH 8/8] qxl: set default revision to 4 2012-10-08 10:49 [Qemu-devel] [PULL 0/8] spice patch queue Gerd Hoffmann ` (6 preceding siblings ...) 2012-10-08 10:49 ` [Qemu-devel] [PATCH 7/8] spice: raise requirement to 0.12 Gerd Hoffmann @ 2012-10-08 10:49 ` Gerd Hoffmann 2012-10-12 16:18 ` [Qemu-devel] [PULL 0/8] spice patch queue Anthony Liguori 8 siblings, 0 replies; 15+ messages in thread From: Gerd Hoffmann @ 2012-10-08 10:49 UTC (permalink / raw) To: qemu-devel; +Cc: Gerd Hoffmann Set qxl pci revision to 4 (for pc-1.3+) so guests know spice-server 0.12 features are available. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- hw/pc_piix.c | 8 ++++++++ hw/qxl.h | 5 ----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/hw/pc_piix.c b/hw/pc_piix.c index fd5898f..82364ab 100644 --- a/hw/pc_piix.c +++ b/hw/pc_piix.c @@ -371,6 +371,14 @@ static QEMUMachine pc_machine_v1_3 = { .driver = "ivshmem",\ .property = "use64",\ .value = "0",\ + },{\ + .driver = "qxl",\ + .property = "revision",\ + .value = stringify(3),\ + },{\ + .driver = "qxl-vga",\ + .property = "revision",\ + .value = stringify(3),\ } static QEMUMachine pc_machine_v1_2 = { diff --git a/hw/qxl.h b/hw/qxl.h index 5553824..e583cfb 100644 --- a/hw/qxl.h +++ b/hw/qxl.h @@ -129,12 +129,7 @@ typedef struct PCIQXLDevice { } \ } while (0) -#if 0 -/* spice-server 0.12 is still in development */ #define QXL_DEFAULT_REVISION QXL_REVISION_STABLE_V12 -#else -#define QXL_DEFAULT_REVISION QXL_REVISION_STABLE_V10 -#endif /* qxl.c */ void *qxl_phys2virt(PCIQXLDevice *qxl, QXLPHYSICAL phys, int group_id); -- 1.7.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PULL 0/8] spice patch queue 2012-10-08 10:49 [Qemu-devel] [PULL 0/8] spice patch queue Gerd Hoffmann ` (7 preceding siblings ...) 2012-10-08 10:49 ` [Qemu-devel] [PATCH 8/8] qxl: set default revision to 4 Gerd Hoffmann @ 2012-10-12 16:18 ` Anthony Liguori 8 siblings, 0 replies; 15+ messages in thread From: Anthony Liguori @ 2012-10-12 16:18 UTC (permalink / raw) To: Gerd Hoffmann, qemu-devel Gerd Hoffmann <kraxel@redhat.com> writes: > Hi, > > Here comes the spice patch queue. It raises the minimal required > spice-server version to 0.12 and the qxl device revision to 4. > It also brings a collection of bugfixes. > > please pull, > Gerd > Pulled. Thanks. Regards, Anthony Liguori > The following changes since commit 4bb26682f70a5f626cad3e0ac82bf4b6252ea7a4: > > Merge branch 'master' of git.qemu.org:/pub/git/qemu (2012-10-07 18:42:18 +0000) > > are available in the git repository at: > > git://anongit.freedesktop.org/spice/qemu spice.v61 > > Alon Levy (3): > hw/qxl: exit on failure to register qxl interface > hw/qxl: fix condition for exiting guest_bug > hw/qxl: qxl_dirty_surfaces: use uintptr_t > > Gerd Hoffmann (4): > qxl: always update displaysurface on resize > qxl: fix range check for rev3 io commands. > spice: raise requirement to 0.12 > qxl: set default revision to 4 > > Michael Tokarev (1): > qxl/update_area_io: cleanup invalid parameters handling > > configure | 18 +-------------- > hw/pc_piix.c | 8 +++++++ > hw/qxl-render.c | 4 --- > hw/qxl.c | 57 +++++++++++----------------------------------------- > hw/qxl.h | 5 ---- > ui/spice-core.c | 51 +-------------------------------------------- > ui/spice-display.c | 38 ---------------------------------- > ui/spice-display.h | 5 ---- > 8 files changed, 24 insertions(+), 162 deletions(-) ^ permalink raw reply [flat|nested] 15+ messages in thread
* [Qemu-devel] [PULL 0/8] spice patch queue @ 2012-12-17 13:04 Gerd Hoffmann 2012-12-18 23:49 ` Anthony Liguori 0 siblings, 1 reply; 15+ messages in thread From: Gerd Hoffmann @ 2012-12-17 13:04 UTC (permalink / raw) To: qemu-devel; +Cc: Gerd Hoffmann Hi, This is the spice patch queue, bringing two bugfixes and chardev redirection over spice. please pull, Gerd The following changes since commit a8a826a3c3b8c8a1c4def0e9e22b46e78e6163a0: exec: refactor cpu_restore_state (2012-12-16 08:35:24 +0000) are available in the git repository at: git://anongit.freedesktop.org/spice/qemu spice.v66 Gerd Hoffmann (1): qxl: save qemu_create_displaysurface_from result Marc-André Lureau (6): spice-qemu-char: write to chardev whatever amount it can read spice-qemu-char: factor out CharDriverState creation spice-qemu-char: add spiceport chardev spice-qemu-char: keep a list of spice chardev spice-qemu-char: register spicevmc ports during qemu_spice_init() docs: add spice-port-fqdn.txt Uri Lublin (1): qxl+vnc: register a vm state change handler for dummy spice_server docs/spice-port-fqdn.txt | 19 ++++++++ hw/qxl-render.c | 11 +++-- qemu-char.c | 3 + qemu-options.hx | 13 ++++++ spice-qemu-char.c | 107 ++++++++++++++++++++++++++++++++++++++-------- trace-events | 1 + ui/qemu-spice.h | 4 ++ ui/spice-core.c | 6 +++ 8 files changed, 141 insertions(+), 23 deletions(-) create mode 100644 docs/spice-port-fqdn.txt ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PULL 0/8] spice patch queue 2012-12-17 13:04 Gerd Hoffmann @ 2012-12-18 23:49 ` Anthony Liguori 0 siblings, 0 replies; 15+ messages in thread From: Anthony Liguori @ 2012-12-18 23:49 UTC (permalink / raw) To: Gerd Hoffmann, qemu-devel Gerd Hoffmann <kraxel@redhat.com> writes: > Hi, > > This is the spice patch queue, bringing two bugfixes > and chardev redirection over spice. Pulled. Thanks. Regards, Anthony Liguori > > please pull, > Gerd > > The following changes since commit a8a826a3c3b8c8a1c4def0e9e22b46e78e6163a0: > > exec: refactor cpu_restore_state (2012-12-16 08:35:24 +0000) > > are available in the git repository at: > git://anongit.freedesktop.org/spice/qemu spice.v66 > > Gerd Hoffmann (1): > qxl: save qemu_create_displaysurface_from result > > Marc-André Lureau (6): > spice-qemu-char: write to chardev whatever amount it can read > spice-qemu-char: factor out CharDriverState creation > spice-qemu-char: add spiceport chardev > spice-qemu-char: keep a list of spice chardev > spice-qemu-char: register spicevmc ports during qemu_spice_init() > docs: add spice-port-fqdn.txt > > Uri Lublin (1): > qxl+vnc: register a vm state change handler for dummy spice_server > > docs/spice-port-fqdn.txt | 19 ++++++++ > hw/qxl-render.c | 11 +++-- > qemu-char.c | 3 + > qemu-options.hx | 13 ++++++ > spice-qemu-char.c | 107 ++++++++++++++++++++++++++++++++++++++-------- > trace-events | 1 + > ui/qemu-spice.h | 4 ++ > ui/spice-core.c | 6 +++ > 8 files changed, 141 insertions(+), 23 deletions(-) > create mode 100644 docs/spice-port-fqdn.txt ^ permalink raw reply [flat|nested] 15+ messages in thread
* [Qemu-devel] [PULL 0/8] spice patch queue @ 2011-01-27 10:12 Gerd Hoffmann 2011-02-01 21:24 ` Anthony Liguori 0 siblings, 1 reply; 15+ messages in thread From: Gerd Hoffmann @ 2011-01-27 10:12 UTC (permalink / raw) To: qemu-devel; +Cc: Gerd Hoffmann Hi, This is the updated spice patch queue. Changes: * rebased against latest master, solved conflicts (trace-events). * added one more locking bugfix, found by Alon. please pull, Gerd The following changes since commit 0fad6efce5d3f18278b7239dece3c251b3e7c04d: target-arm: Fix loading of scalar value for Neon multiply-by-scalar (2011-01-26 14:30:24 +0100) are available in the git repository at: git://anongit.freedesktop.org/spice/qemu spice.v30.pull Alon Levy (1): spice: add chardev (v5) Gerd Hoffmann (5): add migration state change notifiers spice/vnc: client migration. spice: MAINTAINERS update spice/qxl: zap spice 0.4 migration compatibility bits qxl: locking fixes Jiri Denemark (1): configure: Fix spice probe Marc-André Lureau (1): vnc/spice: fix "never" and "now" expire_time MAINTAINERS | 8 ++ Makefile.objs | 2 +- configure | 6 +- hmp-commands.hx | 17 +++++ hw/qxl.c | 83 ++++------------------- hw/qxl.h | 4 - migration.c | 28 ++++++++ migration.h | 5 ++ monitor.c | 31 ++++++++- qemu-char.c | 4 + qemu-config.c | 6 ++ qemu-options.hx | 16 ++++- qmp-commands.hx | 35 ++++++++++ spice-qemu-char.c | 190 +++++++++++++++++++++++++++++++++++++++++++++++++++++ trace-events | 7 ++ ui/qemu-spice.h | 7 ++ ui/spice-core.c | 25 +++++++ 17 files changed, 394 insertions(+), 80 deletions(-) create mode 100644 spice-qemu-char.c ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PULL 0/8] spice patch queue 2011-01-27 10:12 Gerd Hoffmann @ 2011-02-01 21:24 ` Anthony Liguori 0 siblings, 0 replies; 15+ messages in thread From: Anthony Liguori @ 2011-02-01 21:24 UTC (permalink / raw) To: Gerd Hoffmann; +Cc: qemu-devel On 01/27/2011 04:12 AM, Gerd Hoffmann wrote: > Hi, > > This is the updated spice patch queue. Changes: > > * rebased against latest master, solved conflicts (trace-events). > * added one more locking bugfix, found by Alon. > > please pull, > Gerd > > The following changes since commit 0fad6efce5d3f18278b7239dece3c251b3e7c04d: > > target-arm: Fix loading of scalar value for Neon multiply-by-scalar (2011-01-26 14:30:24 +0100) > > are available in the git repository at: > git://anongit.freedesktop.org/spice/qemu spice.v30.pull > > Alon Levy (1): > spice: add chardev (v5) > Pulled. Thanks. Although I expect that we'll continue working together in the future to come up with a common guest agent infrastructure. Regards, Anthony Liguori > Gerd Hoffmann (5): > add migration state change notifiers > spice/vnc: client migration. > spice: MAINTAINERS update > spice/qxl: zap spice 0.4 migration compatibility bits > qxl: locking fixes > > Jiri Denemark (1): > configure: Fix spice probe > > Marc-André Lureau (1): > vnc/spice: fix "never" and "now" expire_time > > MAINTAINERS | 8 ++ > Makefile.objs | 2 +- > configure | 6 +- > hmp-commands.hx | 17 +++++ > hw/qxl.c | 83 ++++------------------- > hw/qxl.h | 4 - > migration.c | 28 ++++++++ > migration.h | 5 ++ > monitor.c | 31 ++++++++- > qemu-char.c | 4 + > qemu-config.c | 6 ++ > qemu-options.hx | 16 ++++- > qmp-commands.hx | 35 ++++++++++ > spice-qemu-char.c | 190 +++++++++++++++++++++++++++++++++++++++++++++++++++++ > trace-events | 7 ++ > ui/qemu-spice.h | 7 ++ > ui/spice-core.c | 25 +++++++ > 17 files changed, 394 insertions(+), 80 deletions(-) > create mode 100644 spice-qemu-char.c > > > ^ permalink raw reply [flat|nested] 15+ messages in thread
* [Qemu-devel] [PULL 0/8] spice patch queue @ 2011-01-24 16:20 Gerd Hoffmann 0 siblings, 0 replies; 15+ messages in thread From: Gerd Hoffmann @ 2011-01-24 16:20 UTC (permalink / raw) To: qemu-devel; +Cc: Gerd Hoffmann Hi, This is the updated spice patch queue. Changes: * rebased against latest master. * replaced Alon's chardev patch with v5 which addresses blue swirl's review comments. * added one locking bugfix. * fix bug added recently by configure cleanup. please pull, Gerd Alon Levy (1): spice: add chardev (v5) Gerd Hoffmann (5): add migration state change notifiers spice/vnc: client migration. spice: MAINTAINERS update spice/qxl: zap spice 0.4 migration compatibility bits qxl: locking fix Jiri Denemark (1): configure: Fix spice probe Marc-André Lureau (1): vnc/spice: fix "never" and "now" expire_time MAINTAINERS | 8 ++ Makefile.objs | 2 +- configure | 6 +- hmp-commands.hx | 17 +++++ hw/qxl.c | 81 ++++------------------- hw/qxl.h | 4 - migration.c | 28 ++++++++ migration.h | 5 ++ monitor.c | 31 ++++++++- qemu-char.c | 4 + qemu-config.c | 6 ++ qemu-options.hx | 16 ++++- qmp-commands.hx | 35 ++++++++++ spice-qemu-char.c | 190 +++++++++++++++++++++++++++++++++++++++++++++++++++++ trace-events | 6 ++ ui/qemu-spice.h | 7 ++ ui/spice-core.c | 25 +++++++ 17 files changed, 391 insertions(+), 80 deletions(-) create mode 100644 spice-qemu-char.c The following changes since commit 0bfe006c5380c5f8a485a55ded3329fbbc224396: multiboot: Fix upper memory size in multiboot info (2011-01-23 22:44:13 +0100) are available in the git repository at: git://anongit.freedesktop.org/spice/qemu spice.v29.pull Alon Levy (1): spice: add chardev (v5) Gerd Hoffmann (5): add migration state change notifiers spice/vnc: client migration. spice: MAINTAINERS update spice/qxl: zap spice 0.4 migration compatibility bits qxl: locking fix Jiri Denemark (1): configure: Fix spice probe Marc-André Lureau (1): vnc/spice: fix "never" and "now" expire_time MAINTAINERS | 8 ++ Makefile.objs | 2 +- configure | 6 +- hmp-commands.hx | 17 +++++ hw/qxl.c | 81 ++++------------------- hw/qxl.h | 4 - migration.c | 28 ++++++++ migration.h | 5 ++ monitor.c | 31 ++++++++- qemu-char.c | 4 + qemu-config.c | 6 ++ qemu-options.hx | 16 ++++- qmp-commands.hx | 35 ++++++++++ spice-qemu-char.c | 190 +++++++++++++++++++++++++++++++++++++++++++++++++++++ trace-events | 6 ++ ui/qemu-spice.h | 7 ++ ui/spice-core.c | 25 +++++++ 17 files changed, 391 insertions(+), 80 deletions(-) create mode 100644 spice-qemu-char.c ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2012-12-18 23:49 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-10-08 10:49 [Qemu-devel] [PULL 0/8] spice patch queue Gerd Hoffmann 2012-10-08 10:49 ` [Qemu-devel] [PATCH 1/8] qxl: always update displaysurface on resize Gerd Hoffmann 2012-10-08 10:49 ` [Qemu-devel] [PATCH 2/8] qxl/update_area_io: cleanup invalid parameters handling Gerd Hoffmann 2012-10-08 10:49 ` [Qemu-devel] [PATCH 3/8] qxl: fix range check for rev3 io commands Gerd Hoffmann 2012-10-08 10:49 ` [Qemu-devel] [PATCH 4/8] hw/qxl: exit on failure to register qxl interface Gerd Hoffmann 2012-10-08 10:49 ` [Qemu-devel] [PATCH 5/8] hw/qxl: fix condition for exiting guest_bug Gerd Hoffmann 2012-10-08 10:49 ` [Qemu-devel] [PATCH 6/8] hw/qxl: qxl_dirty_surfaces: use uintptr_t Gerd Hoffmann 2012-10-08 10:49 ` [Qemu-devel] [PATCH 7/8] spice: raise requirement to 0.12 Gerd Hoffmann 2012-10-08 10:49 ` [Qemu-devel] [PATCH 8/8] qxl: set default revision to 4 Gerd Hoffmann 2012-10-12 16:18 ` [Qemu-devel] [PULL 0/8] spice patch queue Anthony Liguori -- strict thread matches above, loose matches on Subject: below -- 2012-12-17 13:04 Gerd Hoffmann 2012-12-18 23:49 ` Anthony Liguori 2011-01-27 10:12 Gerd Hoffmann 2011-02-01 21:24 ` Anthony Liguori 2011-01-24 16:20 Gerd Hoffmann
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).