All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <aliguori@us.ibm.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: e.voevodin@samsung.com, mark.burton@greensocs.com,
	qemu-devel@nongnu.org, stefanha@redhat.com,
	cornelia.huck@de.ibm.com, afaerber@suse.de,
	fred.konrad@greensocs.com
Subject: Re: [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus.
Date: Mon, 26 Nov 2012 10:59:16 -0600	[thread overview]
Message-ID: <877gp8pafv.fsf@codemonkey.ws> (raw)
In-Reply-To: <CAFEAcA8RPBFyacvp2wRsegS+_WoFCiEbiS7uMSCUtFtXb7h9ow@mail.gmail.com>

Peter Maydell <peter.maydell@linaro.org> writes:

> On 26 November 2012 14:33, Anthony Liguori <aliguori@us.ibm.com> wrote:
>> VirtioBusInfo is not a great name.  This is a proxy class that allows
>> for a device to implement the virtio bus interface.
>>
>> This could be done as an interface but since nothing else uses
>> interfaces, I'm okay with something like this.  But the first argument
>> ought to be an opaque for all methods.
>
> We have at least one user of Interface in the tree IIRC.
> I'd much rather we did this the right way -- the only reason
> it's the way Fred has coded it is that there's no obvious
> body of code in the tree to copy, so we're thrashing around
> a bit. If you tell us what the correct set of structs/classes/
> interfaces/etc is then we can implement it :-)

I really think extending virtio-bus to a virtio-pci-bus and then
initializing it with a link to the PCI device is the best approach.

It's by far the simpliest approach in terms of coding.

Did I explain it adequately?  To recap:

virtio-bus extends bus-state
 - implements everything that VirtIOBindings implements as methods

virtio-pci-bus extends virtio-bus
 - is constructed with a pointer to a PCIDevice
 - implements the methods necessary to be a virtio bus

virtio-device extends device-state
 - implements methods used by virtio-bus

Regards,

Anthony Liguori

>
> -- PMM

  reply	other threads:[~2012-11-26 17:00 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-22 14:50 [Qemu-devel] [RFC PATCH v2 0/3] Virtio-refactoring fred.konrad
2012-11-22 14:50 ` [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus fred.konrad
2012-11-23 12:08   ` Cornelia Huck
2012-11-23 14:12     ` Konrad Frederic
2012-11-23 14:35       ` Cornelia Huck
2012-11-26 13:55     ` Konrad Frederic
2012-11-26 14:03       ` Cornelia Huck
2012-11-23 12:23   ` Stefan Hajnoczi
2012-11-23 14:21     ` Konrad Frederic
2012-11-23 16:13       ` Stefan Hajnoczi
2012-11-24 22:29   ` Andreas Färber
2012-11-26 14:33   ` Anthony Liguori
2012-11-26 14:37     ` Peter Maydell
2012-11-26 16:59       ` Anthony Liguori [this message]
2012-11-29 12:37         ` Konrad Frederic
2012-11-29 13:09           ` Peter Maydell
2012-11-29 13:47             ` Konrad Frederic
2012-11-29 13:53               ` Peter Maydell
2012-11-29 13:55               ` Andreas Färber
2012-11-29 14:28                 ` Konrad Frederic
2012-11-29 13:52           ` Anthony Liguori
2012-11-26 14:45     ` Andreas Färber
2012-11-26 16:55       ` Anthony Liguori
2012-11-26 15:33     ` Konrad Frederic
2012-11-26 15:40     ` Stefan Hajnoczi
2012-11-22 14:50 ` [Qemu-devel] [RFC PATCH v2 2/3] virtio-pci : add a virtio-bus interface fred.konrad
2012-11-23 12:11   ` Cornelia Huck
2012-11-23 12:29   ` Stefan Hajnoczi
2012-11-23 12:34     ` Peter Maydell
2012-11-23 14:23       ` Konrad Frederic
2012-11-23 14:26         ` Peter Maydell
2012-11-23 14:33           ` Konrad Frederic
2012-11-26 14:43   ` Anthony Liguori
2012-11-22 14:50 ` [Qemu-devel] [RFC PATCH v2 3/3] virtio-blk : add the virtio-blk device fred.konrad
2012-11-23 12:32   ` Stefan Hajnoczi
2012-11-22 15:08 ` [Qemu-devel] [RFC PATCH v2 0/3] Virtio-refactoring Peter Maydell
2012-11-22 15:15   ` KONRAD Frédéric
2012-11-23 12:38 ` Stefan Hajnoczi
2012-11-23 14:29   ` Konrad Frederic
2012-11-23 16:18     ` Stefan Hajnoczi
2012-11-26  9:00       ` Konrad Frederic

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=877gp8pafv.fsf@codemonkey.ws \
    --to=aliguori@us.ibm.com \
    --cc=afaerber@suse.de \
    --cc=cornelia.huck@de.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 \
    --cc=stefanha@redhat.com \
    /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.