From: "Andreas Färber" <afaerber@suse.de>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
Riku Voipio <riku.voipio@iki.fi>,
qemu-devel@nongnu.org, Anthony Liguori <anthony@codemonkey.ws>,
Paolo Bonzini <pbonzini@redhat.com>,
Igor Mammedov <imammedo@redhat.com>
Subject: Re: [Qemu-devel] [RFC 0/8] CPU DeviceState v9
Date: Wed, 05 Dec 2012 15:50:47 +0100 [thread overview]
Message-ID: <50BF5F47.6000104@suse.de> (raw)
In-Reply-To: <20121204164047.GL4255@otherpad.lan.raisama.net>
Am 04.12.2012 17:40, schrieb Eduardo Habkost:
> On Tue, Dec 04, 2012 at 04:59:38PM +0100, Andreas Färber wrote:
>> Am 04.12.2012 14:19, schrieb Eduardo Habkost:
>>> Changes on v9:
>>> - Instead of moving qemu_[un]register_reset() to reset.c and including
>>> it on *-user, create stubs for them on libqemustub.a
>>
>> We compile cpu.c twice. Can't we do the same for qdev.c or whatever uses
>> those functions? I feel they have no business being used in *-user.
>> CC'ing Riku and Peter.
>
> I don't understand what exactly you are suggesting. You suggest adding
> #ifdefs to qdev.c to compile out the qemu_[un]register_reset() calls?
Yes, that was my thought. It would've spared us the include troubles in
stubs/ for now. ;)
Andreas
> I had a version of this series that did exactly that[1], but IIRC
> somebody suggested using stub functions instead. And I agree with
> whoever suggested it, I believe stub functions are cleaner when the the
> stub version still have the semantics expected by the caller[2].
>
> [1] http://article.gmane.org/gmane.comp.emulators.xen.devel/137686
> [2] e.g. a no-op qemu_register_reset() still does the job it's supposed
> to do (making sure a function to be called when qemu_devices_reset()
> is called), if we know qemu_devices_reset() is never called.
>
>
>>
>> Andreas
>>
>>> - This is based on afaerber's qom-cpu branch, that has some header cleanup
>>> changes. You can get the complete series in a git tree at:
>>> https://github.com/ehabkost/qemu-hacks/tree/cpu_qdev.v9
>>> git://github.com/ehabkost/qemu-hacks.git cpu_qdev.v9
>>>
>>> v8:
>>> - Use a simpler copyright header on qdev-properties-system.c
>>> - Use the new libqemustub.a mechanism instead of the (now exting)
>>> QEMU_WEAK_ALIAS mechanism
>>> - Move the reset-handler registration code to a new hw/reset.c file
>>>
>>> v7:
>>> - Use the new QEMU_WEAK_ALIAS mechanism instead of the (now extinct)
>>> GCC_WEAK attribute (patches 20 and 21)
>>>
>>> v6:
>>> - Simple rebase against latest qemu.git master
>>> - Patch 13: some new typedefs were added and others were removed
>>> - Patch 19: trivial rebase
>>> v5:
>>> - Tons of header cleanups just to eliminate qlist.h <-> cpu-common.h circular
>>> dependency (patches 1-17)
>>> - Add copyright/license information to qdev-properties.c (patch 17)
>>> - Add copyright/license information to qdev-properties-system.c (patch 22)
>>> - use error_report()+abort() instead of hw_error() on qdev.c (patch 18)
>>> - Move qemu_[un]register_reset() and qemu_devices_reset() to qdev-core.c
>>> (patch 19)
>>> - Make vmstate_[un]register() weak stubs, instead of a new function (patch 20)
>>> - Make sysbus_get_default() weak stub, instead of new qbus reset (un)register
>>> functions (patch 21)
>>> - Eliminate qdev-system.c (all code is kept on qdev.c, now) (patch 22)
>>> v4:
>>> - Add GCC_WEAK_DECL to functions that have GCC_WEAK versions
>>> - Updated the qdev_init_gpio_in() code on qdev-system.c to current version
>>> - Patch description updates (moved changelog below "---" and/or move info
>>> about changes made by different authors between SoB lines)
>>> v3 (submitted by Igor):
>>> - rebased on top of 8b4a3df (today's master)
>>> - slight code reshuffling in (see commit's changelog)
>>> "qdev: separate core from the code used only by qemu-system-*"
>>> "move qemu_irq typedef out of cpu-common.h"
>>> - commit messages cleanup
>>> v2:
>>> Removes the CONFIG_USER_ONLY ifdefs, and use weak symbols to move
>>> the vmstate and qemu_register_reset() handling to qdev-system.c
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
prev parent reply other threads:[~2012-12-05 14:50 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-04 13:19 [Qemu-devel] [RFC 0/8] CPU DeviceState v9 Eduardo Habkost
2012-12-04 13:19 ` [Qemu-devel] [RFC 1/8] move -I$(SRC_PATH)/include compiler flag to Makefile.objs Eduardo Habkost
2012-12-04 16:03 ` Andreas Färber
2012-12-04 16:22 ` Eduardo Habkost
2012-12-04 13:19 ` [Qemu-devel] [RFC 2/8] qdev: qdev_create(): use error_report() instead of hw_error() Eduardo Habkost
2012-12-04 16:12 ` Andreas Färber
2012-12-04 13:19 ` [Qemu-devel] [RFC 3/8] libqemustub: add qemu_[un]register_reset() stubs Eduardo Habkost
2012-12-04 13:19 ` [Qemu-devel] [RFC 4/8] libqemustub: vmstate register/unregister stubs Eduardo Habkost
2012-12-04 13:19 ` [Qemu-devel] [RFC 5/8] libqemustub: sysbus_get_default() stub Eduardo Habkost
2012-12-04 13:19 ` [Qemu-devel] [RFC 6/8] qdev-properties.c: separate core from the code used only by qemu-system-* Eduardo Habkost
2012-12-04 18:55 ` Blue Swirl
2012-12-04 19:01 ` Eduardo Habkost
2012-12-04 19:04 ` Blue Swirl
2012-12-04 19:05 ` Andreas Färber
2012-12-04 19:13 ` Eduardo Habkost
2012-12-04 13:19 ` [Qemu-devel] [RFC 7/8] include qdev code into *-user, too Eduardo Habkost
2012-12-04 13:19 ` [Qemu-devel] [RFC 8/8] qom: make CPU a child of DeviceState Eduardo Habkost
2012-12-05 14:48 ` Andreas Färber
2012-12-05 15:52 ` Eduardo Habkost
2012-12-04 15:59 ` [Qemu-devel] [RFC 0/8] CPU DeviceState v9 Andreas Färber
2012-12-04 16:40 ` Eduardo Habkost
2012-12-05 14:50 ` Andreas Färber [this message]
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=50BF5F47.6000104@suse.de \
--to=afaerber@suse.de \
--cc=anthony@codemonkey.ws \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=riku.voipio@iki.fi \
/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).