From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:49917) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TYyCa-0003n5-1V for qemu-devel@nongnu.org; Thu, 15 Nov 2012 07:05:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TYyCW-000724-NZ for qemu-devel@nongnu.org; Thu, 15 Nov 2012 07:05:47 -0500 Received: from e06smtp13.uk.ibm.com ([195.75.94.109]:44946) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TYyCW-00071o-EJ for qemu-devel@nongnu.org; Thu, 15 Nov 2012 07:05:44 -0500 Received: from /spool/local by e06smtp13.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 15 Nov 2012 12:05:40 -0000 Received: from d06av06.portsmouth.uk.ibm.com (d06av06.portsmouth.uk.ibm.com [9.149.37.217]) by b06cxnps4074.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id qAFC5Vik58851580 for ; Thu, 15 Nov 2012 12:05:31 GMT Received: from d06av06.portsmouth.uk.ibm.com (loopback [127.0.0.1]) by d06av06.portsmouth.uk.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id qAFC5cnN014984 for ; Thu, 15 Nov 2012 05:05:38 -0700 Date: Thu, 15 Nov 2012 13:05:35 +0100 From: Cornelia Huck Message-ID: <20121115130535.02b034ee@BR9GNB5Z> In-Reply-To: <50A4C4AD.9020509@greensocs.com> References: <50A258ED.7080807@greensocs.com> <20121113163242.613b3d07@BR9GNB5Z> <50A275EC.3030700@greensocs.com> <20121113190912.56fd8665@BR9GNB5Z> <50A4C4AD.9020509@greensocs.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] Virtio refactoring. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: KONRAD =?UTF-8?B?RnLDqWTDqXJpYw==?= Cc: Peter Maydell , aliguori@us.ibm.com, Evgeny Voevodin , Mark Burton , qemu-devel@nongnu.org, agraf@suse.de On Thu, 15 Nov 2012 11:32:13 +0100 KONRAD Fr=C3=A9d=C3=A9ric wrote: > For the qtree structure we have eg for virtio block : >=20 > bus: main-system-bus > type System > dev: pcihost, id "" > bus: pci.0 > type PCI > dev: virtio-blk-pci, id "" > ... >=20 My current virtio-ccw layout is: bus: main-system-bus type System dev: virtio-ccw-bridge, id "" bus: virtio-ccw type virtio-ccw-bus dev: virtio-blk-ccw, id "" ... > And it would become : >=20 > bus: main-system-bus > type System > dev: pcihost, id "" > bus: pci.0 > type PCI > dev: virtio-pci, id "" > bus: virtio.0 > type VIRTIO > dev: virtio-blk, id "" > ... >=20 I guess we could have the following for virtio-ccw: bus: main-system-bus type System dev: css, id "" bus: css.fe type ccw dev: virtio-ccw, id "" bus: virtio.0 type virtio dev: virtio-blk, id "" ... IOW, we introduce a channel subsystem (css) analogous to pcihost, have a ccw bus which can hold all kinds of channel devices, introduce a bus per channel subsystem image (here: the virtual css fe) and stick the virtio bus under it. If we want to support passthrough of real channel devices some day, they get their own bus for their channel subsystem (css.0, css.1, ...) and have the devices show up under it. (Just thinking aloud. I'll probably need to play with that idea a bit.) > > > >>>> Is it the right approach ? Do I miss something ? > >>> What of the alias handling? Can this be killed once everything has be= en > >>> converted? > >> Which alias ? > > The alias stuff in hw/qdev-monitor.c that lets you specify either > > virtio-- or virtio-. > > > So it would break the alias, we must find a solution for that. I think only virtio-xxx-pci and s390-virtio-xxx need to get backward compatibility; virtio-mmio and virtio-ccw should not need to deal with old interfaces.