qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: fred.konrad@greensocs.com
To: qemu-devel@nongnu.org
Cc: mark.burton@greensocs.com
Subject: [Qemu-devel] [RFC PATCH 0/3] Virtio refactoring.
Date: Fri, 16 Nov 2012 16:35:56 +0100	[thread overview]
Message-ID: <1353080159-10536-1-git-send-email-fred.konrad@greensocs.com> (raw)

Hi,

I submit this RFC to be sure I'm doing the right thing about the VirtioBus.

I push the patchset here : 

git://git.greensocs.com/qemu_virtio.git virtio_refact

What I proposed to do :

    * Introduce a new VirtioBus ( same way as scsi-bus.c ), with VirtIODevice
      interface :
         -> callback to completely abstract the VirtioDevice from VirtioPCI.
         -> for the queue, load/save the queue/config, features, ..., other ?

    * Add a VirtioBus to the VirtioPCIProxy. ( virtio-pci.c ) :
         -> moving all to the newer callback.

    * For each of the virtio-device : ( virtio-x.c )
         -> making a separate class for virtio-x which is a VirtioDevice.
         -> making a virtio-x-pci which has a virtio-x.

    * Create virtio-mmio ( virtio-mmio.c ).

What it is done in this RFC :

    * introduce VirtioBus, which can be added to Virtio transports like
      virtio-pci or virtio-mmio. I think the interface must be improved.

    * add a VirtioBus to the existing VirtioPCIProxy ( virtio-pci ), and add a
      "virtio-pci" device which can be loaded without a VirtIODevice, and create
      a VirtioBus.

    * add a "virtio-blk" device which must be connected on a virtio-bus, to try
      the virtio-bus and virtio-pci.

The info qtree return this structure :

bus: main-system-bus
  type System
  dev: i440FX-pcihost, id ""
    bus: pci.0
      type PCI
      dev: virtio-pci, id ""
        bus: virtio.0
          type VIRTIO
          dev: virtio-blk, id ""

What I must improve :

    * the Virtio-PCI still need the VirtIODevice.
    * others devices.
    * spliting virtio-x-pci to virtio-x + virtio-pci.

Did I miss something ?

Thanks,

Fred.

             reply	other threads:[~2012-11-16 15:36 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-16 15:35 fred.konrad [this message]
2012-11-16 15:35 ` [Qemu-devel] [RFC PATCH 1/3] virtio-bus : Introduce VirtioBus fred.konrad
2012-11-19 17:33   ` Peter Maydell
2012-11-20 14:12     ` Cornelia Huck
2012-11-20 14:30       ` KONRAD Frédéric
2012-11-20 16:15         ` Cornelia Huck
2012-11-20 16:45           ` KONRAD Frédéric
2012-11-20 17:27             ` Cornelia Huck
2012-11-21  9:31     ` KONRAD Frédéric
2012-11-21 13:04   ` Andreas Färber
2012-11-21 14:05     ` KONRAD Frédéric
2012-11-21 14:13       ` Andreas Färber
2012-11-21 14:18         ` KONRAD Frédéric
2012-11-16 15:35 ` [Qemu-devel] [RFC PATCH 2/3] virtio-pci : Add a virtio-bus interface fred.konrad
2012-11-16 15:35 ` [Qemu-devel] [RFC PATCH 3/3] virtio-blk : add the virtio-blk device fred.konrad

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=1353080159-10536-1-git-send-email-fred.konrad@greensocs.com \
    --to=fred.konrad@greensocs.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).