All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH for-1.2 v5 14/14] pci: Tidy up PCI host bridges
Date: Mon, 13 Aug 2012 19:57:09 +0100	[thread overview]
Message-ID: <50294E05.101@ilande.co.uk> (raw)
In-Reply-To: <87obme5135.fsf@codemonkey.ws>

On 13/08/12 15:16, Anthony Liguori wrote:

> I understand what your objection is but it's unreasonable IMHO.  The
> purpose of QOM is to bring consistency across large swaths of code in
> QEMU that have historically done things there own way.
>
> This means expressing concepts like inheritence and casting in the same
> way across the board.  The common way (the QOM way) is to make the
> parent type the first member of the struct (typically named parent or
> parent_obj) and then to use cast macros to upcast and downcast.
>
> This patch is 100% correct in that regard and I'm going to apply it once
> Andreas makes the change I requested.
>
> For my part, I'm long over due in writing up a device authoring style
> guide that I promised a few weeks ago.  I'll write that up this
> afternoon and send it out today.
>
> We can debate the merits of this sort of thing in the style guide.

Yes please! I've spent quite a fair bit of time over the past couple of 
weeks in this area, and have found the lack of documentation related to 
trying to create a new hardware device fairly frustrating. The hardest 
part is not the coding, but figuring which of the following I should be 
using out of:

qom
qdev
qmp
hmp
sysbus
VMState

(I think that half of these are now obsolete interfaces, but a general 
document which explains how these things are related and which ones I 
should be using would be very welcome)


ATB,

Mark.

  reply	other threads:[~2012-08-13 18:56 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-02  1:46 [Qemu-devel] [PATCH for-1.2 v5 00/14] pci_host: Convert to QOM Andreas Färber
2012-08-02  1:46 ` [Qemu-devel] [PATCH for-1.2 v5 01/14] pci: Make host bridge TypeInfos const Andreas Färber
2012-08-02  1:46 ` [Qemu-devel] [PATCH for-1.2 v5 02/14] alpha_typhoon: QOM'ify Typhoon PCI host bridge Andreas Färber
2012-08-02  1:46 ` [Qemu-devel] [PATCH for-1.2 v5 03/14] bonito: QOM'ify Bonito " Andreas Färber
2012-08-02  1:46 ` [Qemu-devel] [PATCH for-1.2 v5 04/14] dec_pci: QOM'ify DEC 21154 PCI-PCI bridge Andreas Färber
2012-08-02  1:46 ` [Qemu-devel] [PATCH for-1.2 v5 05/14] grackle_pci: QOM'ify Grackle PCI host bridge Andreas Färber
2012-08-02  1:46 ` [Qemu-devel] [PATCH for-1.2 v5 06/14] gt64xxx: QOM'ify GT64120 " Andreas Färber
2012-08-02  1:46 ` [Qemu-devel] [PATCH for-1.2 v5 07/14] ppc4xx_pci: QOM'ify ppc4xx " Andreas Färber
2012-08-02  1:47 ` [Qemu-devel] [PATCH for-1.2 v5 08/14] ppce500_pci: QOM'ify e500 " Andreas Färber
2012-08-02  1:47 ` [Qemu-devel] [PATCH for-1.2 v5 09/14] prep_pci: QOM'ify Raven " Andreas Färber
2012-08-02  1:47 ` [Qemu-devel] [PATCH for-1.2 v5 10/14] spapr_pci: QOM'ify sPAPR " Andreas Färber
2012-08-02  1:47 ` [Qemu-devel] [PATCH for-1.2 v5 11/14] unin_pci: QOM'ify UniNorth PCI host bridges Andreas Färber
2012-08-02  1:47 ` [Qemu-devel] [PATCH for-1.2 v5 12/14] pci_host: Turn into SysBus-derived QOM type Andreas Färber
2012-08-02  1:47 ` [Qemu-devel] [PATCH for-1.2 v5 13/14] pci: Derive PCI host bridges from TYPE_PCI_HOST_BRIDGE Andreas Färber
2012-08-02  1:47 ` [Qemu-devel] [PATCH for-1.2 v5 14/14] pci: Tidy up PCI host bridges Andreas Färber
2012-08-02  8:30   ` Michael S. Tsirkin
2012-08-13 13:14   ` Anthony Liguori
2012-08-13 13:32     ` Andreas Färber
2012-08-13 13:16   ` Michael S. Tsirkin
2012-08-13 14:16     ` Anthony Liguori
2012-08-13 18:57       ` Mark Cave-Ayland [this message]
2012-08-02  8:30 ` [Qemu-devel] [PATCH for-1.2 v5 00/14] pci_host: Convert to QOM Michael S. Tsirkin
2012-08-09 15:09   ` Andreas Färber
2012-08-13 12:27     ` 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=50294E05.101@ilande.co.uk \
    --to=mark.cave-ayland@ilande.co.uk \
    --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.