@@ -33,14 +33,15 @@ typedef struct BCM283XState {
DeviceState parent_obj;
/*< public >*/
- char *cpu_type;
- uint32_t enabled_cpus;
-
struct {
ARMCPU core;
} cpu[BCM283X_NCPUS];
BCM2836ControlState control;
BCM2835PeripheralState peripherals;
+
+ /* Properties */
+ char *cpu_type;
+ uint32_t enabled_cpus;
} BCM283XState;
typedef struct BCM283XInfo BCM283XInfo;
@@ -401,6 +401,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 = {
@@ -173,6 +173,7 @@ static void bcm283x_class_init(ObjectClass *oc, void *data)
device_class_set_props(dc, bcm2836_props);
/* Reason: Must be wired up in code (see raspi_init() function) */
dc->user_creatable = false;
+ dc->vmsd = vmstate_qdev_no_state_to_migrate;
}
static const TypeInfo bcm283x_type_info = {
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é <f4bug@amsat.org> --- include/hw/arm/bcm2836.h | 7 ++++--- hw/arm/bcm2835_peripherals.c | 1 + hw/arm/bcm2836.c | 1 + 3 files changed, 6 insertions(+), 3 deletions(-)