From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:47892) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1THROj-0004Wk-IH for qemu-devel@nongnu.org; Thu, 27 Sep 2012 23:37:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1THROi-0000VW-01 for qemu-devel@nongnu.org; Thu, 27 Sep 2012 23:37:53 -0400 Received: from mailout3.w1.samsung.com ([210.118.77.13]:46881) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1THROh-0000V2-Qi for qemu-devel@nongnu.org; Thu, 27 Sep 2012 23:37:51 -0400 Received: from eusync3.samsung.com (mailout3.w1.samsung.com [210.118.77.13]) by mailout3.w1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MB100H60JFSKH40@mailout3.w1.samsung.com> for qemu-devel@nongnu.org; Fri, 28 Sep 2012 04:38:16 +0100 (BST) Received: from [106.109.8.9] by eusync3.samsung.com (Oracle Communications Messaging Server 7u4-23.01(7.0.4.23.0) 64bit (built Aug 10 2011)) with ESMTPA id <0MB100FNIJEXRD20@eusync3.samsung.com> for qemu-devel@nongnu.org; Fri, 28 Sep 2012 04:37:46 +0100 (BST) Date: Fri, 28 Sep 2012 07:37:44 +0400 From: Evgeny Voevodin In-reply-to: <50648D57.502@greensocs.com> Message-id: <50651B88.9030401@samsung.com> MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: QUOTED-PRINTABLE References: <1347876042-22609-1-git-send-email-e.voevodin@samsung.com> <50648D57.502@greensocs.com> Subject: Re: [Qemu-devel] [RFC v2 00/12] Virtio-mmio refactoring. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?ISO-8859-1?Q?KONRAD_Fr=E9d=E9ric?= Cc: Kyungmin Park , Mark Burton , qemu-devel@nongnu.org, Ekaterina Gorelkina On 09/27/2012 09:31 PM, KONRAD Fr=E9d=E9ric wrote: > Hi, > > We actually want to add virtio models for arm, therefore these patc= hes=20 > 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/msg0187= 0.html >> >> The main idea was to let users specify >> -device virtio-pci,id=3Dvirtio-pci.0 >> -device virtio-blk,transport=3Dvirtio-pci.0,... >> and >> >> -device virtio-mmio,id=3Dvirtio-mmio.0 >> -device virtio-blk,transport=3Dvirtio-mmio.0,... >> >> I created virtio-pci and virtio-mmio transport devices and tried t= o=20 >> enclose >> back-end functionality into virtio-blk, virtio-net, etc. On >> initialization of transport device it creates a bus to which a= =20 >> back-end device >> could be connected. Each back-end device is implemented in=20 >> corresponding source >> file. As for PCI transport, I temporary placed it in a new=20 >> virtio-pci-new.c file >> to not break a functionality of still presented virtio-xxx-pci dev= ices. >> >> Known issues to be resolved: >> 1. On creation of back-end we need to resolve somehow if props wer= e=20 >> explicitly set >> by user. >> 2. Back-end device can't be initialized if there are no free bus= =20 >> created by transport, >> so you can't specify >> -device virtio-blk,transport=3Dvirtio-pci.0,... >> -device virtio-pci,id=3Dvirtio-pci.0 >> 3. Implement virtio-xxx-devices such that they just create virtio-= pci=20 >> and virtio-xxx >> devices during initialization. >> 4. Refactor all remaining back-ends since I just tried blk, net,= =20 >> 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 alignmen= t >> 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=20 >> ++++++++++++++++++++++++++++++++++++++++++++++++ >> 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 >> > > --=20 Kind regards, Evgeny Voevodin, Technical Leader, Mobile Group, Samsung Moscow Research Center, e-mail: e.voevodin@samsung.com