hw/display/qxl.h | 2 -- include/ui/qemu-spice.h | 11 ----------- chardev/spice.c | 12 ------------ hw/display/qxl.c | 27 --------------------------- ui/spice-core.c | 8 -------- ui/spice-display.c | 10 ---------- configure | 4 ++-- 7 files changed, 2 insertions(+), 72 deletions(-)
Looking at chardev/spice.c code, I realize compilation was broken for
a while with spice-server < 0.12.3. I propose to bump required version
to 0.12.6, released 3y ago, instead of adding more #ifdef.
(this patch combines changes from an early version and some of
Frediano "[PATCH 2/2] spice: Bump required spice-server version to
0.12.6")
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
hw/display/qxl.h | 2 --
include/ui/qemu-spice.h | 11 -----------
chardev/spice.c | 12 ------------
hw/display/qxl.c | 27 ---------------------------
ui/spice-core.c | 8 --------
ui/spice-display.c | 10 ----------
configure | 4 ++--
7 files changed, 2 insertions(+), 72 deletions(-)
diff --git a/hw/display/qxl.h b/hw/display/qxl.h
index 6f9d1f21fa..0cba6c1875 100644
--- a/hw/display/qxl.h
+++ b/hw/display/qxl.h
@@ -102,9 +102,7 @@ typedef struct PCIQXLDevice {
QXLModes *modes;
uint32_t rom_size;
MemoryRegion rom_bar;
-#if SPICE_SERVER_VERSION >= 0x000c06 /* release 0.12.6 */
uint16_t max_outputs;
-#endif
/* vram pci bar */
uint64_t vram_size;
diff --git a/include/ui/qemu-spice.h b/include/ui/qemu-spice.h
index c6d50eb87a..443220fe64 100644
--- a/include/ui/qemu-spice.h
+++ b/include/ui/qemu-spice.h
@@ -41,18 +41,7 @@ int qemu_spice_set_pw_expire(time_t expires);
int qemu_spice_migrate_info(const char *hostname, int port, int tls_port,
const char *subject);
-#if !defined(SPICE_SERVER_VERSION) || (SPICE_SERVER_VERSION < 0xc06)
-#define SPICE_NEEDS_SET_MM_TIME 1
-#else
-#define SPICE_NEEDS_SET_MM_TIME 0
-#endif
-
-#if SPICE_SERVER_VERSION >= 0x000c02
void qemu_spice_register_ports(void);
-#else
-static inline Chardev *qemu_chr_open_spice_port(const char *name)
-{ return NULL; }
-#endif
#else /* CONFIG_SPICE */
diff --git a/chardev/spice.c b/chardev/spice.c
index e66e3ad568..e0b44474f5 100644
--- a/chardev/spice.c
+++ b/chardev/spice.c
@@ -77,7 +77,6 @@ static int vmc_read(SpiceCharDeviceInstance *sin, uint8_t *buf, int len)
return bytes;
}
-#if SPICE_SERVER_VERSION >= 0x000c02
static void vmc_event(SpiceCharDeviceInstance *sin, uint8_t event)
{
SpiceChardev *scd = container_of(sin, SpiceChardev, sin);
@@ -95,7 +94,6 @@ static void vmc_event(SpiceCharDeviceInstance *sin, uint8_t event)
trace_spice_vmc_event(chr_event);
qemu_chr_be_event(chr, chr_event);
}
-#endif
static void vmc_state(SpiceCharDeviceInstance *sin, int connected)
{
@@ -119,12 +117,8 @@ static SpiceCharDeviceInterface vmc_interface = {
.state = vmc_state,
.write = vmc_write,
.read = vmc_read,
-#if SPICE_SERVER_VERSION >= 0x000c02
.event = vmc_event,
-#endif
-#if SPICE_SERVER_VERSION >= 0x000c06
.flags = SPICE_CHAR_DEVICE_NOTIFY_WRITABLE,
-#endif
};
@@ -223,9 +217,7 @@ static void char_spice_finalize(Object *obj)
}
g_free((char *)s->sin.subtype);
-#if SPICE_SERVER_VERSION >= 0x000c02
g_free((char *)s->sin.portname);
-#endif
}
static void spice_vmc_set_fe_open(struct Chardev *chr, int fe_open)
@@ -240,7 +232,6 @@ static void spice_vmc_set_fe_open(struct Chardev *chr, int fe_open)
static void spice_port_set_fe_open(struct Chardev *chr, int fe_open)
{
-#if SPICE_SERVER_VERSION >= 0x000c02
SpiceChardev *s = SPICE_CHARDEV(chr);
if (fe_open) {
@@ -248,7 +239,6 @@ static void spice_port_set_fe_open(struct Chardev *chr, int fe_open)
} else {
spice_server_port_event(&s->sin, SPICE_PORT_EVENT_CLOSED);
}
-#endif
}
static void spice_chr_accept_input(struct Chardev *chr)
@@ -298,7 +288,6 @@ static void qemu_chr_open_spice_vmc(Chardev *chr,
chr_open(chr, type);
}
-#if SPICE_SERVER_VERSION >= 0x000c02
static void qemu_chr_open_spice_port(Chardev *chr,
ChardevBackend *backend,
bool *be_opened,
@@ -331,7 +320,6 @@ void qemu_spice_register_ports(void)
vmc_register_interface(s);
}
}
-#endif
static void qemu_chr_parse_spice_vmc(QemuOpts *opts, ChardevBackend *backend,
Error **errp)
diff --git a/hw/display/qxl.c b/hw/display/qxl.c
index 9087db5dee..9387061ecb 100644
--- a/hw/display/qxl.c
+++ b/hw/display/qxl.c
@@ -276,11 +276,9 @@ static void qxl_spice_monitors_config_async(PCIQXLDevice *qxl, int replay)
QXL_COOKIE_TYPE_POST_LOAD_MONITORS_CONFIG,
0));
} else {
-#if SPICE_SERVER_VERSION >= 0x000c06 /* release 0.12.6 */
if (qxl->max_outputs) {
spice_qxl_set_max_monitors(&qxl->ssd.qxl, qxl->max_outputs);
}
-#endif
qxl->guest_monitors_config = qxl->ram->monitors_config;
spice_qxl_monitors_config_async(&qxl->ssd.qxl,
qxl->ram->monitors_config,
@@ -544,22 +542,6 @@ static void interface_set_compression_level(QXLInstance *sin, int level)
qxl_rom_set_dirty(qxl);
}
-#if SPICE_NEEDS_SET_MM_TIME
-static void interface_set_mm_time(QXLInstance *sin, uint32_t mm_time)
-{
- PCIQXLDevice *qxl = container_of(sin, PCIQXLDevice, ssd.qxl);
-
- if (!qemu_spice_display_is_running(&qxl->ssd)) {
- return;
- }
-
- trace_qxl_interface_set_mm_time(qxl->id, mm_time);
- qxl->shadow_rom.mm_clock = cpu_to_le32(mm_time);
- qxl->rom->mm_clock = cpu_to_le32(mm_time);
- qxl_rom_set_dirty(qxl);
-}
-#endif
-
static void interface_get_init_info(QXLInstance *sin, QXLDevInitInfo *info)
{
PCIQXLDevice *qxl = container_of(sin, PCIQXLDevice, ssd.qxl);
@@ -1106,12 +1088,10 @@ static int interface_client_monitors_config(QXLInstance *sin,
return 1;
}
-#if SPICE_SERVER_VERSION >= 0x000c06 /* release 0.12.6 */
/* limit number of outputs based on setting limit */
if (qxl->max_outputs && qxl->max_outputs <= max_outputs) {
max_outputs = qxl->max_outputs;
}
-#endif
config_changed = qxl_rom_monitors_config_changed(rom,
monitors_config,
@@ -1160,9 +1140,6 @@ static const QXLInterface qxl_interface = {
.attache_worker = interface_attach_worker,
.set_compression_level = interface_set_compression_level,
-#if SPICE_NEEDS_SET_MM_TIME
- .set_mm_time = interface_set_mm_time,
-#endif
.get_init_info = interface_get_init_info,
/* the callbacks below are called from spice server thread context */
@@ -1189,9 +1166,7 @@ static void qxl_enter_vga_mode(PCIQXLDevice *d)
return;
}
trace_qxl_enter_vga_mode(d->id);
-#if SPICE_SERVER_VERSION >= 0x000c03 /* release 0.12.3 */
spice_qxl_driver_unload(&d->ssd.qxl);
-#endif
graphic_console_set_hwops(d->ssd.dcl.con, d->vga.hw_ops, &d->vga);
update_displaychangelistener(&d->ssd.dcl, GUI_REFRESH_INTERVAL_DEFAULT);
qemu_spice_create_host_primary(&d->ssd);
@@ -2443,9 +2418,7 @@ static Property qxl_properties[] = {
DEFINE_PROP_UINT32("vram64_size_mb", PCIQXLDevice, vram_size_mb, -1),
DEFINE_PROP_UINT32("vgamem_mb", PCIQXLDevice, vgamem_size_mb, 16),
DEFINE_PROP_INT32("surfaces", PCIQXLDevice, ssd.num_surfaces, 1024),
-#if SPICE_SERVER_VERSION >= 0x000c06 /* release 0.12.6 */
DEFINE_PROP_UINT16("max_outputs", PCIQXLDevice, max_outputs, 0),
-#endif
DEFINE_PROP_UINT32("xres", PCIQXLDevice, xres, 0),
DEFINE_PROP_UINT32("yres", PCIQXLDevice, yres, 0),
DEFINE_PROP_BOOL("global-vmstate", PCIQXLDevice, vga.global_vmstate, false),
diff --git a/ui/spice-core.c b/ui/spice-core.c
index ebaae24643..fc850b3f50 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -745,13 +745,7 @@ void qemu_spice_init(void)
}
if (qemu_opt_get_bool(opts, "disable-agent-file-xfer", 0)) {
-#if SPICE_SERVER_VERSION >= 0x000c04
spice_server_set_agent_file_xfer(spice_server, false);
-#else
- error_report("this qemu build does not support the "
- "\"disable-agent-file-xfer\" option");
- exit(1);
-#endif
}
compression = SPICE_IMAGE_COMPRESS_AUTO_GLZ;
@@ -817,9 +811,7 @@ void qemu_spice_init(void)
g_free(x509_cert_file);
g_free(x509_cacert_file);
-#if SPICE_SERVER_VERSION >= 0x000c02
qemu_spice_register_ports();
-#endif
#ifdef HAVE_SPICE_GL
if (qemu_opt_get_bool(opts, "gl", 0)) {
diff --git a/ui/spice-display.c b/ui/spice-display.c
index 52f8cb5ae1..15a3796d58 100644
--- a/ui/spice-display.c
+++ b/ui/spice-display.c
@@ -509,13 +509,6 @@ static void interface_set_compression_level(QXLInstance *sin, int level)
/* nothing to do */
}
-#if SPICE_NEEDS_SET_MM_TIME
-static void interface_set_mm_time(QXLInstance *sin, uint32_t mm_time)
-{
- /* nothing to do */
-}
-#endif
-
static void interface_get_init_info(QXLInstance *sin, QXLDevInitInfo *info)
{
SimpleSpiceDisplay *ssd = container_of(sin, SimpleSpiceDisplay, qxl);
@@ -711,9 +704,6 @@ static const QXLInterface dpy_interface = {
.attache_worker = interface_attach_worker,
.set_compression_level = interface_set_compression_level,
-#if SPICE_NEEDS_SET_MM_TIME
- .set_mm_time = interface_set_mm_time,
-#endif
.get_init_info = interface_get_init_info,
/* the callbacks below are called from spice server thread context */
diff --git a/configure b/configure
index 0a3c6a72c3..ebdfece10a 100755
--- a/configure
+++ b/configure
@@ -4563,7 +4563,7 @@ 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.12.0 spice-server && \
+ if $pkg_config --atleast-version=0.12.6 spice-server && \
$pkg_config --atleast-version=0.12.3 spice-protocol && \
compile_prog "$spice_cflags" "$spice_libs" ; then
spice="yes"
@@ -4574,7 +4574,7 @@ EOF
else
if test "$spice" = "yes" ; then
feature_not_found "spice" \
- "Install spice-server(>=0.12.0) and spice-protocol(>=0.12.3) devel"
+ "Install spice-server(>=0.12.6) and spice-protocol(>=0.12.3) devel"
fi
spice="no"
fi
--
2.20.0.rc1
On Wed, Nov 28, 2018 at 06:21:35PM +0400, Marc-André Lureau wrote: > Looking at chardev/spice.c code, I realize compilation was broken for > a while with spice-server < 0.12.3. I propose to bump required version > to 0.12.6, released 3y ago, instead of adding more #ifdef. As mentioned last time this patch was posted[1], any changes in the min required versions should follow our supported build platforms support statement: https://qemu.weilnetz.de/doc/qemu-doc.html#Supported-build-platforms Preferrably the commit message should list the version in each of the main distros, such as in a0722409bcb980ecdab8330d4c716a73c9fcb489 At a glance it looks like Debian Jessie is likely to be the determining vote with 0.12.5 as its newest version. Regards, Daniel [1] https://lists.gnu.org/archive/html/qemu-devel/2018-08/msg00905.html -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
Hi On Wed, Nov 28, 2018 at 6:33 PM Daniel P. Berrangé <berrange@redhat.com> wrote: > > On Wed, Nov 28, 2018 at 06:21:35PM +0400, Marc-André Lureau wrote: > > Looking at chardev/spice.c code, I realize compilation was broken for > > a while with spice-server < 0.12.3. I propose to bump required version > > to 0.12.6, released 3y ago, instead of adding more #ifdef. > > As mentioned last time this patch was posted[1], any changes in the > min required versions should follow our supported build platforms > support statement: Sorry, I totally forgot that. > > https://qemu.weilnetz.de/doc/qemu-doc.html#Supported-build-platforms > > Preferrably the commit message should list the version in each of the > main distros, such as in a0722409bcb980ecdab8330d4c716a73c9fcb489 > > At a glance it looks like Debian Jessie is likely to be the determining > vote with 0.12.5 as its newest version. https://repology.org/metapackage/spice/versions Debian Oldstable oldstable/main spice 0.12.5 https://wiki.debian.org/DebianReleases ~June 6th 2020 (LTS) But the current stable, Stretch, was released on June 17th 2017. So we are stuck with spice server 0.12.5 until +2y, June 17th 2019 ? > > Regards, > Daniel > > [1] https://lists.gnu.org/archive/html/qemu-devel/2018-08/msg00905.html > -- > |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| > |: https://libvirt.org -o- https://fstop138.berrange.com :| > |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
On Wed, Nov 28, 2018 at 06:46:37PM +0400, Marc-André Lureau wrote: > Hi > > On Wed, Nov 28, 2018 at 6:33 PM Daniel P. Berrangé <berrange@redhat.com> wrote: > > > > On Wed, Nov 28, 2018 at 06:21:35PM +0400, Marc-André Lureau wrote: > > > Looking at chardev/spice.c code, I realize compilation was broken for > > > a while with spice-server < 0.12.3. I propose to bump required version > > > to 0.12.6, released 3y ago, instead of adding more #ifdef. > > > > As mentioned last time this patch was posted[1], any changes in the > > min required versions should follow our supported build platforms > > support statement: > > Sorry, I totally forgot that. > > > > > https://qemu.weilnetz.de/doc/qemu-doc.html#Supported-build-platforms > > > > Preferrably the commit message should list the version in each of the > > main distros, such as in a0722409bcb980ecdab8330d4c716a73c9fcb489 > > > > At a glance it looks like Debian Jessie is likely to be the determining > > vote with 0.12.5 as its newest version. > > https://repology.org/metapackage/spice/versions > > Debian Oldstable > oldstable/main spice 0.12.5 > > https://wiki.debian.org/DebianReleases > > ~June 6th 2020 (LTS) > > But the current stable, Stretch, was released on June 17th 2017. > > So we are stuck with spice server 0.12.5 until +2y, June 17th 2019 ? Yep, but that means one more dev cycle - 4.0 We're free to drop Jessie once QEMU 4.1 opens for development at end of April / early May. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
On Wed, Nov 28, 2018 at 02:54:09PM +0000, Daniel P. Berrangé wrote: > On Wed, Nov 28, 2018 at 06:46:37PM +0400, Marc-André Lureau wrote: > > Hi > > > > On Wed, Nov 28, 2018 at 6:33 PM Daniel P. Berrangé <berrange@redhat.com> wrote: > > > > > > On Wed, Nov 28, 2018 at 06:21:35PM +0400, Marc-André Lureau wrote: > > > > Looking at chardev/spice.c code, I realize compilation was broken for > > > > a while with spice-server < 0.12.3. I propose to bump required version > > > > to 0.12.6, released 3y ago, instead of adding more #ifdef. > > > > > > As mentioned last time this patch was posted[1], any changes in the > > > min required versions should follow our supported build platforms > > > support statement: > > > > Sorry, I totally forgot that. > > > > > > > > https://qemu.weilnetz.de/doc/qemu-doc.html#Supported-build-platforms > > > > > > Preferrably the commit message should list the version in each of the > > > main distros, such as in a0722409bcb980ecdab8330d4c716a73c9fcb489 > > > > > > At a glance it looks like Debian Jessie is likely to be the determining > > > vote with 0.12.5 as its newest version. > > > > https://repology.org/metapackage/spice/versions > > > > Debian Oldstable > > oldstable/main spice 0.12.5 > > > > https://wiki.debian.org/DebianReleases > > > > ~June 6th 2020 (LTS) > > > > But the current stable, Stretch, was released on June 17th 2017. > > > > So we are stuck with spice server 0.12.5 until +2y, June 17th 2019 ? > > Yep, but that means one more dev cycle - 4.0 > > We're free to drop Jessie once QEMU 4.1 opens for development at > end of April / early May. Ok, lets just put the patch on hold then. I don't think it makes that much sense to jump to 0.12.5 now and 0.12.6 next year. cheers, Gerd
© 2016 - 2024 Red Hat, Inc.