This is a proof-of-concept after chatting with Peter Maydell on IRC earlier.
Introduce the vmstate_no_state_to_migrate structure, and a reference to it: vmstate_qdev_no_state_to_migrate. Use this reference in devices with no fields to migrate. This is useful to catch devices missing vmstate, such: - ads7846 - mcf-uart - mcf-fec - versatile_i2c - ... I am not sure about: - gpex-pcihost Philippe Mathieu-Daudé (18): migration/vmstate: Document vmstate_dummy migration/vmstate: Introduce vmstate_no_state_to_migrate hw/core/qdev: Add vmstate_qdev_no_state_to_migrate hw/arm/armv7m: Mark the device with no migratable fields hw/arm/aspeed_soc: Mark the device with no migratable fields hw/arm/bcm283x: Mark devices with no migratable fields hw/arm/msf2-soc: Mark the device with no migratable fields hw/core/split-irq: Mark the device with no migratable fields hw/cpu/a9mpcore: Mark the device with no migratable fields hw/cpu/cluster: Mark the device with no migratable fields hw/usb/hcd-ohci: Mark the device with no migratable fields hw/intc/arm_gicv2m: Mark the device with no migratable fields hw/misc/armsse-cpuid: Mark the device with no migratable fields hw/misc/iotkit-sysinfo: Mark the device with no migratable fields hw/misc/unimp: Mark the device with no migratable fields hw/nubus/mac-nubus-bridge: Mark the device with no migratable fields hw/sparc64/sun4u: Mark devices with no migratable fields hw/core/qdev: Display warning for devices missing migration state configure | 9 +++++++++ hw/usb/hcd-ohci.h | 2 ++ include/hw/arm/bcm2836.h | 7 ++++--- include/hw/arm/msf2-soc.h | 11 ++++++----- include/hw/cpu/a9mpcore.h | 3 ++- include/hw/qdev-core.h | 2 ++ include/migration/vmstate.h | 3 ++- hw/arm/armv7m.c | 1 + hw/arm/aspeed_soc.c | 1 + hw/arm/bcm2835_peripherals.c | 1 + hw/arm/bcm2836.c | 1 + hw/arm/msf2-soc.c | 1 + hw/core/qdev.c | 8 ++++++++ hw/core/split-irq.c | 1 + hw/cpu/a9mpcore.c | 1 + hw/cpu/cluster.c | 1 + hw/intc/arm_gicv2m.c | 2 ++ hw/misc/armsse-cpuid.c | 1 + hw/misc/iotkit-sysinfo.c | 1 + hw/misc/unimp.c | 1 + hw/nubus/mac-nubus-bridge.c | 1 + hw/sparc64/sun4u.c | 7 ++++++- hw/usb/hcd-ohci.c | 1 + migration/vmstate.c | 7 +++++++ 24 files changed, 63 insertions(+), 11 deletions(-) -- 2.21.3