All of lore.kernel.org
 help / color / mirror / Atom feed
From: Evgeny Voevodin <e.voevodin@samsung.com>
To: "KONRAD Frédéric" <fred.konrad@greensocs.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>,
	Mark Burton <mark.burton@greensocs.com>,
	qemu-devel@nongnu.org,
	Ekaterina Gorelkina <e.gorelkina@samsung.com>
Subject: Re: [Qemu-devel] [RFC v2 00/12] Virtio-mmio refactoring.
Date: Fri, 28 Sep 2012 07:37:44 +0400	[thread overview]
Message-ID: <50651B88.9030401@samsung.com> (raw)
In-Reply-To: <50648D57.502@greensocs.com>

On 09/27/2012 09:31 PM, KONRAD Frédéric wrote:
> 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 ?
>

Ok. Feel free.

> 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
>>
>
>


-- 
Kind regards,
Evgeny Voevodin,
Technical Leader,
Mobile Group,
Samsung Moscow Research Center,
e-mail: e.voevodin@samsung.com

  reply	other threads:[~2012-09-28  3:37 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-17 10:00 [Qemu-devel] [RFC v2 00/12] Virtio-mmio refactoring Evgeny Voevodin
2012-09-17 10:00 ` [Qemu-devel] [RFC v2 01/12] virtio: Add support for guest setting of queue size Evgeny Voevodin
2012-09-17 10:00 ` [Qemu-devel] [RFC v2 02/12] virtio: Support transports which can specify the vring alignment Evgeny Voevodin
2012-09-17 10:00 ` [Qemu-devel] [RFC v2 03/12] Virtio: Add transport bindings Evgeny Voevodin
2012-09-17 10:00 ` [Qemu-devel] [RFC v2 04/12] hw/qdev-properties.c: Add "transport" property Evgeny Voevodin
2012-09-17 12:42   ` Paolo Bonzini
2012-09-18  4:48     ` Evgeny Voevodin
2012-09-17 10:00 ` [Qemu-devel] [RFC v2 05/12] hw/pci.c: Make pci_add_option_rom global visible Evgeny Voevodin
2012-09-17 10:00 ` [Qemu-devel] [RFC v2 06/12] Add MMIO based virtio transport Evgeny Voevodin
2012-09-17 10:00 ` [Qemu-devel] [RFC v2 07/12] hw/virtio-serial-bus.c: Add virtio-serial device Evgeny Voevodin
2012-09-17 10:00 ` [Qemu-devel] [RFC v2 08/12] hw/virtio-balloon.c: Add virtio-balloon device Evgeny Voevodin
2012-09-17 10:00 ` [Qemu-devel] [RFC v2 09/12] hw/virtio-net.c: Add virtio-net device Evgeny Voevodin
2012-09-17 10:00 ` [Qemu-devel] [RFC v2 10/12] hw/virtio-blk.c: Add virtio-blk device Evgeny Voevodin
2012-09-17 10:00 ` [Qemu-devel] [RFC v2 11/12] hw/virtio-pci-new.c: Add VirtIOPCI device Evgeny Voevodin
2012-09-17 10:00 ` [Qemu-devel] [RFC v2 12/12] hw/exynos4210.c: Create two virtio-mmio transport instances Evgeny Voevodin
2012-09-27 17:31 ` [Qemu-devel] [RFC v2 00/12] Virtio-mmio refactoring KONRAD Frédéric
2012-09-28  3:37   ` Evgeny Voevodin [this message]
  -- strict thread matches above, loose matches on Subject: below --
2012-09-28  2:35 Ying-Shiuan Pan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50651B88.9030401@samsung.com \
    --to=e.voevodin@samsung.com \
    --cc=e.gorelkina@samsung.com \
    --cc=fred.konrad@greensocs.com \
    --cc=kyungmin.park@samsung.com \
    --cc=mark.burton@greensocs.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.