On Sun, 14 Apr 2013 15:01:02 +0200 fred.kon...@greensocs.com wrote: > From: KONRAD Frederic <fred.kon...@greensocs.com> > > 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
On s390, with virtio-ccw and s390-virtio: Tested-by: Cornelia Huck <cornelia.h...@de.ibm.com> > > 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(-) >