Hi, We have applied virtio-mmio into our work for more than half year, although the patch we used is not yet updated to the latest one. We have tested virtio-blk, virtio-net, virtio-console, and virtio-balloon. All of them are working very well.
Hope you will enjoy them also :) ---- Best Regards, 潘穎軒Ying-Shiuan Pan > Message: 1 > Date: Thu, 27 Sep 2012 19:31:03 +0200 > From: KONRAD Fr?d?ric <fred.kon...@greensocs.com> > To: Evgeny Voevodin <e.voevo...@samsung.com>, qemu-devel@nongnu.org, > Mark Burton <mark.bur...@greensocs.com>, fred.kon...@greensocs.com > Subject: Re: [Qemu-devel] [RFC v2 00/12] Virtio-mmio refactoring. > Message-ID: <50648d57....@greensocs.com> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > Hi, > > We actually want to add virtio models for arm, therefore these patches > are really helpful. > > We will try it, start looking at the issues. > > Any feedback ? > > On 17/09/2012 12:00, Evgeny Voevodin wrote: >> Previous RFC you can find at >> http://lists.gnu.org/archive/html/qemu-devel/2012-04/msg03665.html >> Yes, long time ago... >> Since I'm not sure when I'll be able to continue on this, >> I'm publishing this work as is. >> In this patchset I tried to split virtio-xxx-pci devices into >> virtio-pci + virtio-xxx (blk, net, serial,...). Also virtio-mmio >> transport is introduced based on Peter's work which is accessible >> here: http://lists.gnu.org/archive/html/qemu-devel/2011-11/msg01870.html >> >> The main idea was to let users specify >> -device virtio-pci,id=virtio-pci.0 >> -device virtio-blk,transport=virtio-pci.0,... >> >> and >> >> -device virtio-mmio,id=virtio-mmio.0 >> -device virtio-blk,transport=virtio-mmio.0,... >> >> I created virtio-pci and virtio-mmio transport devices and tried to enclose >> back-end functionality into virtio-blk, virtio-net, etc. On >> initialization of transport device it creates a bus to which a back-end >> device >> could be connected. Each back-end device is implemented in corresponding >> source >> file. As for PCI transport, I temporary placed it in a new virtio-pci-new.c >> file >> to not break a functionality of still presented virtio-xxx-pci devices. >> >> Known issues to be resolved: >> 1. On creation of back-end we need to resolve somehow if props were >> explicitly set >> by user. >> 2. Back-end device can't be initialized if there are no free bus created by >> transport, >> so you can't specify >> -device virtio-blk,transport=virtio-pci.0,... >> -device virtio-pci,id=virtio-pci.0 >> 3. Implement virtio-xxx-devices such that they just create virtio-pci and >> virtio-xxx >> devices during initialization. >> 4. Refactor all remaining back-ends since I just tried blk, net, serial and >> balloon. >> 5. Refactor s390 >> 6. Further? >> >> Evgeny Voevodin (9): >> Virtio: Add transport bindings. >> hw/qdev-properties.c: Add "transport" property. >> hw/pci.c: Make pci_add_option_rom global visible >> hw/virtio-serial-bus.c: Add virtio-serial device. >> hw/virtio-balloon.c: Add virtio-balloon device. >> hw/virtio-net.c: Add virtio-net device. >> hw/virtio-blk.c: Add virtio-blk device. >> hw/virtio-pci-new.c: Add VirtIOPCI device. >> hw/exynos4210.c: Create two virtio-mmio transport instances. >> >> Peter Maydell (3): >> virtio: Add support for guest setting of queue size >> virtio: Support transports which can specify the vring alignment >> Add MMIO based virtio transport >> >> hw/Makefile.objs | 3 + >> hw/exynos4210.c | 13 + >> hw/pci.c | 3 +- >> hw/pci.h | 2 + >> hw/qdev-properties.c | 29 ++ >> hw/qdev.h | 3 + >> hw/virtio-balloon.c | 42 +++ >> hw/virtio-balloon.h | 9 + >> hw/virtio-blk.c | 65 ++++ >> hw/virtio-blk.h | 15 + >> hw/virtio-mmio.c | 400 +++++++++++++++++++++ >> hw/virtio-net.c | 59 +++ >> hw/virtio-net.h | 16 + >> hw/virtio-pci-new.c | 925 >> ++++++++++++++++++++++++++++++++++++++++++++++++ >> hw/virtio-pci.h | 18 + >> hw/virtio-serial-bus.c | 44 +++ >> hw/virtio-serial.h | 11 + >> hw/virtio-transport.c | 147 ++++++++ >> hw/virtio-transport.h | 74 ++++ >> hw/virtio.c | 20 +- >> hw/virtio.h | 2 + >> 21 files changed, 1896 insertions(+), 4 deletions(-) >> create mode 100644 hw/virtio-mmio.c >> create mode 100644 hw/virtio-pci-new.c >> create mode 100644 hw/virtio-transport.c >> create mode 100644 hw/virtio-transport.h >> >