Replace remaining 32-bit DEFINE_MACHINE and DEFINE_MACHINE_EXTENDED call sites with TypeInfo. Rename *_machine_init to *_machine_class_init and set is_available to target_is_base_arm.
Signed-off-by: Yonggang Luo <[email protected]> --- hw/arm/bananapi_m2u.c | 22 +++++++++++++++++++--- hw/arm/cubieboard.c | 23 +++++++++++++++++++---- hw/arm/digic_boards.c | 19 +++++++++++++++++-- hw/arm/imx25_pdk.c | 19 +++++++++++++++++-- hw/arm/integratorcp.c | 23 +++++++++++++++++++---- hw/arm/kzm.c | 19 +++++++++++++++++-- hw/arm/max78000fthr.c | 19 +++++++++++++++++-- hw/arm/mcimx6ul-evk.c | 19 +++++++++++++++++-- hw/arm/mcimx7d-sabre.c | 23 +++++++++++++++++++---- hw/arm/msf2-som.c | 19 +++++++++++++++++-- hw/arm/netduino2.c | 19 +++++++++++++++++-- hw/arm/netduinoplus2.c | 19 +++++++++++++++++-- hw/arm/olimex-stm32-h405.c | 19 +++++++++++++++++-- hw/arm/orangepi.c | 23 +++++++++++++++++++---- hw/arm/stm32vldiscovery.c | 19 +++++++++++++++++-- 15 files changed, 265 insertions(+), 39 deletions(-) diff --git a/hw/arm/bananapi_m2u.c b/hw/arm/bananapi_m2u.c index ccf60ba2955..a1d9105ce0d 100644 --- a/hw/arm/bananapi_m2u.c +++ b/hw/arm/bananapi_m2u.c @@ -18,6 +18,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qemu/units.h" #include "system/address-spaces.h" #include "qapi/error.h" @@ -133,8 +134,10 @@ static void bpim2u_init(MachineState *machine) arm_load_kernel(&r40->cpus[0], machine, &bpms->bootinfo); } -static void bpim2u_machine_init(MachineClass *mc) +static void bpim2u_machine_class_init(ObjectClass *oc, const void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + static const char * const valid_cpu_types[] = { ARM_CPU_TYPE_NAME("cortex-a7"), NULL @@ -152,5 +155,18 @@ static void bpim2u_machine_init(MachineClass *mc) mc->auto_create_sdcard = true; } -DEFINE_MACHINE_EXTENDED("bpim2u", MACHINE, Bpim2uMachineState, - bpim2u_machine_init, false, false, NULL) +static const TypeInfo bpim2u_machine_class_init_typeinfo = { + .name = TYPE_BPIM2U_MACHINE, + .parent = TYPE_MACHINE, + .class_init = bpim2u_machine_class_init, + .instance_size = sizeof(Bpim2uMachineState), + .abstract = false, + .is_available = target_is_base_arm, +}; + +static void bpim2u_machine_class_init_register_types(void) +{ + type_register_static(&bpim2u_machine_class_init_typeinfo); +} + +type_init(bpim2u_machine_class_init_register_types) diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c index e4fef9cd76b..6e14d0e3351 100644 --- a/hw/arm/cubieboard.c +++ b/hw/arm/cubieboard.c @@ -16,6 +16,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qemu/error-report.h" #include "hw/core/boards.h" @@ -113,8 +114,10 @@ static void cubieboard_init(MachineState *machine) arm_load_kernel(&a10->cpu, machine, &cbs->bootinfo); } -static void cubieboard_machine_init(MachineClass *mc) +static void cubieboard_machine_class_init(ObjectClass *oc, const void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + static const char * const valid_cpu_types[] = { ARM_CPU_TYPE_NAME("cortex-a8"), NULL @@ -132,6 +135,18 @@ static void cubieboard_machine_init(MachineClass *mc) mc->auto_create_sdcard = true; } -DEFINE_MACHINE_EXTENDED("cubieboard", MACHINE, CubieboardMachineState, - cubieboard_machine_init, false, false, - NULL) +static const TypeInfo cubieboard_machine_class_init_typeinfo = { + .name = TYPE_CUBIEBOARD_MACHINE, + .parent = TYPE_MACHINE, + .class_init = cubieboard_machine_class_init, + .instance_size = sizeof(CubieboardMachineState), + .abstract = false, + .is_available = target_is_base_arm, +}; + +static void cubieboard_machine_class_init_register_types(void) +{ + type_register_static(&cubieboard_machine_class_init_typeinfo); +} + +type_init(cubieboard_machine_class_init_register_types) diff --git a/hw/arm/digic_boards.c b/hw/arm/digic_boards.c index 90c19106ad0..e92d3177039 100644 --- a/hw/arm/digic_boards.c +++ b/hw/arm/digic_boards.c @@ -24,6 +24,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qemu/datadir.h" #include "hw/core/boards.h" @@ -136,8 +137,10 @@ static void canon_a1100_init(MachineState *machine) digic4_board_init(machine, &digic4_board_canon_a1100); } -static void canon_a1100_machine_init(MachineClass *mc) +static void canon_a1100_machine_class_init(ObjectClass *oc, const void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Canon PowerShot A1100 IS (ARM946)"; mc->init = &canon_a1100_init; mc->ignore_memory_transaction_failures = true; @@ -145,4 +148,16 @@ static void canon_a1100_machine_init(MachineClass *mc) mc->default_ram_id = "ram"; } -DEFINE_MACHINE("canon-a1100", canon_a1100_machine_init) +static const TypeInfo canon_a1100_machine_class_init_typeinfo = { + .name = MACHINE_TYPE_NAME("canon-a1100"), + .parent = TYPE_MACHINE, + .class_init = canon_a1100_machine_class_init, + .is_available = target_is_base_arm, +}; + +static void canon_a1100_machine_class_init_register_types(void) +{ + type_register_static(&canon_a1100_machine_class_init_typeinfo); +} + +type_init(canon_a1100_machine_class_init_register_types) diff --git a/hw/arm/imx25_pdk.c b/hw/arm/imx25_pdk.c index 243c30a67e7..c0c473e7103 100644 --- a/hw/arm/imx25_pdk.c +++ b/hw/arm/imx25_pdk.c @@ -24,6 +24,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "hw/core/qdev-properties.h" #include "hw/arm/fsl-imx25.h" @@ -140,8 +141,10 @@ static void imx25_pdk_init(MachineState *machine) } } -static void imx25_pdk_machine_init(MachineClass *mc) +static void imx25_pdk_machine_class_init(ObjectClass *oc, const void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "ARM i.MX25 PDK board (ARM926)"; mc->init = imx25_pdk_init; mc->ignore_memory_transaction_failures = true; @@ -149,4 +152,16 @@ static void imx25_pdk_machine_init(MachineClass *mc) mc->auto_create_sdcard = true; } -DEFINE_MACHINE("imx25-pdk", imx25_pdk_machine_init) +static const TypeInfo imx25_pdk_machine_class_init_typeinfo = { + .name = MACHINE_TYPE_NAME("imx25-pdk"), + .parent = TYPE_MACHINE, + .class_init = imx25_pdk_machine_class_init, + .is_available = target_is_base_arm, +}; + +static void imx25_pdk_machine_class_init_register_types(void) +{ + type_register_static(&imx25_pdk_machine_class_init_typeinfo); +} + +type_init(imx25_pdk_machine_class_init_register_types) diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c index b766edeeee1..94ab08591ce 100644 --- a/hw/arm/integratorcp.c +++ b/hw/arm/integratorcp.c @@ -8,6 +8,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "hw/core/sysbus.h" #include "migration/vmstate.h" @@ -691,8 +692,10 @@ static void integratorcp_init(MachineState *machine) arm_load_kernel(cpu, machine, &icms->bootinfo); } -static void integratorcp_machine_init(MachineClass *mc) +static void integratorcp_machine_class_init(ObjectClass *oc, const void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "ARM Integrator/CP (ARM926EJ-S)"; mc->init = integratorcp_init; mc->ignore_memory_transaction_failures = true; @@ -703,9 +706,21 @@ static void integratorcp_machine_init(MachineClass *mc) machine_add_audiodev_property(mc); } -DEFINE_MACHINE_EXTENDED("integratorcp", MACHINE, IntegratorcpMachineState, - integratorcp_machine_init, false, false, - NULL) +static const TypeInfo integratorcp_machine_class_init_typeinfo = { + .name = TYPE_INTEGRATORCP_MACHINE, + .parent = TYPE_MACHINE, + .class_init = integratorcp_machine_class_init, + .instance_size = sizeof(IntegratorcpMachineState), + .abstract = false, + .is_available = target_is_base_arm, +}; + +static void integratorcp_machine_class_init_register_types(void) +{ + type_register_static(&integratorcp_machine_class_init_typeinfo); +} + +type_init(integratorcp_machine_class_init_register_types) static const Property core_properties[] = { DEFINE_PROP_UINT32("memsz", IntegratorCMState, memsz, 0), diff --git a/hw/arm/kzm.c b/hw/arm/kzm.c index 387bf54ced1..aaff504564f 100644 --- a/hw/arm/kzm.c +++ b/hw/arm/kzm.c @@ -14,6 +14,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "hw/arm/fsl-imx31.h" #include "hw/arm/boot.h" @@ -129,12 +130,26 @@ static void kzm_init(MachineState *machine) } } -static void kzm_machine_init(MachineClass *mc) +static void kzm_machine_class_init(ObjectClass *oc, const void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "ARM KZM Emulation Baseboard (ARM1136)"; mc->init = kzm_init; mc->ignore_memory_transaction_failures = true; mc->default_ram_id = "kzm.ram"; } -DEFINE_MACHINE("kzm", kzm_machine_init) +static const TypeInfo kzm_machine_class_init_typeinfo = { + .name = MACHINE_TYPE_NAME("kzm"), + .parent = TYPE_MACHINE, + .class_init = kzm_machine_class_init, + .is_available = target_is_base_arm, +}; + +static void kzm_machine_class_init_register_types(void) +{ + type_register_static(&kzm_machine_class_init_typeinfo); +} + +type_init(kzm_machine_class_init_register_types) diff --git a/hw/arm/max78000fthr.c b/hw/arm/max78000fthr.c index ed50bb91979..dce29ccb6a1 100644 --- a/hw/arm/max78000fthr.c +++ b/hw/arm/max78000fthr.c @@ -7,6 +7,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "hw/core/boards.h" #include "hw/core/qdev-properties.h" @@ -35,8 +36,10 @@ static void max78000_init(MachineState *machine) 0x00000000, FLASH_SIZE); } -static void max78000_machine_init(MachineClass *mc) +static void max78000_machine_class_init(ObjectClass *oc, const void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + static const char * const valid_cpu_types[] = { ARM_CPU_TYPE_NAME("cortex-m4"), NULL @@ -47,4 +50,16 @@ static void max78000_machine_init(MachineClass *mc) mc->valid_cpu_types = valid_cpu_types; } -DEFINE_MACHINE("max78000fthr", max78000_machine_init) +static const TypeInfo max78000_machine_class_init_typeinfo = { + .name = MACHINE_TYPE_NAME("max78000fthr"), + .parent = TYPE_MACHINE, + .class_init = max78000_machine_class_init, + .is_available = target_is_base_arm, +}; + +static void max78000_machine_class_init_register_types(void) +{ + type_register_static(&max78000_machine_class_init_typeinfo); +} + +type_init(max78000_machine_class_init_register_types) diff --git a/hw/arm/mcimx6ul-evk.c b/hw/arm/mcimx6ul-evk.c index 40071d2c7b9..30de24727ad 100644 --- a/hw/arm/mcimx6ul-evk.c +++ b/hw/arm/mcimx6ul-evk.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "hw/arm/fsl-imx6ul.h" #include "hw/arm/boot.h" @@ -68,8 +69,10 @@ static void mcimx6ul_evk_init(MachineState *machine) } } -static void mcimx6ul_evk_machine_init(MachineClass *mc) +static void mcimx6ul_evk_machine_class_init(ObjectClass *oc, const void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Freescale i.MX6UL Evaluation Kit (Cortex-A7)"; mc->init = mcimx6ul_evk_init; mc->max_cpus = FSL_IMX6UL_NUM_CPUS; @@ -77,4 +80,16 @@ static void mcimx6ul_evk_machine_init(MachineClass *mc) mc->auto_create_sdcard = true; } -DEFINE_MACHINE("mcimx6ul-evk", mcimx6ul_evk_machine_init) +static const TypeInfo mcimx6ul_evk_machine_class_init_typeinfo = { + .name = MACHINE_TYPE_NAME("mcimx6ul-evk"), + .parent = TYPE_MACHINE, + .class_init = mcimx6ul_evk_machine_class_init, + .is_available = target_is_base_arm, +}; + +static void mcimx6ul_evk_machine_class_init_register_types(void) +{ + type_register_static(&mcimx6ul_evk_machine_class_init_typeinfo); +} + +type_init(mcimx6ul_evk_machine_class_init_register_types) diff --git a/hw/arm/mcimx7d-sabre.c b/hw/arm/mcimx7d-sabre.c index 65fdb19c06f..14e6de8662a 100644 --- a/hw/arm/mcimx7d-sabre.c +++ b/hw/arm/mcimx7d-sabre.c @@ -13,6 +13,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "hw/arm/fsl-imx7.h" #include "hw/arm/boot.h" @@ -76,8 +77,10 @@ static void mcimx7d_sabre_init(MachineState *machine) } } -static void mcimx7d_sabre_machine_init(MachineClass *mc) +static void mcimx7d_sabre_machine_class_init(ObjectClass *oc, const void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Freescale i.MX7 DUAL SABRE (Cortex-A7)"; mc->init = mcimx7d_sabre_init; mc->max_cpus = FSL_IMX7_NUM_CPUS; @@ -85,6 +88,18 @@ static void mcimx7d_sabre_machine_init(MachineClass *mc) mc->auto_create_sdcard = true; } -DEFINE_MACHINE_EXTENDED("mcimx7d-sabre", MACHINE, Mcimx7dSabreMachineState, - mcimx7d_sabre_machine_init, false, false, - NULL) +static const TypeInfo mcimx7d_sabre_machine_class_init_typeinfo = { + .name = TYPE_MCIMX7D_SABRE_MACHINE, + .parent = TYPE_MACHINE, + .class_init = mcimx7d_sabre_machine_class_init, + .instance_size = sizeof(Mcimx7dSabreMachineState), + .abstract = false, + .is_available = target_is_base_arm, +}; + +static void mcimx7d_sabre_machine_class_init_register_types(void) +{ + type_register_static(&mcimx7d_sabre_machine_class_init_typeinfo); +} + +type_init(mcimx7d_sabre_machine_class_init_register_types) diff --git a/hw/arm/msf2-som.c b/hw/arm/msf2-som.c index 1372d7f628a..5dc30b54d7d 100644 --- a/hw/arm/msf2-som.c +++ b/hw/arm/msf2-som.c @@ -26,6 +26,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qemu/units.h" #include "qapi/error.h" #include "qemu/error-report.h" @@ -96,8 +97,10 @@ static void emcraft_sf2_s2s010_init(MachineState *machine) 0, soc->envm_size); } -static void emcraft_sf2_machine_init(MachineClass *mc) +static void emcraft_sf2_machine_class_init(ObjectClass *oc, const void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + static const char * const valid_cpu_types[] = { ARM_CPU_TYPE_NAME("cortex-m3"), NULL @@ -108,4 +111,16 @@ static void emcraft_sf2_machine_init(MachineClass *mc) mc->valid_cpu_types = valid_cpu_types; } -DEFINE_MACHINE("emcraft-sf2", emcraft_sf2_machine_init) +static const TypeInfo emcraft_sf2_machine_class_init_typeinfo = { + .name = MACHINE_TYPE_NAME("emcraft-sf2"), + .parent = TYPE_MACHINE, + .class_init = emcraft_sf2_machine_class_init, + .is_available = target_is_base_arm, +}; + +static void emcraft_sf2_machine_class_init_register_types(void) +{ + type_register_static(&emcraft_sf2_machine_class_init_typeinfo); +} + +type_init(emcraft_sf2_machine_class_init_register_types) diff --git a/hw/arm/netduino2.c b/hw/arm/netduino2.c index 0db8798b4bd..5cb7d05877f 100644 --- a/hw/arm/netduino2.c +++ b/hw/arm/netduino2.c @@ -23,6 +23,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "hw/core/boards.h" #include "hw/core/qdev-properties.h" @@ -52,8 +53,10 @@ static void netduino2_init(MachineState *machine) 0, FLASH_SIZE); } -static void netduino2_machine_init(MachineClass *mc) +static void netduino2_machine_class_init(ObjectClass *oc, const void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + static const char * const valid_cpu_types[] = { ARM_CPU_TYPE_NAME("cortex-m3"), NULL @@ -65,4 +68,16 @@ static void netduino2_machine_init(MachineClass *mc) mc->ignore_memory_transaction_failures = true; } -DEFINE_MACHINE("netduino2", netduino2_machine_init) +static const TypeInfo netduino2_machine_class_init_typeinfo = { + .name = MACHINE_TYPE_NAME("netduino2"), + .parent = TYPE_MACHINE, + .class_init = netduino2_machine_class_init, + .is_available = target_is_base_arm, +}; + +static void netduino2_machine_class_init_register_types(void) +{ + type_register_static(&netduino2_machine_class_init_typeinfo); +} + +type_init(netduino2_machine_class_init_register_types) diff --git a/hw/arm/netduinoplus2.c b/hw/arm/netduinoplus2.c index 5ac0eb81637..7a750988f17 100644 --- a/hw/arm/netduinoplus2.c +++ b/hw/arm/netduinoplus2.c @@ -23,6 +23,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "hw/core/boards.h" #include "hw/core/qdev-properties.h" @@ -53,8 +54,10 @@ static void netduinoplus2_init(MachineState *machine) 0, FLASH_SIZE); } -static void netduinoplus2_machine_init(MachineClass *mc) +static void netduinoplus2_machine_class_init(ObjectClass *oc, const void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + static const char * const valid_cpu_types[] = { ARM_CPU_TYPE_NAME("cortex-m4"), NULL @@ -65,4 +68,16 @@ static void netduinoplus2_machine_init(MachineClass *mc) mc->valid_cpu_types = valid_cpu_types; } -DEFINE_MACHINE("netduinoplus2", netduinoplus2_machine_init) +static const TypeInfo netduinoplus2_machine_class_init_typeinfo = { + .name = MACHINE_TYPE_NAME("netduinoplus2"), + .parent = TYPE_MACHINE, + .class_init = netduinoplus2_machine_class_init, + .is_available = target_is_base_arm, +}; + +static void netduinoplus2_machine_class_init_register_types(void) +{ + type_register_static(&netduinoplus2_machine_class_init_typeinfo); +} + +type_init(netduinoplus2_machine_class_init_register_types) diff --git a/hw/arm/olimex-stm32-h405.c b/hw/arm/olimex-stm32-h405.c index de9ac4978ce..4e93a245998 100644 --- a/hw/arm/olimex-stm32-h405.c +++ b/hw/arm/olimex-stm32-h405.c @@ -24,6 +24,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "hw/core/boards.h" #include "hw/core/qdev-properties.h" @@ -56,8 +57,10 @@ static void olimex_stm32_h405_init(MachineState *machine) 0, FLASH_SIZE); } -static void olimex_stm32_h405_machine_init(MachineClass *mc) +static void olimex_stm32_h405_machine_class_init(ObjectClass *oc, const void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + static const char * const valid_cpu_types[] = { ARM_CPU_TYPE_NAME("cortex-m4"), NULL @@ -71,4 +74,16 @@ static void olimex_stm32_h405_machine_init(MachineClass *mc) mc->default_ram_size = 0; } -DEFINE_MACHINE("olimex-stm32-h405", olimex_stm32_h405_machine_init) +static const TypeInfo olimex_stm32_h405_machine_class_init_typeinfo = { + .name = MACHINE_TYPE_NAME("olimex-stm32-h405"), + .parent = TYPE_MACHINE, + .class_init = olimex_stm32_h405_machine_class_init, + .is_available = target_is_base_arm, +}; + +static void olimex_stm32_h405_machine_class_init_register_types(void) +{ + type_register_static(&olimex_stm32_h405_machine_class_init_typeinfo); +} + +type_init(olimex_stm32_h405_machine_class_init_register_types) diff --git a/hw/arm/orangepi.c b/hw/arm/orangepi.c index 18ed174032b..c6b0906c980 100644 --- a/hw/arm/orangepi.c +++ b/hw/arm/orangepi.c @@ -18,6 +18,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qemu/units.h" #include "system/address-spaces.h" #include "qapi/error.h" @@ -111,8 +112,10 @@ static void orangepi_init(MachineState *machine) arm_load_kernel(&h3->cpus[0], machine, &opms->bootinfo); } -static void orangepi_machine_init(MachineClass *mc) +static void orangepi_machine_class_init(ObjectClass *oc, const void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + static const char * const valid_cpu_types[] = { ARM_CPU_TYPE_NAME("cortex-a7"), NULL @@ -132,6 +135,18 @@ static void orangepi_machine_init(MachineClass *mc) mc->auto_create_sdcard = true; } -DEFINE_MACHINE_EXTENDED("orangepi-pc", MACHINE, OrangePiMachineState, - orangepi_machine_init, false, false, - NULL) +static const TypeInfo orangepi_machine_class_init_typeinfo = { + .name = TYPE_ORANGEPI_MACHINE, + .parent = TYPE_MACHINE, + .class_init = orangepi_machine_class_init, + .instance_size = sizeof(OrangePiMachineState), + .abstract = false, + .is_available = target_is_base_arm, +}; + +static void orangepi_machine_class_init_register_types(void) +{ + type_register_static(&orangepi_machine_class_init_typeinfo); +} + +type_init(orangepi_machine_class_init_register_types) diff --git a/hw/arm/stm32vldiscovery.c b/hw/arm/stm32vldiscovery.c index d899a134b38..3b439c80a67 100644 --- a/hw/arm/stm32vldiscovery.c +++ b/hw/arm/stm32vldiscovery.c @@ -24,6 +24,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "hw/core/boards.h" #include "hw/core/qdev-properties.h" @@ -56,8 +57,10 @@ static void stm32vldiscovery_init(MachineState *machine) 0, FLASH_SIZE); } -static void stm32vldiscovery_machine_init(MachineClass *mc) +static void stm32vldiscovery_machine_class_init(ObjectClass *oc, const void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + static const char * const valid_cpu_types[] = { ARM_CPU_TYPE_NAME("cortex-m3"), NULL @@ -68,4 +71,16 @@ static void stm32vldiscovery_machine_init(MachineClass *mc) mc->valid_cpu_types = valid_cpu_types; } -DEFINE_MACHINE("stm32vldiscovery", stm32vldiscovery_machine_init) +static const TypeInfo stm32vldiscovery_machine_class_init_typeinfo = { + .name = MACHINE_TYPE_NAME("stm32vldiscovery"), + .parent = TYPE_MACHINE, + .class_init = stm32vldiscovery_machine_class_init, + .is_available = target_is_base_arm, +}; + +static void stm32vldiscovery_machine_class_init_register_types(void) +{ + type_register_static(&stm32vldiscovery_machine_class_init_typeinfo); +} + +type_init(stm32vldiscovery_machine_class_init_register_types) -- 2.52.0.windows.1
