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
