All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cornelia.huck@de.ibm.com>
To: "KONRAD Frédéric" <fred.konrad@greensocs.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	aliguori@us.ibm.com, Evgeny Voevodin <e.voevodin@samsung.com>,
	Mark Burton <mark.burton@greensocs.com>,
	qemu-devel@nongnu.org, agraf@suse.de
Subject: Re: [Qemu-devel] Virtio refactoring.
Date: Thu, 15 Nov 2012 13:05:35 +0100	[thread overview]
Message-ID: <20121115130535.02b034ee@BR9GNB5Z> (raw)
In-Reply-To: <50A4C4AD.9020509@greensocs.com>

On Thu, 15 Nov 2012 11:32:13 +0100
KONRAD Frédéric <fred.konrad@greensocs.com> wrote:


> For the qtree structure we have eg for virtio block :
> 
> bus: main-system-bus
>    type System
>    dev: pcihost, id ""
>      bus: pci.0
>        type PCI
>        dev: virtio-blk-pci, id ""
>          ...
> 

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 :
> 
> 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 ""
>              ...
> 

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 been
> >>> converted?
> >> Which alias ?
> > The alias stuff in hw/qdev-monitor.c that lets you specify either
> > virtio-<type>-<transport> or virtio-<type>.
> >
> 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.

  reply	other threads:[~2012-11-15 12:05 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-13 14:27 [Qemu-devel] Virtio refactoring KONRAD Frédéric
2012-11-13 15:32 ` Cornelia Huck
2012-11-13 16:31   ` KONRAD Frédéric
2012-11-13 18:09     ` Cornelia Huck
2012-11-15 10:32       ` KONRAD Frédéric
2012-11-15 12:05         ` Cornelia Huck [this message]
2012-11-13 23:00   ` Andreas Färber

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=20121115130535.02b034ee@BR9GNB5Z \
    --to=cornelia.huck@de.ibm.com \
    --cc=agraf@suse.de \
    --cc=aliguori@us.ibm.com \
    --cc=e.voevodin@samsung.com \
    --cc=fred.konrad@greensocs.com \
    --cc=mark.burton@greensocs.com \
    --cc=peter.maydell@linaro.org \
    --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.