From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:52007) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SQIPt-0007Wj-8j for qemu-devel@nongnu.org; Fri, 04 May 2012 09:19:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SQIPm-0005ao-NR for qemu-devel@nongnu.org; Fri, 04 May 2012 09:19:24 -0400 Received: from mail-ob0-f173.google.com ([209.85.214.173]:50862) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SQIPm-0005Y3-Hu for qemu-devel@nongnu.org; Fri, 04 May 2012 09:19:18 -0400 Received: by obbwd20 with SMTP id wd20so4589928obb.4 for ; Fri, 04 May 2012 06:19:17 -0700 (PDT) Message-ID: <4FA3D751.80806@codemonkey.ws> Date: Fri, 04 May 2012 08:19:13 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <1335333257-5128-1-git-send-email-e.voevodin@samsung.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC 0/9] Virtio-mmio refactoring. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: aliguori@us.ibm.com, i.mitsyanko@samsung.com, Evgeny Voevodin , qemu-devel@nongnu.org, kyungmin.park@samsung.com, d.solodkiy@samsung.com, m.kozlov@samsung.com On 05/03/2012 07:14 AM, Peter Maydell wrote: > On 25 April 2012 06:54, Evgeny Voevodin wrote: >> In this patchset refactoring of virtio-mmio layer is made. >> Instead of creating virtio-blk-mmio, virtio-net-mmio, etc on the system bus >> we create virtio-blk, virtio-net, etc devices on the virtio-transport bus. >> To create virtio-transport bus virtio-mmio-transport device provided. >> Transport device plugs into virtio-mmio bus. >> To create virtio-mmio bus virtio-mmio-bridge device provided. > > This seems to me to have one more layer than it needs. Why not just: > create virtio-blk, virtio-net, etc on the virtio-transport bus > To create virtio-transport bus, we create a virtio-mmio-transport > device, and this device is a sysbus device. > > ie why do you have separate "virtio-mmio-transport" and > "virtio-mmio-bridge" devices, and two different new buses ("virtio-mmio" > and "virtio-transport") rather than just "virtio-transport"? I think using a bus won't work. You need to create a VirtioDevice that has a link. I would suggest making VirtioTransport an interface. Then you can have VirtioPCI inherit from PCIDevice and implement VirtioTransport. Regards, Anthony Liguori > > -- PMM >