On Tue, Nov 27, 2018 at 4:57 PM Eduardo Habkost <ehabk...@redhat.com> wrote: > > On Tue, Nov 27, 2018 at 01:27:49PM +0400, Marc-André Lureau wrote: > > Similarly to accel properties, move compat properties out of globals > > registration, and apply the machine compat properties during > > device_post_init(). > > > > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> > [...] > > diff --git a/hw/core/qdev.c b/hw/core/qdev.c > > index 7066d28271..3b31b2c025 100644 > > --- a/hw/core/qdev.c > > +++ b/hw/core/qdev.c > > @@ -971,17 +971,26 @@ static void device_initfn(Object *obj) > > } > > > > static const GPtrArray *ac_compat_props; > > +static const GPtrArray *mc_compat_props; > > > > void accel_register_compat_props(const GPtrArray *props) > > { > > ac_compat_props = props; > > } > > > > +void machine_register_compat_props(const GPtrArray *props) > > +{ > > + mc_compat_props = props; > > +} > > + > > static void device_post_init(Object *obj) > > { > > if (ac_compat_props) { > > object_apply_global_props(obj, ac_compat_props, &error_abort); > > } > > Why not just use MACHINE(qdev_get_machine())->accel->compat_props > directly? > > > + if (mc_compat_props) { > > + object_apply_global_props(obj, mc_compat_props, &error_abort); > > + } > > Why not just use MACHINE(qdev_get_machine())->compat_props > directly?
This was the approach in v3, but Igor didn't quite like referencing machine in qdev: https://lists.nongnu.org/archive/html/qemu-devel/2018-11/msg04774.html > > > > > qdev_prop_set_globals(DEVICE(obj)); > > } > [...] > > -- > Eduardo