Hi Cedric,
> Subject: Re: [PATCH v2 01/18] aspeed/smc: Fix write incorrect data into flash
> in
> user mode
>
> >>
> >> static const VMStateDescription vmstate_aspeed_smc = {
> >> .name = "aspeed.smc",
> >> - .version_id = 2,
> >> + .version_id = 3,
> >> .minimum_version_id = 2,
> >> .fields = (const VMStateField[]) {
> >> VMSTATE_UINT32_ARRAY(regs, AspeedSMCState,
> ASPEED_SMC_R_MAX),
> >> VMSTATE_UINT8(snoop_index, AspeedSMCState),
> >> VMSTATE_UINT8(snoop_dummies, AspeedSMCState),
> >> + VMSTATE_BOOL(unselect, AspeedSMCState),
> >> VMSTATE_END_OF_LIST()
> >> }
> >> };
> >
> > I think this will break migration compatibility. In order to enable at
> > least forward migration, it should be:
> >
> > VMSTATE_BOOL_V(unselect, AspeedSMCState, 3),
>
> This is correct. I will fix the patch.
>
If I need to re-send v3 patch, I will fix it.
Thanks for help.
Jamin
> Some background,
>
> The aspeed machines are fully emulated and the Aspeed SoC models are not
> part of any virt* machines (yet). So migration support is a bit of a theory.
> We
> have done our best to maintain some support, compatibility not being a
> priority. IOW, it's not perfectly tuned as on virt machines.
>
> Also, on ARM, migration of the CPU secure mode (I think this is the reason,
> Peter please correct me !) is not supported and if migration is initiated
> after
> Linux has started, the machine will hang.
>
> However, if one day, an aspeed model becomes part of a virt machine, we
> should be more careful. I would start by resetting all vmstate versions to 1!
>
> Thanks,
>
> C.
>
>
>
> >
> > For allowing backwards migration, too, we should consider making it a
> > subsection instead that allows migration in the default case of an
> > idle device.
> >
> > Kevin
> >