Replace DEFINE_MACHINE with TypeInfo. Rename *_machine_init to
*_machine_class_init and set is_available to target_is_microblaze.

Signed-off-by: Yonggang Luo <[email protected]>
---
 hw/microblaze/petalogix_ml605_mmu.c | 19 +++++++++++++++++--
 hw/microblaze/xlnx-zynqmp-pmu.c     | 19 +++++++++++++++++--
 2 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/hw/microblaze/petalogix_ml605_mmu.c 
b/hw/microblaze/petalogix_ml605_mmu.c
index 8f9f54ff1e2..508a8005a63 100644
--- a/hw/microblaze/petalogix_ml605_mmu.c
+++ b/hw/microblaze/petalogix_ml605_mmu.c
@@ -26,6 +26,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "qemu/target-info.h"
 #include "qemu/units.h"
 #include "qapi/error.h"
 #include "target/microblaze/cpu.h"
@@ -214,10 +215,24 @@ petalogix_ml605_init(MachineState *machine)
 
 }
 
-static void petalogix_ml605_machine_init(MachineClass *mc)
+static void petalogix_ml605_machine_class_init(ObjectClass *oc, const void 
*data)
 {
+    MachineClass *mc = MACHINE_CLASS(oc);
+
     mc->desc = "PetaLogix linux refdesign for xilinx ml605 (little endian)";
     mc->init = petalogix_ml605_init;
 }
 
-DEFINE_MACHINE("petalogix-ml605", petalogix_ml605_machine_init)
+static const TypeInfo petalogix_ml605_machine_class_init_typeinfo = {
+    .name = MACHINE_TYPE_NAME("petalogix-ml605"),
+    .parent = TYPE_MACHINE,
+    .class_init = petalogix_ml605_machine_class_init,
+    .is_available = target_is_microblaze,
+};
+
+static void petalogix_ml605_machine_class_init_register_types(void)
+{
+    type_register_static(&petalogix_ml605_machine_class_init_typeinfo);
+}
+
+type_init(petalogix_ml605_machine_class_init_register_types)
diff --git a/hw/microblaze/xlnx-zynqmp-pmu.c b/hw/microblaze/xlnx-zynqmp-pmu.c
index 00154236bf8..79b70eb5ad7 100644
--- a/hw/microblaze/xlnx-zynqmp-pmu.c
+++ b/hw/microblaze/xlnx-zynqmp-pmu.c
@@ -16,6 +16,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "qemu/target-info.h"
 #include "qapi/error.h"
 #include "system/address-spaces.h"
 #include "hw/core/boards.h"
@@ -179,10 +180,24 @@ static void xlnx_zynqmp_pmu_init(MachineState *machine)
                            NULL);
 }
 
-static void xlnx_zynqmp_pmu_machine_init(MachineClass *mc)
+static void xlnx_zynqmp_pmu_machine_class_init(ObjectClass *oc, const void 
*data)
 {
+    MachineClass *mc = MACHINE_CLASS(oc);
+
     mc->desc = "Xilinx ZynqMP PMU machine (little endian)";
     mc->init = xlnx_zynqmp_pmu_init;
 }
 
-DEFINE_MACHINE("xlnx-zynqmp-pmu", xlnx_zynqmp_pmu_machine_init)
+static const TypeInfo xlnx_zynqmp_pmu_machine_class_init_typeinfo = {
+    .name = MACHINE_TYPE_NAME("xlnx-zynqmp-pmu"),
+    .parent = TYPE_MACHINE,
+    .class_init = xlnx_zynqmp_pmu_machine_class_init,
+    .is_available = target_is_microblaze,
+};
+
+static void xlnx_zynqmp_pmu_machine_class_init_register_types(void)
+{
+    type_register_static(&xlnx_zynqmp_pmu_machine_class_init_typeinfo);
+}
+
+type_init(xlnx_zynqmp_pmu_machine_class_init_register_types)
-- 
2.52.0.windows.1


Reply via email to