diff --git a/hw/qxl.c b/hw/qxl.c index db7ae7a8f..b34bccf62 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -821,17 +821,15 @@ static void qxl_check_state(PCIQXLDevice *d) { QXLRam *ram = d->ram; - assert(SPICE_RING_IS_EMPTY(&ram->cmd_ring)); - assert(SPICE_RING_IS_EMPTY(&ram->cursor_ring)); + assert(!d->ssd.running || SPICE_RING_IS_EMPTY(&ram->cmd_ring)); + assert(!d->ssd.running || SPICE_RING_IS_EMPTY(&ram->cursor_ring)); } static void qxl_reset_state(PCIQXLDevice *d) { - QXLRam *ram = d->ram; QXLRom *rom = d->rom; - assert(!d->ssd.running || SPICE_RING_IS_EMPTY(&ram->cmd_ring)); - assert(!d->ssd.running || SPICE_RING_IS_EMPTY(&ram->cursor_ring)); + qxl_check_state(d); d->shadow_rom.update_id = cpu_to_le32(0); *rom = d->shadow_rom; qxl_rom_set_dirty(d); @@ -1189,7 +1187,7 @@ async_common: } d->current_async = orig_io_port; qemu_mutex_unlock(&d->async_lock); - dprint(d, 2, "start async %d (%d)\n", io_port, val); + dprint(d, 2, "start async %d (%"PRId64")\n", io_port, val); break; default: break; @@ -1305,7 +1303,8 @@ async_common: break; } case QXL_IO_FLUSH_SURFACES_ASYNC: - dprint(d, 1, "QXL_IO_FLUSH_SURFACES_ASYNC (%d) (%s, s#=%d, res#=%d)\n", + dprint(d, 1, "QXL_IO_FLUSH_SURFACES_ASYNC" + " (%"PRId64") (%s, s#=%d, res#=%d)\n", val, qxl_mode_to_string(d->mode), d->guest_surfaces.count, d->num_free_res); qxl_spice_flush_surfaces_async(d); diff --git a/ui/spice-core.c b/ui/spice-core.c index 3d77c0144..8bb62eaa0 100644 --- a/ui/spice-core.c +++ b/ui/spice-core.c @@ -372,6 +372,8 @@ void do_info_spice_print(Monitor *mon, const QObject *data) monitor_printf(mon, " address: %s:%d [tls]\n", host, port); } monitor_printf(mon, " auth: %s\n", qdict_get_str(server, "auth")); + monitor_printf(mon, " compiled: %s\n", + qdict_get_str(server, "compiled-version")); channels = qdict_get_qlist(server, "channels"); if (qlist_empty(channels)) { @@ -388,6 +390,7 @@ void do_info_spice(Monitor *mon, QObject **ret_data) QList *clist; const char *addr; int port, tls_port; + char version_string[20]; /* 12 = |255.255.255\0| is the max */ if (!spice_server) { *ret_data = qobject_from_jsonf("{ 'enabled': false }"); @@ -403,6 +406,11 @@ void do_info_spice(Monitor *mon, QObject **ret_data) qdict_put(server, "enabled", qbool_from_int(true)); qdict_put(server, "auth", qstring_from_str(auth)); qdict_put(server, "host", qstring_from_str(addr ? addr : "0.0.0.0")); + snprintf(version_string, sizeof(version_string), "%d.%d.%d", + (SPICE_SERVER_VERSION & 0xff0000) >> 16, + (SPICE_SERVER_VERSION & 0xff00) >> 8, + SPICE_SERVER_VERSION & 0xff); + qdict_put(server, "compiled-version", qstring_from_str(version_string)); if (port) { qdict_put(server, "port", qint_from_int(port)); }