All of lore.kernel.org
 help / color / mirror / Atom feed
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

      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 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.