These devices don't have fields to migrate. Be explicit by using vmstate_qdev_no_state_to_migrate.
Add a more descriptive comment to keep a clear separation between static property vs runtime changeable. Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> --- include/hw/arm/bcm2836.h | 5 +++-- hw/arm/bcm2835_peripherals.c | 1 + hw/arm/bcm2836.c | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/include/hw/arm/bcm2836.h b/include/hw/arm/bcm2836.h index 6f90cabfa3a..becb6cfd0a7 100644 --- a/include/hw/arm/bcm2836.h +++ b/include/hw/arm/bcm2836.h @@ -35,13 +35,14 @@ struct BCM283XState { DeviceState parent_obj; /*< public >*/ - uint32_t enabled_cpus; - struct { ARMCPU core; } cpu[BCM283X_NCPUS]; BCM2836ControlState control; BCM2835PeripheralState peripherals; + + /* Properties */ + uint32_t enabled_cpus; }; #endif /* BCM2836_H */ diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c index dcff13433e5..8cf85f028fd 100644 --- a/hw/arm/bcm2835_peripherals.c +++ b/hw/arm/bcm2835_peripherals.c @@ -386,6 +386,7 @@ static void bcm2835_peripherals_class_init(ObjectClass *oc, void *data) DeviceClass *dc = DEVICE_CLASS(oc); dc->realize = bcm2835_peripherals_realize; + dc->vmsd = vmstate_qdev_no_state_to_migrate; } static const TypeInfo bcm2835_peripherals_type_info = { diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c index de7ade2878e..d2de99147cc 100644 --- a/hw/arm/bcm2836.c +++ b/hw/arm/bcm2836.c @@ -176,6 +176,7 @@ static void bcm283x_class_init(ObjectClass *oc, void *data) /* Reason: Must be wired up in code (see raspi_init() function) */ dc->user_creatable = false; + dc->vmsd = vmstate_qdev_no_state_to_migrate; } static void bcm2835_class_init(ObjectClass *oc, void *data) -- 2.26.2