From: Anthony Liguori <anthony@codemonkey.ws>
To: Eduardo Habkost <ehabkost@redhat.com>, qemu-devel@nongnu.org
Cc: "Igor Mammedov" <imammedo@redhat.com>,
"Andreas Färber" <afaerber@suse.de>,
"Paolo Bonzini" <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] [RFC 09/13] qdev: move reset register/unregister code to qdev-system.c
Date: Tue, 16 Oct 2012 09:13:23 -0500 [thread overview]
Message-ID: <87391efqt8.fsf@codemonkey.ws> (raw)
In-Reply-To: <1349378133-25644-10-git-send-email-ehabkost@redhat.com>
Eduardo Habkost <ehabkost@redhat.com> writes:
> Also, add weak symbols that will be used if qdev-system.o is not
> compiled in (i.e. on *-user).
>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> hw/qdev-core.c | 16 +++++++---------
> hw/qdev-core.h | 3 +++
> hw/qdev-system.c | 15 +++++++++++++++
> 3 files changed, 25 insertions(+), 9 deletions(-)
>
> diff --git a/hw/qdev-core.c b/hw/qdev-core.c
> index 1b45e51..46ab239 100644
> --- a/hw/qdev-core.c
> +++ b/hw/qdev-core.c
> @@ -47,19 +47,17 @@ void GCC_WEAK qdev_finalize_vmstate(DeviceState *dev)
> {
> }
>
> -static void qbus_register_reset(BusState *bus)
> +/* reset handler register/unregister:
> + *
> + * The real implementations are on qdev-system.c. Those are weak symbols
> + * used by *-user.
> + */
> +void GCC_WEAK qbus_register_reset(BusState *bus)
> {
> - if (bus != sysbus_get_default()) {
> - /* TODO: once all bus devices are qdevified,
> - only reset handler for main_system_bus should be registered here. */
> - qemu_register_reset(qbus_reset_all_fn, bus);
> - }
> }
>
> -static void qbus_unregister_reset(BusState *bus)
> +void GCC_WEAK qbus_unregister_reset(BusState *bus)
> {
> - assert(bus != sysbus_get_default()); /* main_system_bus is never freed */
> - qemu_unregister_reset(qbus_reset_all_fn, bus);
> }
>
> const char *qdev_fw_name(DeviceState *dev)
> diff --git a/hw/qdev-core.h b/hw/qdev-core.h
> index e9b6d6d..e10021d 100644
> --- a/hw/qdev-core.h
> +++ b/hw/qdev-core.h
> @@ -228,6 +228,9 @@ const struct VMStateDescription *qdev_get_vmsd(DeviceState *dev);
> void qdev_init_vmstate(DeviceState *dev);
> void qdev_finalize_vmstate(DeviceState *dev);
>
> +void qbus_register_reset(BusState *bus);
> +void qbus_unregister_reset(BusState *bus);
You also need to use GCC_WEAK_DECL here.
Regards,
Anthony Liguori
> +
> const char *qdev_fw_name(DeviceState *dev);
>
> Object *qdev_get_machine(void);
> diff --git a/hw/qdev-system.c b/hw/qdev-system.c
> index b4d40e8..eca5fd5 100644
> --- a/hw/qdev-system.c
> +++ b/hw/qdev-system.c
> @@ -113,3 +113,18 @@ void qdev_finalize_vmstate(DeviceState *dev)
> vmstate_unregister(dev, qdev_get_vmsd(dev), dev);
> }
> }
> +
> +void qbus_register_reset(BusState *bus)
> +{
> + if (bus != sysbus_get_default()) {
> + /* TODO: once all bus devices are qdevified,
> + only reset handler for main_system_bus should be registered here. */
> + qemu_register_reset(qbus_reset_all_fn, bus);
> + }
> +}
> +
> +void qbus_unregister_reset(BusState *bus)
> +{
> + assert(bus != sysbus_get_default()); /* main_system_bus is never freed */
> + qemu_unregister_reset(qbus_reset_all_fn, bus);
> +}
> --
> 1.7.11.4
next prev parent reply other threads:[~2012-10-16 14:13 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-04 19:15 [Qemu-devel] [RFC v2 00/13] include qdev core in *-user, make CPU child of DeviceState Eduardo Habkost
2012-10-04 19:15 ` [Qemu-trivial] [RFC 01/13] qdev: kill bogus comment Eduardo Habkost
2012-10-04 19:15 ` [Qemu-devel] " Eduardo Habkost
2012-10-05 13:49 ` [Qemu-trivial] " Stefan Hajnoczi
2012-10-05 13:49 ` [Qemu-devel] " Stefan Hajnoczi
2012-10-04 19:15 ` [Qemu-devel] [RFC 02/13] qdev: split up header so it can be used in cpu.h Eduardo Habkost
2012-10-16 0:01 ` Andreas Färber
2012-10-04 19:15 ` [Qemu-devel] [RFC 03/13] qapi-types.h doesn't really need to include qemu-common.h Eduardo Habkost
2012-10-04 19:15 ` [Qemu-devel] [RFC 04/13] qdev: separate core from the code used only by qemu-system-* Eduardo Habkost
2012-10-04 19:15 ` [Qemu-devel] [RFC 05/13] qdev: rename qdev.c to qdev-core.c Eduardo Habkost
2012-10-04 19:15 ` [Qemu-devel] [RFC 06/13] qdev-core: isolate vmstate handling into separate functions Eduardo Habkost
2012-10-04 19:15 ` [Qemu-devel] [RFC 07/13] qdev: move vmstate handling to qdev-system.c Eduardo Habkost
2012-10-04 19:15 ` [Qemu-devel] [RFC 08/13] qdev-core: isolate reset register/unregister code Eduardo Habkost
2012-10-04 19:15 ` [Qemu-devel] [RFC 09/13] qdev: move reset register/unregister code to qdev-system.c Eduardo Habkost
2012-10-16 14:13 ` Anthony Liguori [this message]
2012-10-04 19:15 ` [Qemu-devel] [RFC 10/13] move qemu_irq typedef out of cpu-common.h Eduardo Habkost
2012-10-04 20:20 ` Peter Maydell
2012-10-04 19:15 ` [Qemu-devel] [RFC 11/13] qdev: use full qdev.h include path on qdev*.c Eduardo Habkost
2012-10-04 19:15 ` [Qemu-devel] [RFC 12/13] include core qdev code into *-user, too Eduardo Habkost
2012-10-04 19:15 ` [Qemu-devel] [RFC 13/13] make CPU a child of DeviceState Eduardo Habkost
2012-10-09 14:43 ` Peter Crosthwaite
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=87391efqt8.fsf@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=afaerber@suse.de \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=pbonzini@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 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.