We want to add more machines. First convert from the old
DEFINE_MACHINE() API to the more recent DEFINE_TYPES(TypeInfo[])
one.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
hw/mips/malta.c | 32 ++++++++++++++++++++++++++++----
1 file changed, 28 insertions(+), 4 deletions(-)
diff --git a/hw/mips/malta.c b/hw/mips/malta.c
index 5b371c1e34..2c363fe099 100644
@@ -70,6 +70,8 @@
#define MAX_IDE_BUS 2
+#define TYPE_MALTA_MACHINE MACHINE_TYPE_NAME("malta-base")
+
typedef struct {
MemoryRegion iomem;
MemoryRegion iomem_lo; /* 0 - 0x900 */
@@ -1433,10 +1435,19 @@ static void mips_malta_register_types(void)
type_init(mips_malta_register_types)
-static void mips_malta_machine_init(MachineClass *mc)
+static void malta_machine_common_class_init(ObjectClass *oc, void *data)
{
- mc->desc = "MIPS Malta Core LV";
+ MachineClass *mc = MACHINE_CLASS(oc);
+
mc->init = mips_malta_init;
+ mc->default_ram_id = "mips_malta.ram";
+}
+
+static void malta_machine_default_class_init(ObjectClass *oc, void *data)
+{
+ MachineClass *mc = MACHINE_CLASS(oc);
+
+ mc->desc = "MIPS Malta Core LV";
mc->block_default_type = IF_IDE;
mc->max_cpus = 16;
mc->is_default = true;
@@ -1445,7 +1456,20 @@ static void mips_malta_machine_init(MachineClass *mc)
#else
mc->default_cpu_type = MIPS_CPU_TYPE_NAME("24Kf");
#endif
- mc->default_ram_id = "mips_malta.ram";
}
-DEFINE_MACHINE("malta", mips_malta_machine_init)
+static const TypeInfo malta_machine_types[] = {
+ {
+ .name = MACHINE_TYPE_NAME("malta"),
+ .parent = TYPE_MALTA_MACHINE,
+ .class_init = malta_machine_default_class_init,
+ },
+ {
+ .name = TYPE_MALTA_MACHINE,
+ .parent = TYPE_MACHINE,
+ .class_init = malta_machine_common_class_init,
+ .abstract = true,
+ }
+};
+
+DEFINE_TYPES(malta_machine_types)
--
2.21.3