[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC v2 00/12] Virtio-mmio refactoring.
From: |
Ying-Shiuan Pan |
Subject: |
Re: [Qemu-devel] [RFC v2 00/12] Virtio-mmio refactoring. |
Date: |
Fri, 28 Sep 2012 10:35:13 +0800 |
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 <address@hidden>
> To: Evgeny Voevodin <address@hidden>, address@hidden,
> Mark Burton <address@hidden>, address@hidden
> Subject: Re: [Qemu-devel] [RFC v2 00/12] Virtio-mmio refactoring.
> Message-ID: <address@hidden>
> 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
>>
>
- [Qemu-devel] [RFC v2 06/12] Add MMIO based virtio transport, (continued)
- [Qemu-devel] [RFC v2 06/12] Add MMIO based virtio transport, Evgeny Voevodin, 2012/09/17
- [Qemu-devel] [RFC v2 04/12] hw/qdev-properties.c: Add "transport" property., Evgeny Voevodin, 2012/09/17
- [Qemu-devel] [RFC v2 12/12] hw/exynos4210.c: Create two virtio-mmio transport instances., Evgeny Voevodin, 2012/09/17
- [Qemu-devel] [RFC v2 09/12] hw/virtio-net.c: Add virtio-net device., Evgeny Voevodin, 2012/09/17
- [Qemu-devel] [RFC v2 10/12] hw/virtio-blk.c: Add virtio-blk device., Evgeny Voevodin, 2012/09/17
- [Qemu-devel] [RFC v2 11/12] hw/virtio-pci-new.c: Add VirtIOPCI device., Evgeny Voevodin, 2012/09/17
- Re: [Qemu-devel] [RFC v2 00/12] Virtio-mmio refactoring., KONRAD Frédéric, 2012/09/27
- Re: [Qemu-devel] [RFC v2 00/12] Virtio-mmio refactoring.,
Ying-Shiuan Pan <=