Open code the DEFINE_MACHINE_ARM macro in preparation of creating SabreliteMachineState class. The name field in TypeInfo initializator is left as string literal since the macro would expand into this.
Signed-off-by: Matyáš Bobek <[email protected]> --- hw/arm/sabrelite.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/hw/arm/sabrelite.c b/hw/arm/sabrelite.c index db5669c5c2..40ee8196ac 100644 --- a/hw/arm/sabrelite.c +++ b/hw/arm/sabrelite.c @@ -114,4 +114,25 @@ static void sabrelite_machine_init(MachineClass *mc) mc->auto_create_sdcard = true; } -DEFINE_MACHINE_ARM("sabrelite", sabrelite_machine_init) +static void sabrelite_machine_class_init(ObjectClass *oc, const void *data) +{ + MachineClass *mc = MACHINE_CLASS(oc); + + sabrelite_machine_init(mc); +} + +static const TypeInfo sabrelite_machine_init_typeinfo = { + .name = MACHINE_TYPE_NAME("sabrelite"), + .parent = TYPE_MACHINE, + .class_init = sabrelite_machine_class_init, + .instance_size = sizeof(MachineState), + .abstract = false, + .interfaces = arm_machine_interfaces, +}; + +static void sabrelite_machine_init_register_types(void) +{ + type_register_static(&sabrelite_machine_init_typeinfo); +} + +type_init(sabrelite_machine_init_register_types) -- 2.53.0
