peterdelevoryas / rpms / qemu

Forked from rpms/qemu 2 years ago
Clone

Blame 0415-qxl-require-spice-0.8.2.patch

56753f
From e07eeb01819b40b839cc12b2eb658f48f13a5ff0 Mon Sep 17 00:00:00 2001
56753f
From: Alon Levy <alevy@redhat.com>
56753f
Date: Fri, 24 Feb 2012 23:19:28 +0200
56753f
Subject: [PATCH 415/434] qxl: require spice >= 0.8.2
56753f
56753f
drop all ifdefs on SPICE_INTERFACE_QXL_MINOR >= 1 as a result,
56753f
any check for SPICE_SERVER_VERSION that is now always satisfied,
56753f
and SPICE_INTERFACE_CORE_MINOR >= 3 tests, because
56753f
0.8.2 has SPICE_INTERFACE_QXL_MINOR == 1 and
56753f
SPICE_INTERFACE_CORE_MINOR == 3.
56753f
56753f
Signed-off-by: Alon Levy <alevy@redhat.com>
56753f
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
56753f
---
56753f
 configure          |    2 +-
56753f
 hw/qxl.c           |   40 ----------------------------------------
56753f
 hw/qxl.h           |    4 ----
56753f
 ui/spice-core.c    |   17 -----------------
56753f
 ui/spice-display.c |   12 ------------
56753f
 5 files changed, 1 insertion(+), 74 deletions(-)
56753f
56753f
diff --git a/configure b/configure
56753f
index a4848a4..b03172c 100755
56753f
--- a/configure
56753f
+++ b/configure
56753f
@@ -2501,7 +2501,7 @@ int main(void) { spice_server_new(); return 0; }
56753f
 EOF
56753f
   spice_cflags=$($pkg_config --cflags spice-protocol spice-server 2>/dev/null)
56753f
   spice_libs=$($pkg_config --libs spice-protocol spice-server 2>/dev/null)
56753f
-  if $pkg_config --atleast-version=0.6.0 spice-server >/dev/null 2>&1 && \
56753f
+  if $pkg_config --atleast-version=0.8.2 spice-server >/dev/null 2>&1 && \
56753f
      compile_prog "$spice_cflags" "$spice_libs" ; then
56753f
     spice="yes"
56753f
     libs_softmmu="$libs_softmmu $spice_libs"
56753f
diff --git a/hw/qxl.c b/hw/qxl.c
56753f
index 17f2576..0be9859 100644
56753f
--- a/hw/qxl.c
56753f
+++ b/hw/qxl.c
56753f
@@ -125,9 +125,7 @@ static void qxl_ring_set_dirty(PCIQXLDevice *qxl);
56753f
 
56753f
 void qxl_guest_bug(PCIQXLDevice *qxl, const char *msg, ...)
