From: KONRAD Frederic <[email protected]>
This is the last backend of the refactoring.
Basically it creates virtio-rng-device which extends virtio-device.
Then a virtio-rng-device can be connected on a virtio-bus.
virtio-rng-pci, virtio-rng-s390, virtio-rng-ccw are created too, they extend
respectively virtio-pci, virtio-s390-device, virtio-ccw-device and have a
virtio-rng-device.
When rng option is NULL, a default rng backend is created as before. But after
this refactoring, this default-backend will be the child of virtio-rng-device
instead of virtio-rng-*.
You can checkout my branch here:
git://project.greensocs.com/qemu-virtio.git virtio-rng-v3
Note that it is nearly the same series as virtio-blk and virtio-scsi
refactoring, and is rebased on top of virtio-net-v3 I posted before.
I made basic tests (with linux guests) on:
* qemu-system-i386
Changes v2 -> v3:
* Added CCW device.
* Changes name: "virtio-rng" => "virtio-rng-device".
* Rebased.
Thanks,
Fred
KONRAD Frederic (8):
virtio-rng: don't use pointer for configuration.
virtio-rng: add virtio-rng device.
virtio-rng-pci: switch to the new API.
virtio-rng-s390: switch to the new API.
virtio-rng-ccw: switch to the new API.
virtio-rng: cleanup: init and exit functions.
virtio-rng: cleanup: remove qdev field.
virtio-rng: cleanup: use QOM casts.
hw/s390x/s390-virtio-bus.c | 38 +++++-----
hw/s390x/s390-virtio-bus.h | 12 +++-
hw/s390x/virtio-ccw.c | 49 ++++++-------
hw/s390x/virtio-ccw.h | 12 +++-
hw/virtio/virtio-pci.c | 156 ++++++++++++++++-------------------------
hw/virtio/virtio-pci.h | 14 +++-
hw/virtio/virtio-rng.c | 120 ++++++++++++++++++++++---------
include/hw/virtio/virtio-rng.h | 20 ++++--
include/hw/virtio/virtio.h | 2 -
9 files changed, 240 insertions(+), 183 deletions(-)
--
1.7.11.7