[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH v3 4/5] xics: directly register ICPState objects t
From: |
David Gibson |
Subject: |
Re: [Qemu-ppc] [PATCH v3 4/5] xics: directly register ICPState objects to vmstate |
Date: |
Thu, 8 Jun 2017 13:59:21 +1000 |
User-agent: |
Mutt/1.8.0 (2017-02-23) |
On Wed, Jun 07, 2017 at 07:17:17PM +0200, Greg Kurz wrote:
> The ICPState objects are currently registered to vmstate as qdev objects.
> Their instance ids are hence computed automatically in the migration code,
> and thus depends on the order the CPU cores were plugged.
>
> If the destination had its CPU cores plugged in a different order than the
> source, then ICPState objects will have different instance_ids and load
> the wrong state.
>
> Since CPU objects have a reliable cpu_index which is already used as
> instance_id in vmstate, let's use it for ICPState as well.
>
> Signed-off-by: Greg Kurz <address@hidden>
> ---
> hw/intc/xics.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
So, this is definitely a good idea w.r.t. future compatibility. But,
won't it break migration compat as a once off, since the devices will
be found under their new id instead of the qdev id?
>
> diff --git a/hw/intc/xics.c b/hw/intc/xics.c
> index 330441ff7fe8..3d76b43876c5 100644
> --- a/hw/intc/xics.c
> +++ b/hw/intc/xics.c
> @@ -348,10 +348,14 @@ static void icp_realize(DeviceState *dev, Error **errp)
> }
>
> qemu_register_reset(icp_reset, dev);
> + vmstate_register(NULL, icp->cs->cpu_index, &vmstate_icp_server, icp);
> }
>
> static void icp_unrealize(DeviceState *dev, Error **errp)
> {
> + ICPState *icp = ICP(dev);
> +
> + vmstate_unregister(NULL, &vmstate_icp_server, icp);
> qemu_unregister_reset(icp_reset, dev);
> }
>
> @@ -359,7 +363,6 @@ static void icp_class_init(ObjectClass *klass, void *data)
> {
> DeviceClass *dc = DEVICE_CLASS(klass);
>
> - dc->vmsd = &vmstate_icp_server;
> dc->realize = icp_realize;
> dc->unrealize = icp_unrealize;
> }
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
- Re: [Qemu-ppc] [PATCH v3 3/5] xics: setup cpu at realize time, (continued)
- Re: [Qemu-ppc] [PATCH v3 3/5] xics: setup cpu at realize time, David Gibson, 2017/06/07
- Re: [Qemu-ppc] [PATCH v3 3/5] xics: setup cpu at realize time, Greg Kurz, 2017/06/08
- Re: [Qemu-ppc] [PATCH v3 3/5] xics: setup cpu at realize time, Cédric Le Goater, 2017/06/08
- Re: [Qemu-ppc] [PATCH v3 3/5] xics: setup cpu at realize time, David Gibson, 2017/06/08
- Re: [Qemu-ppc] [PATCH v3 3/5] xics: setup cpu at realize time, Greg Kurz, 2017/06/09
- Re: [Qemu-ppc] [PATCH v3 3/5] xics: setup cpu at realize time, David Gibson, 2017/06/09
[Qemu-ppc] [PATCH v3 4/5] xics: directly register ICPState objects to vmstate, Greg Kurz, 2017/06/07
[Qemu-ppc] [PATCH v3 5/5] spapr: fix migration of ICPState objects from/to older QEMU, Greg Kurz, 2017/06/07
- Re: [Qemu-ppc] [PATCH v3 5/5] spapr: fix migration of ICPState objects from/to older QEMU, David Gibson, 2017/06/08
- Re: [Qemu-ppc] [PATCH v3 5/5] spapr: fix migration of ICPState objects from/to older QEMU, Greg Kurz, 2017/06/08
- Re: [Qemu-ppc] [PATCH v3 5/5] spapr: fix migration of ICPState objects from/to older QEMU, David Gibson, 2017/06/12
- Re: [Qemu-ppc] [PATCH v3 5/5] spapr: fix migration of ICPState objects from/to older QEMU, Greg Kurz, 2017/06/13
- Re: [Qemu-ppc] [PATCH v3 5/5] spapr: fix migration of ICPState objects from/to older QEMU, David Gibson, 2017/06/13
- Re: [Qemu-ppc] [PATCH v3 5/5] spapr: fix migration of ICPState objects from/to older QEMU, Greg Kurz, 2017/06/13
- Re: [Qemu-ppc] [PATCH v3 5/5] spapr: fix migration of ICPState objects from/to older QEMU, Dr. David Alan Gilbert, 2017/06/13
- Re: [Qemu-ppc] [PATCH v3 5/5] spapr: fix migration of ICPState objects from/to older QEMU, Greg Kurz, 2017/06/13