56753f
 {
56753f
-#if SPICE_INTERFACE_QXL_MINOR >= 1
56753f
     qxl_send_events(qxl, QXL_INTERRUPT_ERROR);
56753f
-#endif
56753f
     if (qxl->guestdebug) {
56753f
         va_list ap;
56753f
         va_start(ap, msg);
56753f
@@ -149,12 +147,8 @@ void qxl_spice_update_area(PCIQXLDevice *qxl, uint32_t surface_id,
56753f
         qxl->ssd.worker->update_area(qxl->ssd.worker, surface_id, area,
56753f
                         dirty_rects, num_dirty_rects, clear_dirty_region);
56753f
     } else {
56753f
-#if SPICE_INTERFACE_QXL_MINOR >= 1
56753f
         spice_qxl_update_area_async(&qxl->ssd.qxl, surface_id, area,
56753f
                                     clear_dirty_region, 0);
56753f
-#else
56753f
-        abort();
56753f
-#endif
56753f
     }
56753f
 }
56753f
 
56753f
@@ -171,24 +165,18 @@ static void qxl_spice_destroy_surface_wait(PCIQXLDevice *qxl, uint32_t id,
56753f
                                            qxl_async_io async)
56753f
 {
56753f
     if (async) {
56753f
-#if SPICE_INTERFACE_QXL_MINOR < 1
56753f
-        abort();
56753f
-#else
56753f
         spice_qxl_destroy_surface_async(&qxl->ssd.qxl, id,
56753f
                                         (uint64_t)id);
56753f
-#endif
56753f
     } else {
56753f
         qxl->ssd.worker->destroy_surface_wait(qxl->ssd.worker, id);
56753f
         qxl_spice_destroy_surface_wait_complete(qxl, id);
56753f
     }
56753f
 }
56753f
 
56753f
-#if SPICE_INTERFACE_QXL_MINOR >= 1
56753f
 static void qxl_spice_flush_surfaces_async(PCIQXLDevice *qxl)
56753f
 {
56753f
     spice_qxl_flush_surfaces_async(&qxl->ssd.qxl, 0);
56753f
 }
56753f
-#endif
56753f
 
56753f
 void qxl_spice_loadvm_commands(PCIQXLDevice *qxl, struct QXLCommandExt *ext,
56753f
                                uint32_t count)
56753f
@@ -217,11 +205,7 @@ static void qxl_spice_destroy_surfaces_complete(PCIQXLDevice *qxl)
56753f
 static void qxl_spice_destroy_surfaces(PCIQXLDevice *qxl, qxl_async_io async)
56753f
 {
56753f
     if (async) {
56753f
-#if SPICE_INTERFACE_QXL_MINOR < 1
56753f
-        abort();
56753f
-#else
56753f
         spice_qxl_destroy_surfaces_async(&qxl->ssd.qxl, 0);
56753f
-#endif
56753f
     } else {
56753f
         qxl->ssd.worker->destroy_surfaces(qxl->ssd.worker);
56753f
         qxl_spice_destroy_surfaces_complete(qxl);
56753f
@@ -493,7 +477,6 @@ static const char *io_port_to_string(uint32_t io_port)
56753f
         [QXL_IO_DESTROY_PRIMARY]        = "QXL_IO_DESTROY_PRIMARY",
56753f
         [QXL_IO_DESTROY_SURFACE_WAIT]   = "QXL_IO_DESTROY_SURFACE_WAIT",
56753f
         [QXL_IO_DESTROY_ALL_SURFACES]   = "QXL_IO_DESTROY_ALL_SURFACES",
56753f
-#if SPICE_INTERFACE_QXL_MINOR >= 1
56753f
         [QXL_IO_UPDATE_AREA_ASYNC]      = "QXL_IO_UPDATE_AREA_ASYNC",
56753f
         [QXL_IO_MEMSLOT_ADD_ASYNC]      = "QXL_IO_MEMSLOT_ADD_ASYNC",
56753f
         [QXL_IO_CREATE_PRIMARY_ASYNC]   = "QXL_IO_CREATE_PRIMARY_ASYNC",
56753f
@@ -503,7 +486,6 @@ static const char *io_port_to_string(uint32_t io_port)
56753f
                                         = "QXL_IO_DESTROY_ALL_SURFACES_ASYNC",
56753f
         [QXL_IO_FLUSH_SURFACES_ASYNC]   = "QXL_IO_FLUSH_SURFACES_ASYNC",
56753f
         [QXL_IO_FLUSH_RELEASE]          = "QXL_IO_FLUSH_RELEASE",
56753f
-#endif
56753f
     };
56753f
     return io_port_to_string[io_port];
56753f
 }
56753f
@@ -738,8 +720,6 @@ static int interface_flush_resources(QXLInstance *sin)
56753f
 
56753f
 static void qxl_create_guest_primary_complete(PCIQXLDevice *d);
56753f
 
56753f
-#if SPICE_INTERFACE_QXL_MINOR >= 1
56753f
-
56753f
 /* called from spice server thread context only */
56753f
 static void interface_async_complete(QXLInstance *sin, uint64_t cookie)
56753f
 {
56753f
@@ -767,8 +747,6 @@ static void interface_async_complete(QXLInstance *sin, uint64_t cookie)
56753f
     qxl_send_events(qxl, QXL_INTERRUPT_IO_CMD);
56753f
 }
56753f
 
56753f
-#endif
56753f
-
56753f
 static const QXLInterface qxl_interface = {
56753f
     .base.type               = SPICE_INTERFACE_QXL,
56753f
     .base.description        = "qxl gpu",
56753f
@@ -788,9 +766,7 @@ static const QXLInterface qxl_interface = {
56753f
     .req_cursor_notification = interface_req_cursor_notification,
56753f
     .notify_update           = interface_notify_update,
56753f
     .flush_resources         = interface_flush_resources,
56753f
-#if SPICE_INTERFACE_QXL_MINOR >= 1
56753f
     .async_complete          = interface_async_complete,
56753f
-#endif
56753f
 };
56753f
 
56753f
 static void qxl_enter_vga_mode(PCIQXLDevice *d)
56753f
@@ -1140,9 +1116,7 @@ static void ioport_write(void *opaque, target_phys_addr_t addr,
56753f
     PCIQXLDevice *d = opaque;
56753f
     uint32_t io_port = addr;
56753f
     qxl_async_io async = QXL_SYNC;
56753f
-#if SPICE_INTERFACE_QXL_MINOR >= 1
56753f
     uint32_t orig_io_port = io_port;
56753f
-#endif
56753f
 
56753f
     switch (io_port) {
56753f
     case QXL_IO_RESET:
56753f
@@ -1152,10 +1126,8 @@ static void ioport_write(void *opaque, target_phys_addr_t addr,
56753f
     case QXL_IO_CREATE_PRIMARY:
56753f
     case QXL_IO_UPDATE_IRQ:
56753f
     case QXL_IO_LOG:
56753f
-#if SPICE_INTERFACE_QXL_MINOR >= 1
56753f
     case QXL_IO_MEMSLOT_ADD_ASYNC:
56753f
     case QXL_IO_CREATE_PRIMARY_ASYNC:
56753f
-#endif
56753f
         break;
56753f
     default:
56753f
         if (d->mode != QXL_MODE_VGA) {
56753f
@@ -1163,17 +1135,14 @@ static void ioport_write(void *opaque, target_phys_addr_t addr,
56753f
         }
56753f
         dprint(d, 1, "%s: unexpected port 0x%x (%s) in vga mode\n",
56753f
             __func__, io_port, io_port_to_string(io_port));
56753f
-#if SPICE_INTERFACE_QXL_MINOR >= 1
56753f
         /* be nice to buggy guest drivers */
56753f
         if (io_port >= QXL_IO_UPDATE_AREA_ASYNC &&
56753f
             io_port <= QXL_IO_DESTROY_ALL_SURFACES_ASYNC) {
56753f
             qxl_send_events(d, QXL_INTERRUPT_IO_CMD);
56753f
         }
56753f
-#endif
56753f
         return;
56753f
     }
56753f
 
56753f
-#if SPICE_INTERFACE_QXL_MINOR >= 1
56753f
     /* we change the io_port to avoid ifdeffery in the main switch */
56753f
     orig_io_port = io_port;
56753f
     switch (io_port) {
56753f
@@ -1212,7 +1181,6 @@ async_common:
56753f
     default:
56753f
         break;
56753f
     }
56753f
-#endif
56753f
 
56753f
     switch (io_port) {
56753f
     case QXL_IO_UPDATE_AREA:
56753f
@@ -1304,7 +1272,6 @@ async_common:
56753f
         }
56753f
         qxl_spice_destroy_surface_wait(d, val, async);
56753f
         break;
56753f
-#if SPICE_INTERFACE_QXL_MINOR >= 1
56753f
     case QXL_IO_FLUSH_RELEASE: {
56753f
         QXLReleaseRing *ring = &d->ram->release_ring;
56753f
         if (ring->prod - ring->cons + 1 == ring->num_items) {
56753f
@@ -1325,7 +1292,6 @@ async_common:
56753f
                d->num_free_res);
56753f
         qxl_spice_flush_surfaces_async(d);
56753f
         break;
56753f
-#endif
56753f
     case QXL_IO_DESTROY_ALL_SURFACES:
56753f
         d->mode = QXL_MODE_UNDEFINED;
56753f
         qxl_spice_destroy_surfaces(d, async);
56753f
@@ -1336,16 +1302,12 @@ async_common:
56753f
     }
56753f
     return;
56753f
 cancel_async:
56753f
-#if SPICE_INTERFACE_QXL_MINOR >= 1
56753f
     if (async) {
56753f
         qxl_send_events(d, QXL_INTERRUPT_IO_CMD);
56753f
         qemu_mutex_lock(&d->async_lock);
56753f
         d->current_async = QXL_UNDEFINED_IO;
56753f
         qemu_mutex_unlock(&d->async_lock);
56753f
     }
56753f
-#else
56753f
-    return;
56753f
-#endif
56753f
 }
56753f
 
56753f
 static uint64_t ioport_read(void *opaque, target_phys_addr_t addr,
56753f
@@ -1607,9 +1569,7 @@ static int qxl_init_common(PCIQXLDevice *qxl)
56753f
     case 2: /* spice 0.6 -- qxl-2 */
56753f
         pci_device_rev = QXL_REVISION_STABLE_V06;
56753f
         break;
56753f
-#if SPICE_INTERFACE_QXL_MINOR >= 1
56753f
     case 3: /* qxl-3 */
56753f
-#endif
56753f
     default:
56753f
         pci_device_rev = QXL_DEFAULT_REVISION;
56753f
         break;
56753f
diff --git a/hw/qxl.h b/hw/qxl.h
56753f
index a615eca..9288e46 100644
56753f
--- a/hw/qxl.h
56753f
+++ b/hw/qxl.h
56753f
@@ -108,11 +108,7 @@ typedef struct PCIQXLDevice {
56753f
         }                                                               \
56753f
     } while (0)
56753f
 
56753f
-#if SPICE_INTERFACE_QXL_MINOR >= 1
56753f
 #define QXL_DEFAULT_REVISION QXL_REVISION_STABLE_V10
56753f
-#else
56753f
-#define QXL_DEFAULT_REVISION QXL_REVISION_STABLE_V06
56753f
-#endif
56753f
 
56753f
 /* qxl.c */
56753f
 void *qxl_phys2virt(PCIQXLDevice *qxl, QXLPHYSICAL phys, int group_id);
56753f
diff --git a/ui/spice-core.c b/ui/spice-core.c
56753f
index 27216e9..2c815f1 100644
56753f
--- a/ui/spice-core.c
56753f
+++ b/ui/spice-core.c
56753f
@@ -139,8 +139,6 @@ static void watch_remove(SpiceWatch *watch)
56753f
     g_free(watch);
56753f
 }
56753f
 
56753f
-#if SPICE_INTERFACE_CORE_MINOR >= 3
56753f
-
56753f
 typedef struct ChannelList ChannelList;
56753f
 struct ChannelList {
56753f
     SpiceChannelEventInfo *info;
56753f
@@ -257,15 +255,6 @@ static void channel_event(int event, SpiceChannelEventInfo *info)
56753f
     }
56753f
 }
56753f
 
56753f
-#else /* SPICE_INTERFACE_CORE_MINOR >= 3 */
56753f
-
56753f
-static QList *channel_list_get(void)
56753f
-{
56753f
-    return NULL;
56753f
-}
56753f
-
56753f
-#endif /* SPICE_INTERFACE_CORE_MINOR >= 3 */
56753f
-
56753f
 static SpiceCoreInterface core_interface = {
56753f
     .base.type          = SPICE_INTERFACE_CORE,
56753f
     .base.description   = "qemu core services",
56753f
@@ -281,9 +270,7 @@ static SpiceCoreInterface core_interface = {
56753f
     .watch_update_mask  = watch_update_mask,
56753f
     .watch_remove       = watch_remove,
56753f
 
56753f
-#if SPICE_INTERFACE_CORE_MINOR >= 3
56753f
     .channel_event      = channel_event,
56753f
-#endif
56753f
 };
56753f
 
56753f
 #ifdef SPICE_INTERFACE_MIGRATION
56753f
@@ -490,7 +477,6 @@ static void migration_state_notifier(Notifier *notifier, void *data)
56753f
         spice_server_migrate_start(spice_server);
56753f
 #endif
56753f
     } else if (migration_has_finished(s)) {
56753f
-#if SPICE_SERVER_VERSION >= 0x000701 /* 0.7.1 */
56753f
 #ifndef SPICE_INTERFACE_MIGRATION
56753f
         spice_server_migrate_switch(spice_server);
56753f
 #else
56753f
@@ -498,7 +484,6 @@ static void migration_state_notifier(Notifier *notifier, void *data)
56753f
     } else if (migration_has_failed(s)) {
56753f
         spice_server_migrate_end(spice_server, false);
56753f
 #endif
56753f
-#endif
56753f
     }
56753f
 }
56753f
 
56753f
@@ -659,11 +644,9 @@ void qemu_spice_init(void)
56753f
         spice_server_set_noauth(spice_server);
56753f
     }
