diff options
Diffstat (limited to 'hw')
| -rw-r--r-- | hw/char/virtio-console.c | 10 | ||||
| -rw-r--r-- | hw/display/qxl.c | 4 |
2 files changed, 14 insertions, 0 deletions
diff --git a/hw/char/virtio-console.c b/hw/char/virtio-console.c index 752ed2c3c8..2a867cb4e6 100644 --- a/hw/char/virtio-console.c +++ b/hw/char/virtio-console.c @@ -95,6 +95,15 @@ static void set_guest_connected(VirtIOSerialPort *port, int guest_connected) } } +static void guest_writable(VirtIOSerialPort *port) +{ + VirtConsole *vcon = VIRTIO_CONSOLE(port); + + if (vcon->chr) { + qemu_chr_accept_input(vcon->chr); + } +} + /* Readiness of the guest to accept data on a port */ static int chr_can_read(void *opaque) { @@ -188,6 +197,7 @@ static void virtserialport_class_init(ObjectClass *klass, void *data) k->unrealize = virtconsole_unrealize; k->have_data = flush_buf; k->set_guest_connected = set_guest_connected; + k->guest_writable = guest_writable; dc->props = virtserialport_properties; } diff --git a/hw/display/qxl.c b/hw/display/qxl.c index 8f40dfb8ac..b220e2d5d2 100644 --- a/hw/display/qxl.c +++ b/hw/display/qxl.c @@ -504,6 +504,10 @@ 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); |