qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 2/3] Clean up upcast from PCIDevice to	I6300State
Date: Mon, 24 Aug 2009 17:07:25 +0200	[thread overview]
Message-ID: <4A92ACAD.8040202@redhat.com> (raw)
In-Reply-To: <8763cdpbqd.fsf@pike.pond.sub.org>

   Hi,

> play.  However, the *next* commit (conversion to qdev) is wrong if qdev
> requires the PCIDevice at offset zero (not obvious to me, document it?).

qdev_create() allocates DeviceInfo->size bytes for you and assumes 
DeviceState starts at offset zero of your FooDeviceState.  I think that 
is the only place though.

Could probably be relaxed by adding a offset field to DeviceInfo, but I 
don't think that buys us much, so unless there is some real need I'd 
just go with the "DeviceState must be first" convention.

It also could be that there is some old code which does casts instead of 
using DO_UPCAST, especially for PCI because PCIDevice predates qdev. 
That I'd consider a bug though.

cheers,
   Gerd

  reply	other threads:[~2009-08-24 15:07 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-21  8:31 [Qemu-devel] [PATCH 0/3] qdev: clean up & convert watchdogs Markus Armbruster
2009-08-21  8:31 ` [Qemu-devel] [PATCH 1/3] Move watchdog, watchdog_action, give them internal linkage Markus Armbruster
2009-08-21  8:31 ` [Qemu-devel] [PATCH 2/3] Clean up upcast from PCIDevice to I6300State Markus Armbruster
     [not found]   ` <m3ws4xt7up.fsf@neno.mitica>
2009-08-24  8:49     ` [Qemu-devel] container_of() vs DO_UPCAST() (was: [PATCH 2/3] Clean up upcast from PCIDevice to I6300State) Markus Armbruster
2009-08-24 11:55       ` Paul Brook
2009-08-24 11:59   ` [Qemu-devel] [PATCH 2/3] Clean up upcast from PCIDevice to I6300State Paul Brook
2009-08-24 13:44     ` Markus Armbruster
2009-08-24 15:07       ` Gerd Hoffmann [this message]
2009-08-21  8:31 ` [Qemu-devel] [PATCH 3/3] qdev: convert watchdogs Markus Armbruster
2009-08-21 13:07   ` Gerd Hoffmann
2009-08-24  9:05     ` Immutable qdev properties (was: [Qemu-devel] [PATCH 3/3] qdev: convert watchdogs) Markus Armbruster
2009-08-24 12:25       ` [Qemu-devel] Re: Immutable qdev properties Gerd Hoffmann
2009-08-24 13:04         ` Markus Armbruster

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=4A92ACAD.8040202@redhat.com \
    --to=kraxel@redhat.com \
    --cc=armbru@redhat.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).