On 06/07/2017 19:13, Peter Maydell wrote:
> Slightly awkward because owner is an Object but vmstate_register_ram()
> needs a DeviceState. Is this OK, or too much magic?
> 
>     DeviceState *owner_dev;
>     Error *err = NULL;
> 
>     memory_region_init_ram(mr, owner, name, ram_size, &err);
>     if (err) {
>         error_propagate(errp, err);
>         return;
>     }
>     /* Note that owner_dev may be NULL if owner is not a DeviceState;
>      * in that case this is equivalent to calling 
> vmstate_register_ram_global().
>      */
>     owner_dev = object_dynamic_cast(owner, TYPE_DEVICE);
>     vmstate_register_ram(mr, owner_dev);

Maybe, for memory_region_init_ram only, the owner argument can be made a
DeviceState (or NULL)?

Paolo

Reply via email to