Message ID | 20220120151609.433555-1-peter.maydell@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | hw/armv7m: Fix broken VMStateDescription | expand |
On Thu, 20 Jan 2022, Peter Maydell wrote: > In commit d5093d961585f02 we added a VMStateDescription to > the TYPE_ARMV7M object, to handle migration of its Clocks. > However a cut-and-paste error meant we used the wrong struct > name in the VMSTATE_CLOCK() macro arguments. The result was > that attempting a 'savevm' might result in an assertion > failure. > > Cc: qemu-stable@nongnu.org > Buglink: https://gitlab.com/qemu-project/qemu/-/issues/803 > Fixes: d5093d961585f02 > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Ani Sinha <ani@anisinha.ca> > --- > It's a shame there's no way to type-check that the struct > name used in the VMSTATE macros is correct... > --- > hw/arm/armv7m.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/arm/armv7m.c b/hw/arm/armv7m.c > index 8d08db80be8..ceb76df3cd4 100644 > --- a/hw/arm/armv7m.c > +++ b/hw/arm/armv7m.c > @@ -520,8 +520,8 @@ static const VMStateDescription vmstate_armv7m = { > .version_id = 1, > .minimum_version_id = 1, > .fields = (VMStateField[]) { > - VMSTATE_CLOCK(refclk, SysTickState), > - VMSTATE_CLOCK(cpuclk, SysTickState), > + VMSTATE_CLOCK(refclk, ARMv7MState), > + VMSTATE_CLOCK(cpuclk, ARMv7MState), > VMSTATE_END_OF_LIST() > } > }; > -- > 2.25.1 > > >
Peter Maydell <peter.maydell@linaro.org> writes: > In commit d5093d961585f02 we added a VMStateDescription to > the TYPE_ARMV7M object, to handle migration of its Clocks. > However a cut-and-paste error meant we used the wrong struct > name in the VMSTATE_CLOCK() macro arguments. The result was > that attempting a 'savevm' might result in an assertion > failure. > > Cc: qemu-stable@nongnu.org > Buglink: https://gitlab.com/qemu-project/qemu/-/issues/803 > Fixes: d5093d961585f02 > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
On 20/1/22 16:16, Peter Maydell wrote: > In commit d5093d961585f02 we added a VMStateDescription to > the TYPE_ARMV7M object, to handle migration of its Clocks. > However a cut-and-paste error meant we used the wrong struct > name in the VMSTATE_CLOCK() macro arguments. The result was > that attempting a 'savevm' might result in an assertion > failure. > > Cc: qemu-stable@nongnu.org > Buglink: https://gitlab.com/qemu-project/qemu/-/issues/803 > Fixes: d5093d961585f02 > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > It's a shame there's no way to type-check that the struct > name used in the VMSTATE macros is correct... > --- > hw/arm/armv7m.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
diff --git a/hw/arm/armv7m.c b/hw/arm/armv7m.c index 8d08db80be8..ceb76df3cd4 100644 --- a/hw/arm/armv7m.c +++ b/hw/arm/armv7m.c @@ -520,8 +520,8 @@ static const VMStateDescription vmstate_armv7m = { .version_id = 1, .minimum_version_id = 1, .fields = (VMStateField[]) { - VMSTATE_CLOCK(refclk, SysTickState), - VMSTATE_CLOCK(cpuclk, SysTickState), + VMSTATE_CLOCK(refclk, ARMv7MState), + VMSTATE_CLOCK(cpuclk, ARMv7MState), VMSTATE_END_OF_LIST() } };
In commit d5093d961585f02 we added a VMStateDescription to the TYPE_ARMV7M object, to handle migration of its Clocks. However a cut-and-paste error meant we used the wrong struct name in the VMSTATE_CLOCK() macro arguments. The result was that attempting a 'savevm' might result in an assertion failure. Cc: qemu-stable@nongnu.org Buglink: https://gitlab.com/qemu-project/qemu/-/issues/803 Fixes: d5093d961585f02 Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- It's a shame there's no way to type-check that the struct name used in the VMSTATE macros is correct... --- hw/arm/armv7m.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)