graphic: 0.839 vnc: 0.780 other: 0.769 device: 0.680 network: 0.584 performance: 0.550 semantic: 0.515 permissions: 0.340 files: 0.315 debug: 0.308 PID: 0.299 socket: 0.192 boot: 0.131 KVM: 0.079 v6.2.0 armv7m: savevm fails assertion Description of problem: Trying to take a snapshot on some arm machines just fails an assertion, while some work fine. e.g. mps2-an385 and stm32vldiscovery don't work, while e.g. raspi0 does. ``` $ build/qemu-system-arm -machine mps2-an385 -monitor stdio -drive file=dummy.qcow2 -S QEMU 6.1.50 monitor - type 'help' for more information (qemu) VNC server running on ::1:5900 savevm test qemu-system-arm: ../migration/vmstate.c:363: vmstate_save_state_v: Assertion `first_elem || !n_elems || !size' failed. [1] 631940 IOT instruction (core dumped) build/qemu-system-arm -machine mps2-an385 -monitor stdio -drive -S ``` This happens with or without a kernel (so -S is optional, if a kernel is present). Steps to reproduce: 1. Create some image for snapshots (once): ``qemu-img create -f qcow2 dummy.qcow2 32M`` 2. ``qemu-system-arm -machine mps2-an385 -monitor stdio -drive file=dummy.qcow2 -S`` 3. In monitor: ``savevm something`` Additional information: Bisect indicates the Problem first presented itself in commit d5093d961585f02126191951ded9b90dbc52883b by @pm215. This led me to test stm32vldiscovery, which also includes armv7m.h and fails, while some others don't.