56753f
 
56753f
-#if SPICE_SERVER_VERSION >= 0x000801
56753f
     if (qemu_opt_get_bool(opts, "disable-copy-paste", 0)) {
56753f
         spice_server_set_agent_copypaste(spice_server, false);
56753f
     }
56753f
-#endif
56753f
 
56753f
     compression = SPICE_IMAGE_COMPRESS_AUTO_GLZ;
56753f
     str = qemu_opt_get(opts, "image-compression");
56753f
diff --git a/ui/spice-display.c b/ui/spice-display.c
56753f
index c6e61d8..ad76bae 100644
56753f
--- a/ui/spice-display.c
56753f
+++ b/ui/spice-display.c
56753f
@@ -64,11 +64,7 @@ void qemu_spice_add_memslot(SimpleSpiceDisplay *ssd, QXLDevMemSlot *memslot,
56753f
                             qxl_async_io async)
56753f
 {
56753f
     if (async != QXL_SYNC) {
56753f
-#if SPICE_INTERFACE_QXL_MINOR >= 1
56753f
         spice_qxl_add_memslot_async(&ssd->qxl, memslot, 0);
56753f
-#else
56753f
-        abort();
56753f
-#endif
56753f
     } else {
56753f
         ssd->worker->add_memslot(ssd->worker, memslot);
56753f
     }
56753f
@@ -84,11 +80,7 @@ void qemu_spice_create_primary_surface(SimpleSpiceDisplay *ssd, uint32_t id,
56753f
                                        qxl_async_io async)
56753f
 {
56753f
     if (async != QXL_SYNC) {
56753f
-#if SPICE_INTERFACE_QXL_MINOR >= 1
56753f
         spice_qxl_create_primary_surface_async(&ssd->qxl, id, surface, 0);
56753f
-#else
56753f
-        abort();
56753f
-#endif
56753f
     } else {
56753f
         ssd->worker->create_primary_surface(ssd->worker, id, surface);
56753f
     }
56753f
@@ -99,11 +91,7 @@ void qemu_spice_destroy_primary_surface(SimpleSpiceDisplay *ssd,
56753f
                                         uint32_t id, qxl_async_io async)
56753f
 {
56753f
     if (async != QXL_SYNC) {
56753f
-#if SPICE_INTERFACE_QXL_MINOR >= 1
56753f
         spice_qxl_destroy_primary_surface_async(&ssd->qxl, id, 0);
56753f
-#else
56753f
-        abort();
56753f
-#endif
56753f
     } else {
56753f
         ssd->worker->destroy_primary_surface(ssd->worker, id);
56753f
     }
56753f
-- 
56753f
1.7.10
56753f