[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 05/12] qdev-core: isolate vmstate handling into
From: |
Anthony Liguori |
Subject: |
Re: [Qemu-devel] [PATCH 05/12] qdev-core: isolate vmstate handling into separate functions |
Date: |
Wed, 17 Oct 2012 13:06:51 -0500 |
User-agent: |
Notmuch/0.13.2+93~ged93d79 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) |
Eduardo Habkost <address@hidden> writes:
> Those functions will eventually be moved somewhere else, and won't get
> included on *-user.
>
> Signed-off-by: Eduardo Habkost <address@hidden>
> ---
> hw/qdev-core.c | 26 ++++++++++++++++++--------
> 1 file changed, 18 insertions(+), 8 deletions(-)
>
> diff --git a/hw/qdev-core.c b/hw/qdev-core.c
> index ee19dd5..92c3021 100644
> --- a/hw/qdev-core.c
> +++ b/hw/qdev-core.c
> @@ -40,6 +40,22 @@ const VMStateDescription *qdev_get_vmsd(DeviceState *dev)
> return dc->vmsd;
> }
>
> +static void qdev_init_vmstate(DeviceState *dev)
> +{
> + if (qdev_get_vmsd(dev)) {
> + vmstate_register_with_alias_id(dev, -1, qdev_get_vmsd(dev), dev,
> + dev->instance_id_alias,
> + dev->alias_required_for_version);
> + }
> +}
> +
> +static void qdev_finalize_vmstate(DeviceState *dev)
> +{
> + if (qdev_get_vmsd(dev)) {
> + vmstate_unregister(dev, qdev_get_vmsd(dev), dev);
> + }
> +}
> +
You're stubbing at the wrong level. The place to implement stubs ought
to be vmstate_register/vmstate_unregister.
Regards,
Anthony Liguori
> const char *qdev_fw_name(DeviceState *dev)
> {
> DeviceClass *dc = DEVICE_GET_CLASS(dev);
> @@ -126,11 +142,7 @@ int qdev_init(DeviceState *dev)
> g_free(name);
> }
>
> - if (qdev_get_vmsd(dev)) {
> - vmstate_register_with_alias_id(dev, -1, qdev_get_vmsd(dev), dev,
> - dev->instance_id_alias,
> - dev->alias_required_for_version);
> - }
> + qdev_init_vmstate(dev);
> dev->state = DEV_STATE_INITIALIZED;
> if (dev->hotplugged) {
> device_reset(dev);
> @@ -615,9 +627,7 @@ static void device_finalize(Object *obj)
> bus = QLIST_FIRST(&dev->child_bus);
> qbus_free(bus);
> }
> - if (qdev_get_vmsd(dev)) {
> - vmstate_unregister(dev, qdev_get_vmsd(dev), dev);
> - }
> + qdev_finalize_vmstate(dev);
> if (dc->exit) {
> dc->exit(dev);
> }
> --
> 1.7.11.7
- [Qemu-devel] [PATCH 00/12] make CPU child of DeviceState and include qdev core in *-user, Eduardo Habkost, 2012/10/16
- [Qemu-devel] [PATCH 02/12] qapi-types.h doesn't really need to include qemu-common.h, Eduardo Habkost, 2012/10/16
- [Qemu-devel] [PATCH 06/12] qdev: move vmstate handling to qdev-system.c, Eduardo Habkost, 2012/10/16
- [Qemu-devel] [PATCH 10/12] qdev: use full qdev.h include path on qdev*.c, Eduardo Habkost, 2012/10/16
- [Qemu-devel] [PATCH 07/12] qdev-core: isolate reset register/unregister code, Eduardo Habkost, 2012/10/16
- [Qemu-devel] [PATCH 08/12] qdev: move reset register/unregister code to qdev-system.c, Eduardo Habkost, 2012/10/16
- [Qemu-devel] [PATCH 05/12] qdev-core: isolate vmstate handling into separate functions, Eduardo Habkost, 2012/10/16
- Re: [Qemu-devel] [PATCH 05/12] qdev-core: isolate vmstate handling into separate functions,
Anthony Liguori <=
- [Qemu-devel] [PATCH 09/12] move qemu_irq typedef out of cpu-common.h, Eduardo Habkost, 2012/10/16
- [Qemu-devel] [PATCH 12/12] qom: make CPU a child of DeviceState, Eduardo Habkost, 2012/10/16
- [Qemu-devel] [PATCH 04/12] qdev: rename qdev.c to qdev-core.c, Eduardo Habkost, 2012/10/16
- [Qemu-devel] [PATCH 03/12] qdev: separate core from the code used only by qemu-system-*, Eduardo Habkost, 2012/10/16
- [Qemu-devel] [PATCH 01/12] qdev: split up header so it can be used in cpu.h, Eduardo Habkost, 2012/10/16
- [Qemu-devel] [PATCH 11/12] include core qdev code into *-user, too, Eduardo Habkost, 2012/10/16