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
50 lines
1.6 KiB
Diff
50 lines
1.6 KiB
Diff
From 8b9a562e23dbfdfb23a5eeb1b619619290216ad8 Mon Sep 17 00:00:00 2001
|
|
From: Paolo Bonzini <pbonzini@redhat.com>
|
|
Date: Fri, 20 Sep 2013 16:57:59 +0200
|
|
Subject: [PATCH] virtio-rng: 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/virtio/virtio-rng.c | 10 ++++------
|
|
1 file changed, 4 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/hw/virtio/virtio-rng.c b/hw/virtio/virtio-rng.c
|
|
index b22ccf1..42ca568 100644
|
|
--- a/hw/virtio/virtio-rng.c
|
|
+++ b/hw/virtio/virtio-rng.c
|
|
@@ -190,16 +190,14 @@ static int virtio_rng_device_init(VirtIODevice *vdev)
|
|
return 0;
|
|
}
|
|
|
|
-static int virtio_rng_device_exit(DeviceState *qdev)
|
|
+static void virtio_rng_device_exit(VirtIODevice *vdev)
|
|
{
|
|
- VirtIORNG *vrng = VIRTIO_RNG(qdev);
|
|
- VirtIODevice *vdev = VIRTIO_DEVICE(qdev);
|
|
+ VirtIORNG *vrng = VIRTIO_RNG(vdev);
|
|
|
|
timer_del(vrng->rate_limit_timer);
|
|
timer_free(vrng->rate_limit_timer);
|
|
- unregister_savevm(qdev, "virtio-rng", vrng);
|
|
+ unregister_savevm(DEVICE(vdev), "virtio-rng", vrng);
|
|
virtio_cleanup(vdev);
|
|
- return 0;
|
|
}
|
|
|
|
static Property virtio_rng_properties[] = {
|
|
@@ -211,10 +209,10 @@ static void virtio_rng_class_init(ObjectClass *klass, void *data)
|
|
{
|
|
DeviceClass *dc = DEVICE_CLASS(klass);
|
|
VirtioDeviceClass *vdc = VIRTIO_DEVICE_CLASS(klass);
|
|
- dc->exit = virtio_rng_device_exit;
|
|
dc->props = virtio_rng_properties;
|
|
set_bit(DEVICE_CATEGORY_MISC, dc->categories);
|
|
vdc->init = virtio_rng_device_init;
|
|
+ vdc->exit = virtio_rng_device_exit;
|
|
vdc->get_features = get_features;
|
|
}
|
|
|