On 03/07/2014 10:44 AM, Andreas Färber wrote: > Am 05.03.2014 18:30, schrieb Marcel Apfelbaum: >> In order to allow attaching machine options to a machine instance, >> current_machine is converted into MachineState. >> As a first step of deprecating QEMUMachine, some of the functions >> were modified to return MachineCLass. >> >> Signed-off-by: Marcel Apfelbaum <marce...@redhat.com> > > Looks mostly good, but same issue as Alexey's patch: We are risking > qdev_get_machine() creating a Container-typed /machine node.
Sorry, I am not following you here. object_resolve_path() can create objects? > What about the following on top? > > Alexey, if we reach agreement here, this means for you that we can just > use type_register_static() in place of qemu_machine_register() to > register your custom machine type with interface added. I am perfectly fine with that, I just do not see what difference does it make and why do you still keep qemu_machine_register() (or this is in the plan already?)? > Regards, > Andreas > > diff --git a/hw/core/qdev.c b/hw/core/qdev.c > index b6deebd..749c83a 100644 > --- a/hw/core/qdev.c > +++ b/hw/core/qdev.c > @@ -861,7 +861,8 @@ Object *qdev_get_machine(void) > static Object *dev; > > if (dev == NULL) { > - dev = container_get(object_get_root(), "/machine"); > + dev = object_resolve_path("/machine", NULL); > + g_assert(dev); > } > > return dev; > > -- Alexey