Rebase to qemu-1.7 GA New monitor command blockdev-add for full featured block device hotplug. Performance and functionality improvements for USB 3.0. Many VFIO improvements ACPI tables can be generated by QEMU and can be used by firmware directly. Support creating and writing .vhdx images. qemu-img map: dump detailed image file metadata
54 lines
1.9 KiB
Diff
54 lines
1.9 KiB
Diff
From b4ea3493c8c99bd854eec8640bd5c90c31e8ac14 Mon Sep 17 00:00:00 2001
|
|
From: Paolo Bonzini <pbonzini@redhat.com>
|
|
Date: Fri, 20 Sep 2013 16:57:55 +0200
|
|
Subject: [PATCH] virtio-serial: switch exit callback to VirtioDeviceClass
|
|
|
|
This ensures hot-unplug is handled properly by the proxy.
|
|
|
|
Cc: qemu-stable@nongnu.org
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
---
|
|
hw/char/virtio-serial-bus.c | 10 ++++------
|
|
1 file changed, 4 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c
|
|
index 703f026..a7ede90 100644
|
|
--- a/hw/char/virtio-serial-bus.c
|
|
+++ b/hw/char/virtio-serial-bus.c
|
|
@@ -987,12 +987,11 @@ static const TypeInfo virtio_serial_port_type_info = {
|
|
.class_init = virtio_serial_port_class_init,
|
|
};
|
|
|
|
-static int virtio_serial_device_exit(DeviceState *dev)
|
|
+static void virtio_serial_device_exit(VirtIODevice *vdev)
|
|
{
|
|
- VirtIOSerial *vser = VIRTIO_SERIAL(dev);
|
|
- VirtIODevice *vdev = VIRTIO_DEVICE(dev);
|
|
+ VirtIOSerial *vser = VIRTIO_SERIAL(vdev);
|
|
|
|
- unregister_savevm(dev, "virtio-console", vser);
|
|
+ unregister_savevm(DEVICE(vdev), "virtio-console", vser);
|
|
|
|
g_free(vser->ivqs);
|
|
g_free(vser->ovqs);
|
|
@@ -1004,7 +1003,6 @@ static int virtio_serial_device_exit(DeviceState *dev)
|
|
g_free(vser->post_load);
|
|
}
|
|
virtio_cleanup(vdev);
|
|
- return 0;
|
|
}
|
|
|
|
static Property virtio_serial_properties[] = {
|
|
@@ -1016,10 +1014,10 @@ static void virtio_serial_class_init(ObjectClass *klass, void *data)
|
|
{
|
|
DeviceClass *dc = DEVICE_CLASS(klass);
|
|
VirtioDeviceClass *vdc = VIRTIO_DEVICE_CLASS(klass);
|
|
- dc->exit = virtio_serial_device_exit;
|
|
dc->props = virtio_serial_properties;
|
|
set_bit(DEVICE_CATEGORY_INPUT, dc->categories);
|
|
vdc->init = virtio_serial_device_init;
|
|
+ vdc->exit = virtio_serial_device_exit;
|
|
vdc->get_features = get_features;
|
|
vdc->get_config = get_config;
|
|
vdc->set_config = set_config;
|