* [Qemu-devel] [PATCH v3 0/7] machine registration: Use QOM, eliminate QEMUMachine @ 2015-09-04 18:37 Eduardo Habkost 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 1/7] exynos4: Use EXYNOS4210_NCPUS instead of max_cpus on error message Eduardo Habkost ` (7 more replies) 0 siblings, 8 replies; 14+ messages in thread From: Eduardo Habkost @ 2015-09-04 18:37 UTC (permalink / raw) To: qemu-devel; +Cc: Marcel Apfelbaum, Andreas Färber, Michael S. Tsirkin This converts all code using QEMUMachine to register a QOM class directly, using a new macro: DEFINE_MACHINE. Python script used to convert all machines automatically can be seen at: https://gist.github.com/ehabkost/582fe4969205975febb2#file-qemumachine-eliminate-py Git branch: git://github.com/ehabkost/qemu-hacks.git work/qemumachine-kill Changes v2 -> v3: * Rebased on top of: Subject: [Qemu-devel] [PATCH 00/10] Fix machine class names to use the "-machine" suffix * At "Use DEFINE_MACHINE to register all machines": * Not a RFC anymore * I won't split it into per-architecture patches anymore, to make it easier to merge through Andreas' QOM tree * Replace "machine_machine" with "machine" in new variable and function names. Suggested-by: Michael Walle <michael@walle.cc> * Eliminate empty mips_malta_machine_init() and sun4u_machine_init() functions * Remove "pc: Use DEFINE_MACHINE to implement DEFINE_PC_MACHINE" Changes v1 -> v2: * At "Use DEFINE_MACHINE to register all machines": * Fix trailing spaces and newlines * Don't touch "//" comments on lines that we are not changing * Break long lines manually Eduardo Habkost (7): exynos4: Use EXYNOS4210_NCPUS instead of max_cpus on error message exynos4: Use MachineClass instead of exynos4_machines array exynos4: Declare each QEMUMachine as a separate variable machine: DEFINE_MACHINE macro mac_world: Break long line Use DEFINE_MACHINE to register all machines machine: Eliminate QEMUMachine and qemu_register_machine() hw/alpha/dp264.c | 18 ++-- hw/arm/collie.c | 14 +-- hw/arm/cubieboard.c | 16 ++- hw/arm/digic_boards.c | 14 +-- hw/arm/exynos4_boards.c | 39 ++++---- hw/arm/gumstix.c | 29 +++--- hw/arm/highbank.c | 33 +++--- hw/arm/integratorcp.c | 14 +-- hw/arm/kzm.c | 14 +-- hw/arm/mainstone.c | 14 +-- hw/arm/musicpal.c | 14 +-- hw/arm/netduino2.c | 14 +-- hw/arm/nseries.c | 29 +++--- hw/arm/omap_sx1.c | 25 ++--- hw/arm/palm.c | 14 +-- hw/arm/realview.c | 61 ++++++------ hw/arm/spitz.c | 51 +++++----- hw/arm/stellaris.c | 25 ++--- hw/arm/tosa.c | 14 +-- hw/arm/versatilepb.c | 29 +++--- hw/arm/xilinx_zynq.c | 20 ++-- hw/arm/xlnx-ep108.c | 14 +-- hw/arm/z2.c | 14 +-- hw/core/null-machine.c | 16 ++- hw/cris/axis_dev88.c | 16 ++- hw/lm32/lm32_boards.c | 33 +++--- hw/lm32/milkymist.c | 16 ++- hw/m68k/an5206.c | 14 +-- hw/m68k/dummy_m68k.c | 14 +-- hw/m68k/mcf5208.c | 16 ++- hw/microblaze/petalogix_ml605_mmu.c | 16 ++- hw/microblaze/petalogix_s3adsp1800_mmu.c | 16 ++- hw/mips/mips_fulong2e.c | 14 +-- hw/mips/mips_jazz.c | 29 +++--- hw/mips/mips_malta.c | 22 ++-- hw/mips/mips_mipssim.c | 14 +-- hw/mips/mips_r4k.c | 14 +-- hw/moxie/moxiesim.c | 16 ++- hw/openrisc/openrisc_sim.c | 18 ++-- hw/ppc/e500plat.c | 18 ++-- hw/ppc/mac_oldworld.c | 25 ++--- hw/ppc/mpc8544ds.c | 16 ++- hw/ppc/ppc405_boards.c | 27 +++-- hw/ppc/ppc440_bamboo.c | 14 +-- hw/ppc/prep.c | 18 ++-- hw/ppc/virtex_ml507.c | 14 +-- hw/sh4/r2d.c | 14 +-- hw/sh4/shix.c | 16 ++- hw/sparc/leon3.c | 14 +-- hw/sparc/sun4m.c | 166 ++++++++++++++++--------------- hw/sparc64/sun4u.c | 58 ++++++----- hw/tricore/tricore_testboard.c | 16 ++- hw/unicore32/puv3.c | 16 ++- hw/xenpv/xen_machine_pv.c | 18 ++-- hw/xtensa/sim.c | 18 ++-- hw/xtensa/xtfpga.c | 59 ++++++----- include/hw/boards.h | 44 ++++---- include/qemu/typedefs.h | 1 - include/sysemu/blockdev.h | 2 +- include/sysemu/sysemu.h | 2 +- vl.c | 36 ------- 61 files changed, 591 insertions(+), 834 deletions(-) -- 2.1.0 ^ permalink raw reply [flat|nested] 14+ messages in thread
* [Qemu-devel] [PATCH v3 1/7] exynos4: Use EXYNOS4210_NCPUS instead of max_cpus on error message 2015-09-04 18:37 [Qemu-devel] [PATCH v3 0/7] machine registration: Use QOM, eliminate QEMUMachine Eduardo Habkost @ 2015-09-04 18:37 ` Eduardo Habkost 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 2/7] exynos4: Use MachineClass instead of exynos4_machines array Eduardo Habkost ` (6 subsequent siblings) 7 siblings, 0 replies; 14+ messages in thread From: Eduardo Habkost @ 2015-09-04 18:37 UTC (permalink / raw) To: qemu-devel Cc: Peter Maydell, Evgeny Voevodin, Marcel Apfelbaum, Igor Mitsyanko, Michael S. Tsirkin, Dmitry Solodkiy, Maksim Kozlov, Andreas Färber The code is checking smp_cpus against EXYNOS4210_NCPUS, not against max_cpus, so use EXYNOS4210_NCPUS in the error message for consistency. Cc: Peter Maydell <peter.maydell@linaro.org> Cc: Evgeny Voevodin <e.voevodin@samsung.com> Cc: Maksim Kozlov <m.kozlov@samsung.com> Cc: Igor Mitsyanko <i.mitsyanko@gmail.com> Cc: Dmitry Solodkiy <d.solodkiy@samsung.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- hw/arm/exynos4_boards.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hw/arm/exynos4_boards.c b/hw/arm/exynos4_boards.c index d644db1..3f88c4a 100644 --- a/hw/arm/exynos4_boards.c +++ b/hw/arm/exynos4_boards.c @@ -100,8 +100,7 @@ static Exynos4210State *exynos4_boards_init_common(MachineState *machine, if (smp_cpus != EXYNOS4210_NCPUS && !qtest_enabled()) { fprintf(stderr, "%s board supports only %d CPU cores. Ignoring smp_cpus" " value.\n", - exynos4_machines[board_type].name, - exynos4_machines[board_type].max_cpus); + exynos4_machines[board_type].name, EXYNOS4210_NCPUS); } exynos4_board_binfo.ram_size = exynos4_board_ram_size[board_type]; -- 2.1.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Qemu-devel] [PATCH v3 2/7] exynos4: Use MachineClass instead of exynos4_machines array 2015-09-04 18:37 [Qemu-devel] [PATCH v3 0/7] machine registration: Use QOM, eliminate QEMUMachine Eduardo Habkost 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 1/7] exynos4: Use EXYNOS4210_NCPUS instead of max_cpus on error message Eduardo Habkost @ 2015-09-04 18:37 ` Eduardo Habkost 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 3/7] exynos4: Declare each QEMUMachine as a separate variable Eduardo Habkost ` (5 subsequent siblings) 7 siblings, 0 replies; 14+ messages in thread From: Eduardo Habkost @ 2015-09-04 18:37 UTC (permalink / raw) To: qemu-devel Cc: Peter Maydell, Evgeny Voevodin, Marcel Apfelbaum, Igor Mitsyanko, Michael S. Tsirkin, Dmitry Solodkiy, Maksim Kozlov, Andreas Färber We don't need a QEMUMachine array to query max_cpus, if we can get the corresponding MachineClass. Cc: Peter Maydell <peter.maydell@linaro.org> Cc: Evgeny Voevodin <e.voevodin@samsung.com> Cc: Maksim Kozlov <m.kozlov@samsung.com> Cc: Igor Mitsyanko <i.mitsyanko@gmail.com> Cc: Dmitry Solodkiy <d.solodkiy@samsung.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- hw/arm/exynos4_boards.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/arm/exynos4_boards.c b/hw/arm/exynos4_boards.c index 3f88c4a..312a014 100644 --- a/hw/arm/exynos4_boards.c +++ b/hw/arm/exynos4_boards.c @@ -97,10 +97,12 @@ static void lan9215_init(uint32_t base, qemu_irq irq) static Exynos4210State *exynos4_boards_init_common(MachineState *machine, Exynos4BoardType board_type) { + MachineClass *mc = MACHINE_GET_CLASS(machine); + if (smp_cpus != EXYNOS4210_NCPUS && !qtest_enabled()) { fprintf(stderr, "%s board supports only %d CPU cores. Ignoring smp_cpus" " value.\n", - exynos4_machines[board_type].name, EXYNOS4210_NCPUS); + mc->name, EXYNOS4210_NCPUS); } exynos4_board_binfo.ram_size = exynos4_board_ram_size[board_type]; -- 2.1.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Qemu-devel] [PATCH v3 3/7] exynos4: Declare each QEMUMachine as a separate variable 2015-09-04 18:37 [Qemu-devel] [PATCH v3 0/7] machine registration: Use QOM, eliminate QEMUMachine Eduardo Habkost 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 1/7] exynos4: Use EXYNOS4210_NCPUS instead of max_cpus on error message Eduardo Habkost 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 2/7] exynos4: Use MachineClass instead of exynos4_machines array Eduardo Habkost @ 2015-09-04 18:37 ` Eduardo Habkost 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 4/7] machine: DEFINE_MACHINE macro Eduardo Habkost ` (4 subsequent siblings) 7 siblings, 0 replies; 14+ messages in thread From: Eduardo Habkost @ 2015-09-04 18:37 UTC (permalink / raw) To: qemu-devel Cc: Peter Maydell, Evgeny Voevodin, Marcel Apfelbaum, Igor Mitsyanko, Michael S. Tsirkin, Dmitry Solodkiy, Maksim Kozlov, Andreas Färber This will make the code follow the same pattern used for other machines, and will make it easier to automatically convert the code to be QOM-based. Cc: Peter Maydell <peter.maydell@linaro.org> Cc: Evgeny Voevodin <e.voevodin@samsung.com> Cc: Maksim Kozlov <m.kozlov@samsung.com> Cc: Igor Mitsyanko <i.mitsyanko@gmail.com> Cc: Dmitry Solodkiy <d.solodkiy@samsung.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- hw/arm/exynos4_boards.c | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/hw/arm/exynos4_boards.c b/hw/arm/exynos4_boards.c index 312a014..35fc7c4 100644 --- a/hw/arm/exynos4_boards.c +++ b/hw/arm/exynos4_boards.c @@ -74,8 +74,6 @@ static struct arm_boot_info exynos4_board_binfo = { .write_secondary_boot = exynos4210_write_secondary, }; -static QEMUMachine exynos4_machines[EXYNOS4_NUM_OF_BOARDS]; - static void lan9215_init(uint32_t base, qemu_irq irq) { DeviceState *dev; @@ -146,25 +144,24 @@ static void smdkc210_init(MachineState *machine) arm_load_kernel(ARM_CPU(first_cpu), &exynos4_board_binfo); } -static QEMUMachine exynos4_machines[EXYNOS4_NUM_OF_BOARDS] = { - [EXYNOS4_BOARD_NURI] = { - .name = "nuri", - .desc = "Samsung NURI board (Exynos4210)", - .init = nuri_init, - .max_cpus = EXYNOS4210_NCPUS, - }, - [EXYNOS4_BOARD_SMDKC210] = { - .name = "smdkc210", - .desc = "Samsung SMDKC210 board (Exynos4210)", - .init = smdkc210_init, - .max_cpus = EXYNOS4210_NCPUS, - }, +static QEMUMachine exynos4_machine_nuri = { + .name = "nuri", + .desc = "Samsung NURI board (Exynos4210)", + .init = nuri_init, + .max_cpus = EXYNOS4210_NCPUS, +}; + +static QEMUMachine exynos4_machine_smdkc210 = { + .name = "smdkc210", + .desc = "Samsung SMDKC210 board (Exynos4210)", + .init = smdkc210_init, + .max_cpus = EXYNOS4210_NCPUS, }; static void exynos4_machine_init(void) { - qemu_register_machine(&exynos4_machines[EXYNOS4_BOARD_NURI]); - qemu_register_machine(&exynos4_machines[EXYNOS4_BOARD_SMDKC210]); + qemu_register_machine(&exynos4_machine_nuri); + qemu_register_machine(&exynos4_machine_smdkc210); } machine_init(exynos4_machine_init); -- 2.1.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Qemu-devel] [PATCH v3 4/7] machine: DEFINE_MACHINE macro 2015-09-04 18:37 [Qemu-devel] [PATCH v3 0/7] machine registration: Use QOM, eliminate QEMUMachine Eduardo Habkost ` (2 preceding siblings ...) 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 3/7] exynos4: Declare each QEMUMachine as a separate variable Eduardo Habkost @ 2015-09-04 18:37 ` Eduardo Habkost 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 5/7] mac_world: Break long line Eduardo Habkost ` (3 subsequent siblings) 7 siblings, 0 replies; 14+ messages in thread From: Eduardo Habkost @ 2015-09-04 18:37 UTC (permalink / raw) To: qemu-devel; +Cc: Marcel Apfelbaum, Andreas Färber, Michael S. Tsirkin The macro will allow easy registration of a TYPE_MACHINE subclass, using only the machine name and a MachineClass initialization function as parameter. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- Changes series v1 -> series v2: none Changes series v2 -> series v3: * Don't set MachineClass::name explicitly (Now TYPE_MACHINE does that automatically) * Use MACHINE_TYPE_NAME macro --- include/hw/boards.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/include/hw/boards.h b/include/hw/boards.h index 178517c..befae01 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -158,4 +158,21 @@ struct MachineState { AccelState *accelerator; }; +#define DEFINE_MACHINE(namestr, machine_initfn) \ + static void machine_initfn##_class_init(ObjectClass *oc, void *data) \ + { \ + MachineClass *mc = MACHINE_CLASS(oc); \ + machine_initfn(mc); \ + } \ + static const TypeInfo machine_initfn##_typeinfo = { \ + .name = MACHINE_TYPE_NAME(namestr), \ + .parent = TYPE_MACHINE, \ + .class_init = machine_initfn##_class_init, \ + }; \ + static void machine_initfn##_register_types(void) \ + { \ + type_register_static(&machine_initfn##_typeinfo); \ + } \ + machine_init(machine_initfn##_register_types) + #endif -- 2.1.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Qemu-devel] [PATCH v3 5/7] mac_world: Break long line 2015-09-04 18:37 [Qemu-devel] [PATCH v3 0/7] machine registration: Use QOM, eliminate QEMUMachine Eduardo Habkost ` (3 preceding siblings ...) 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 4/7] machine: DEFINE_MACHINE macro Eduardo Habkost @ 2015-09-04 18:37 ` Eduardo Habkost 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 6/7] Use DEFINE_MACHINE to register all machines Eduardo Habkost ` (2 subsequent siblings) 7 siblings, 0 replies; 14+ messages in thread From: Eduardo Habkost @ 2015-09-04 18:37 UTC (permalink / raw) To: qemu-devel; +Cc: Marcel Apfelbaum, Andreas Färber, Michael S. Tsirkin Coding style change only. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- hw/ppc/mac_oldworld.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c index 06fdbaf..b72d67d 100644 --- a/hw/ppc/mac_oldworld.c +++ b/hw/ppc/mac_oldworld.c @@ -365,7 +365,8 @@ static QEMUMachine heathrow_machine = { #ifndef TARGET_PPC64 .is_default = 1, #endif - .default_boot_order = "cd", /* TOFIX "cad" when Mac floppy is implemented */ + /* TOFIX "cad" when Mac floppy is implemented */ + .default_boot_order = "cd", .kvm_type = heathrow_kvm_type, }; -- 2.1.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Qemu-devel] [PATCH v3 6/7] Use DEFINE_MACHINE to register all machines 2015-09-04 18:37 [Qemu-devel] [PATCH v3 0/7] machine registration: Use QOM, eliminate QEMUMachine Eduardo Habkost ` (4 preceding siblings ...) 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 5/7] mac_world: Break long line Eduardo Habkost @ 2015-09-04 18:37 ` Eduardo Habkost 2015-09-19 8:13 ` Andreas Färber 2015-09-19 12:19 ` [Qemu-devel] [PATCH 6a/7] Revert use of DEFINE_MACHINE() for registrations of multiple machines Andreas Färber 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 7/7] machine: Eliminate QEMUMachine and qemu_register_machine() Eduardo Habkost 2015-09-19 16:21 ` [Qemu-devel] [PATCH v3 0/7] machine registration: Use QOM, eliminate QEMUMachine Andreas Färber 7 siblings, 2 replies; 14+ messages in thread From: Eduardo Habkost @ 2015-09-04 18:37 UTC (permalink / raw) To: qemu-devel Cc: Peter Maydell, Evgeny Voevodin, Michael S. Tsirkin, Mark Cave-Ayland, Blue Swirl, Max Filippov, Edgar E. Iglesias, Guan Xuetao, Rob Herring, Jia Liu, Alexander Graf, Andreas Färber, Hervé Poussineau, Antony Pavlov, Maksim Kozlov, Leon Alrae, Marcel Apfelbaum, Li Guang, Fabien Chouteau, Peter Chubb, Scott Wood, Richard Henderson, Peter Crosthwaite, Igor Mitsyanko, Michael Walle, qemu-ppc, Dmitry Solodkiy, Bastian Koppelmann, Jan Kiszka, Andreas Färber, Aurelien Jarno Convert all machines to use DEFINE_MACHINE instead of QEMUMachine automatically using a script. Cc: Richard Henderson <rth@twiddle.net> Cc: Peter Maydell <peter.maydell@linaro.org> Cc: Li Guang <lig.fnst@cn.fujitsu.com> Cc: Antony Pavlov <antonynpavlov@gmail.com> Cc: Evgeny Voevodin <e.voevodin@samsung.com> Cc: Maksim Kozlov <m.kozlov@samsung.com> Cc: Igor Mitsyanko <i.mitsyanko@gmail.com> Cc: Dmitry Solodkiy <d.solodkiy@samsung.com> Cc: Rob Herring <robh@kernel.org> Cc: Peter Chubb <peter.chubb@nicta.com.au> Cc: Jan Kiszka <jan.kiszka@web.de> Cc: Andrzej Zaborowski <balrogg@gmail.com> Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com> Cc: Michael Walle <michael@walle.cc> Cc: Aurelien Jarno <aurelien@aurel32.net> Cc: Leon Alrae <leon.alrae@imgtec.com> Cc: "Hervé Poussineau" <hpoussin@reactos.org> Cc: Jia Liu <proljc@gmail.com> Cc: Alexander Graf <agraf@suse.de> Cc: Scott Wood <scottwood@freescale.com> Cc: "Andreas Färber" <andreas.faerber@web.de> Cc: Magnus Damm <magnus.damm@gmail.com> Cc: Fabien Chouteau <chouteau@adacore.com> Cc: Blue Swirl <blauwirbel@gmail.com> Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> Cc: Guan Xuetao <gxt@mprc.pku.edu.cn> Cc: Max Filippov <jcmvbkbc@gmail.com> Cc: qemu-ppc@nongnu.org Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- Changes v1 -> v2: * Fix trailing spaces and newlines * Don't touch "//" comments on lines that we are not changing * Break long lines manually Changes v2 -> v3: * Replace "machine_machine" with "machine" in new variable and function names. Suggested-by: Michael Walle <michael@walle.cc> * Eliminate empty mips_malta_machine_init() and sun4u_machine_init() functions Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- hw/alpha/dp264.c | 18 ++-- hw/arm/collie.c | 14 +-- hw/arm/cubieboard.c | 16 ++- hw/arm/digic_boards.c | 14 +-- hw/arm/exynos4_boards.c | 29 +++--- hw/arm/gumstix.c | 29 +++--- hw/arm/highbank.c | 33 +++--- hw/arm/integratorcp.c | 14 +-- hw/arm/kzm.c | 14 +-- hw/arm/mainstone.c | 14 +-- hw/arm/musicpal.c | 14 +-- hw/arm/netduino2.c | 14 +-- hw/arm/nseries.c | 29 +++--- hw/arm/omap_sx1.c | 25 ++--- hw/arm/palm.c | 14 +-- hw/arm/realview.c | 61 ++++++------ hw/arm/spitz.c | 51 +++++----- hw/arm/stellaris.c | 25 ++--- hw/arm/tosa.c | 14 +-- hw/arm/versatilepb.c | 29 +++--- hw/arm/xilinx_zynq.c | 20 ++-- hw/arm/xlnx-ep108.c | 14 +-- hw/arm/z2.c | 14 +-- hw/core/null-machine.c | 16 ++- hw/cris/axis_dev88.c | 16 ++- hw/lm32/lm32_boards.c | 33 +++--- hw/lm32/milkymist.c | 16 ++- hw/m68k/an5206.c | 14 +-- hw/m68k/dummy_m68k.c | 14 +-- hw/m68k/mcf5208.c | 16 ++- hw/microblaze/petalogix_ml605_mmu.c | 16 ++- hw/microblaze/petalogix_s3adsp1800_mmu.c | 16 ++- hw/mips/mips_fulong2e.c | 14 +-- hw/mips/mips_jazz.c | 29 +++--- hw/mips/mips_malta.c | 22 ++-- hw/mips/mips_mipssim.c | 14 +-- hw/mips/mips_r4k.c | 14 +-- hw/moxie/moxiesim.c | 16 ++- hw/openrisc/openrisc_sim.c | 18 ++-- hw/ppc/e500plat.c | 18 ++-- hw/ppc/mac_oldworld.c | 24 ++--- hw/ppc/mpc8544ds.c | 16 ++- hw/ppc/ppc405_boards.c | 27 +++-- hw/ppc/ppc440_bamboo.c | 14 +-- hw/ppc/prep.c | 18 ++-- hw/ppc/virtex_ml507.c | 14 +-- hw/sh4/r2d.c | 14 +-- hw/sh4/shix.c | 16 ++- hw/sparc/leon3.c | 14 +-- hw/sparc/sun4m.c | 166 ++++++++++++++++--------------- hw/sparc64/sun4u.c | 58 ++++++----- hw/tricore/tricore_testboard.c | 16 ++- hw/unicore32/puv3.c | 16 ++- hw/xenpv/xen_machine_pv.c | 18 ++-- hw/xtensa/sim.c | 18 ++-- hw/xtensa/xtfpga.c | 59 ++++++----- 56 files changed, 567 insertions(+), 762 deletions(-) diff --git a/hw/alpha/dp264.c b/hw/alpha/dp264.c index f86e7bb..651e17b 100644 --- a/hw/alpha/dp264.c +++ b/hw/alpha/dp264.c @@ -168,17 +168,13 @@ static void clipper_init(MachineState *machine) } } -static QEMUMachine clipper_machine = { - .name = "clipper", - .desc = "Alpha DP264/CLIPPER", - .init = clipper_init, - .max_cpus = 4, - .is_default = 1, -}; - -static void clipper_machine_init(void) +static void clipper_machine_init(MachineClass *mc) { - qemu_register_machine(&clipper_machine); + mc->desc = "Alpha DP264/CLIPPER"; + mc->init = clipper_init; + mc->max_cpus = 4; + mc->is_default = 1; } -machine_init(clipper_machine_init); +DEFINE_MACHINE("clipper", clipper_machine_init); + diff --git a/hw/arm/collie.c b/hw/arm/collie.c index 6c9b82f..4d6c8e7 100644 --- a/hw/arm/collie.c +++ b/hw/arm/collie.c @@ -58,15 +58,11 @@ static void collie_init(MachineState *machine) arm_load_kernel(s->cpu, &collie_binfo); } -static QEMUMachine collie_machine = { - .name = "collie", - .desc = "Collie PDA (SA-1110)", - .init = collie_init, -}; - -static void collie_machine_init(void) +static void collie_machine_init(MachineClass *mc) { - qemu_register_machine(&collie_machine); + mc->desc = "Collie PDA (SA-1110)"; + mc->init = collie_init; } -machine_init(collie_machine_init) +DEFINE_MACHINE("collie", collie_machine_init); + diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c index 1582250..2274958 100644 --- a/hw/arm/cubieboard.c +++ b/hw/arm/cubieboard.c @@ -74,16 +74,12 @@ static void cubieboard_init(MachineState *machine) arm_load_kernel(&s->a10->cpu, &cubieboard_binfo); } -static QEMUMachine cubieboard_machine = { - .name = "cubieboard", - .desc = "cubietech cubieboard", - .init = cubieboard_init, -}; - - -static void cubieboard_machine_init(void) +static void cubieboard_machine_init(MachineClass *mc) { - qemu_register_machine(&cubieboard_machine); + mc->desc = "cubietech cubieboard"; + mc->init = cubieboard_init; } -machine_init(cubieboard_machine_init) +DEFINE_MACHINE("cubieboard", cubieboard_machine_init); + + diff --git a/hw/arm/digic_boards.c b/hw/arm/digic_boards.c index f8ba9e5..3a6364c 100644 --- a/hw/arm/digic_boards.c +++ b/hw/arm/digic_boards.c @@ -148,15 +148,11 @@ static void canon_a1100_init(MachineState *machine) digic4_board_init(&digic4_board_canon_a1100); } -static QEMUMachine canon_a1100 = { - .name = "canon-a1100", - .desc = "Canon PowerShot A1100 IS", - .init = &canon_a1100_init, -}; - -static void digic_register_machines(void) +static void canon_a1100_machine_init(MachineClass *mc) { - qemu_register_machine(&canon_a1100); + mc->desc = "Canon PowerShot A1100 IS"; + mc->init = &canon_a1100_init; } -machine_init(digic_register_machines) +DEFINE_MACHINE("canon-a1100", canon_a1100_machine_init); + diff --git a/hw/arm/exynos4_boards.c b/hw/arm/exynos4_boards.c index 35fc7c4..7c75acc 100644 --- a/hw/arm/exynos4_boards.c +++ b/hw/arm/exynos4_boards.c @@ -144,24 +144,21 @@ static void smdkc210_init(MachineState *machine) arm_load_kernel(ARM_CPU(first_cpu), &exynos4_board_binfo); } -static QEMUMachine exynos4_machine_nuri = { - .name = "nuri", - .desc = "Samsung NURI board (Exynos4210)", - .init = nuri_init, - .max_cpus = EXYNOS4210_NCPUS, -}; +static void exynos4_machine_nuri_machine_init(MachineClass *mc) +{ + mc->desc = "Samsung NURI board (Exynos4210)"; + mc->init = nuri_init; + mc->max_cpus = EXYNOS4210_NCPUS; +} -static QEMUMachine exynos4_machine_smdkc210 = { - .name = "smdkc210", - .desc = "Samsung SMDKC210 board (Exynos4210)", - .init = smdkc210_init, - .max_cpus = EXYNOS4210_NCPUS, -}; +DEFINE_MACHINE("nuri", exynos4_machine_nuri_machine_init); -static void exynos4_machine_init(void) +static void exynos4_machine_smdkc210_machine_init(MachineClass *mc) { - qemu_register_machine(&exynos4_machine_nuri); - qemu_register_machine(&exynos4_machine_smdkc210); + mc->desc = "Samsung SMDKC210 board (Exynos4210)"; + mc->init = smdkc210_init; + mc->max_cpus = EXYNOS4210_NCPUS; } -machine_init(exynos4_machine_init); +DEFINE_MACHINE("smdkc210", exynos4_machine_smdkc210_machine_init); + diff --git a/hw/arm/gumstix.c b/hw/arm/gumstix.c index 8103278..1dae67d 100644 --- a/hw/arm/gumstix.c +++ b/hw/arm/gumstix.c @@ -121,22 +121,19 @@ static void verdex_init(MachineState *machine) qdev_get_gpio_in(cpu->gpio, 99)); } -static QEMUMachine connex_machine = { - .name = "connex", - .desc = "Gumstix Connex (PXA255)", - .init = connex_init, -}; - -static QEMUMachine verdex_machine = { - .name = "verdex", - .desc = "Gumstix Verdex (PXA270)", - .init = verdex_init, -}; - -static void gumstix_machine_init(void) +static void connex_machine_init(MachineClass *mc) { - qemu_register_machine(&connex_machine); - qemu_register_machine(&verdex_machine); + mc->desc = "Gumstix Connex (PXA255)"; + mc->init = connex_init; } -machine_init(gumstix_machine_init); +DEFINE_MACHINE("connex", connex_machine_init); + +static void verdex_machine_init(MachineClass *mc) +{ + mc->desc = "Gumstix Verdex (PXA270)"; + mc->init = verdex_init; +} + +DEFINE_MACHINE("verdex", verdex_machine_init); + diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c index f8353a7..9b7b0db 100644 --- a/hw/arm/highbank.c +++ b/hw/arm/highbank.c @@ -391,26 +391,23 @@ static void midway_init(MachineState *machine) calxeda_init(machine, CALXEDA_MIDWAY); } -static QEMUMachine highbank_machine = { - .name = "highbank", - .desc = "Calxeda Highbank (ECX-1000)", - .init = highbank_init, - .block_default_type = IF_SCSI, - .max_cpus = 4, -}; +static void highbank_machine_init(MachineClass *mc) +{ + mc->desc = "Calxeda Highbank (ECX-1000)"; + mc->init = highbank_init; + mc->block_default_type = IF_SCSI; + mc->max_cpus = 4; +} -static QEMUMachine midway_machine = { - .name = "midway", - .desc = "Calxeda Midway (ECX-2000)", - .init = midway_init, - .block_default_type = IF_SCSI, - .max_cpus = 4, -}; +DEFINE_MACHINE("highbank", highbank_machine_init); -static void calxeda_machines_init(void) +static void midway_machine_init(MachineClass *mc) { - qemu_register_machine(&highbank_machine); - qemu_register_machine(&midway_machine); + mc->desc = "Calxeda Midway (ECX-2000)"; + mc->init = midway_init; + mc->block_default_type = IF_SCSI; + mc->max_cpus = 4; } -machine_init(calxeda_machines_init); +DEFINE_MACHINE("midway", midway_machine_init); + diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c index 0fbbf99..0641b73 100644 --- a/hw/arm/integratorcp.c +++ b/hw/arm/integratorcp.c @@ -619,18 +619,14 @@ static void integratorcp_init(MachineState *machine) arm_load_kernel(cpu, &integrator_binfo); } -static QEMUMachine integratorcp_machine = { - .name = "integratorcp", - .desc = "ARM Integrator/CP (ARM926EJ-S)", - .init = integratorcp_init, -}; - -static void integratorcp_machine_init(void) +static void integratorcp_machine_init(MachineClass *mc) { - qemu_register_machine(&integratorcp_machine); + mc->desc = "ARM Integrator/CP (ARM926EJ-S)"; + mc->init = integratorcp_init; } -machine_init(integratorcp_machine_init); +DEFINE_MACHINE("integratorcp", integratorcp_machine_init); + static Property core_properties[] = { DEFINE_PROP_UINT32("memsz", IntegratorCMState, memsz, 0), diff --git a/hw/arm/kzm.c b/hw/arm/kzm.c index d7af230..77ccc76 100644 --- a/hw/arm/kzm.c +++ b/hw/arm/kzm.c @@ -140,15 +140,11 @@ static void kzm_init(MachineState *machine) arm_load_kernel(cpu, &kzm_binfo); } -static QEMUMachine kzm_machine = { - .name = "kzm", - .desc = "ARM KZM Emulation Baseboard (ARM1136)", - .init = kzm_init, -}; - -static void kzm_machine_init(void) +static void kzm_machine_init(MachineClass *mc) { - qemu_register_machine(&kzm_machine); + mc->desc = "ARM KZM Emulation Baseboard (ARM1136)"; + mc->init = kzm_init; } -machine_init(kzm_machine_init) +DEFINE_MACHINE("kzm", kzm_machine_init); + diff --git a/hw/arm/mainstone.c b/hw/arm/mainstone.c index 0da02a6..7290d5e 100644 --- a/hw/arm/mainstone.c +++ b/hw/arm/mainstone.c @@ -188,15 +188,11 @@ static void mainstone_init(MachineState *machine) mainstone_common_init(get_system_memory(), machine, mainstone, 0x196); } -static QEMUMachine mainstone2_machine = { - .name = "mainstone", - .desc = "Mainstone II (PXA27x)", - .init = mainstone_init, -}; - -static void mainstone_machine_init(void) +static void mainstone2_machine_init(MachineClass *mc) { - qemu_register_machine(&mainstone2_machine); + mc->desc = "Mainstone II (PXA27x)"; + mc->init = mainstone_init; } -machine_init(mainstone_machine_init); +DEFINE_MACHINE("mainstone", mainstone2_machine_init); + diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c index 42f66b3..731f91b 100644 --- a/hw/arm/musicpal.c +++ b/hw/arm/musicpal.c @@ -1709,18 +1709,14 @@ static void musicpal_init(MachineState *machine) arm_load_kernel(cpu, &musicpal_binfo); } -static QEMUMachine musicpal_machine = { - .name = "musicpal", - .desc = "Marvell 88w8618 / MusicPal (ARM926EJ-S)", - .init = musicpal_init, -}; - -static void musicpal_machine_init(void) +static void musicpal_machine_init(MachineClass *mc) { - qemu_register_machine(&musicpal_machine); + mc->desc = "Marvell 88w8618 / MusicPal (ARM926EJ-S)"; + mc->init = musicpal_init; } -machine_init(musicpal_machine_init); +DEFINE_MACHINE("musicpal", musicpal_machine_init); + static void mv88w8618_wlan_class_init(ObjectClass *klass, void *data) { diff --git a/hw/arm/netduino2.c b/hw/arm/netduino2.c index 8f26780..976f69e 100644 --- a/hw/arm/netduino2.c +++ b/hw/arm/netduino2.c @@ -43,15 +43,11 @@ static void netduino2_init(MachineState *machine) } } -static QEMUMachine netduino2_machine = { - .name = "netduino2", - .desc = "Netduino 2 Machine", - .init = netduino2_init, -}; - -static void netduino2_machine_init(void) +static void netduino2_machine_init(MachineClass *mc) { - qemu_register_machine(&netduino2_machine); + mc->desc = "Netduino 2 Machine"; + mc->init = netduino2_init; } -machine_init(netduino2_machine_init); +DEFINE_MACHINE("netduino2", netduino2_machine_init); + diff --git a/hw/arm/nseries.c b/hw/arm/nseries.c index a659e85..56ded1f 100644 --- a/hw/arm/nseries.c +++ b/hw/arm/nseries.c @@ -1413,24 +1413,21 @@ static void n810_init(MachineState *machine) n8x0_init(machine, &n810_binfo, 810); } -static QEMUMachine n800_machine = { - .name = "n800", - .desc = "Nokia N800 tablet aka. RX-34 (OMAP2420)", - .init = n800_init, - .default_boot_order = "", -}; +static void n800_machine_init(MachineClass *mc) +{ + mc->desc = "Nokia N800 tablet aka. RX-34 (OMAP2420)"; + mc->init = n800_init; + mc->default_boot_order = ""; +} -static QEMUMachine n810_machine = { - .name = "n810", - .desc = "Nokia N810 tablet aka. RX-44 (OMAP2420)", - .init = n810_init, - .default_boot_order = "", -}; +DEFINE_MACHINE("n800", n800_machine_init); -static void nseries_machine_init(void) +static void n810_machine_init(MachineClass *mc) { - qemu_register_machine(&n800_machine); - qemu_register_machine(&n810_machine); + mc->desc = "Nokia N810 tablet aka. RX-44 (OMAP2420)"; + mc->init = n810_init; + mc->default_boot_order = ""; } -machine_init(nseries_machine_init); +DEFINE_MACHINE("n810", n810_machine_init); + diff --git a/hw/arm/omap_sx1.c b/hw/arm/omap_sx1.c index 4b0f7f9..4e18c63 100644 --- a/hw/arm/omap_sx1.c +++ b/hw/arm/omap_sx1.c @@ -217,22 +217,19 @@ static void sx1_init_v2(MachineState *machine) sx1_init(machine, 2); } -static QEMUMachine sx1_machine_v2 = { - .name = "sx1", - .desc = "Siemens SX1 (OMAP310) V2", - .init = sx1_init_v2, -}; +static void sx1_machine_v2_machine_init(MachineClass *mc) +{ + mc->desc = "Siemens SX1 (OMAP310) V2"; + mc->init = sx1_init_v2; +} -static QEMUMachine sx1_machine_v1 = { - .name = "sx1-v1", - .desc = "Siemens SX1 (OMAP310) V1", - .init = sx1_init_v1, -}; +DEFINE_MACHINE("sx1", sx1_machine_v2_machine_init); -static void sx1_machine_init(void) +static void sx1_machine_v1_machine_init(MachineClass *mc) { - qemu_register_machine(&sx1_machine_v2); - qemu_register_machine(&sx1_machine_v1); + mc->desc = "Siemens SX1 (OMAP310) V1"; + mc->init = sx1_init_v1; } -machine_init(sx1_machine_init); +DEFINE_MACHINE("sx1-v1", sx1_machine_v1_machine_init); + diff --git a/hw/arm/palm.c b/hw/arm/palm.c index 7f1cfb8..dd93c19 100644 --- a/hw/arm/palm.c +++ b/hw/arm/palm.c @@ -269,15 +269,11 @@ static void palmte_init(MachineState *machine) arm_load_kernel(mpu->cpu, &palmte_binfo); } -static QEMUMachine palmte_machine = { - .name = "cheetah", - .desc = "Palm Tungsten|E aka. Cheetah PDA (OMAP310)", - .init = palmte_init, -}; - -static void palmte_machine_init(void) +static void palmte_machine_init(MachineClass *mc) { - qemu_register_machine(&palmte_machine); + mc->desc = "Palm Tungsten|E aka. Cheetah PDA (OMAP310)"; + mc->init = palmte_init; } -machine_init(palmte_machine_init); +DEFINE_MACHINE("cheetah", palmte_machine_init); + diff --git a/hw/arm/realview.c b/hw/arm/realview.c index ef2788d..839d959 100644 --- a/hw/arm/realview.c +++ b/hw/arm/realview.c @@ -399,41 +399,40 @@ static void realview_pbx_a9_init(MachineState *machine) realview_init(machine, BOARD_PBX_A9); } -static QEMUMachine realview_eb_machine = { - .name = "realview-eb", - .desc = "ARM RealView Emulation Baseboard (ARM926EJ-S)", - .init = realview_eb_init, - .block_default_type = IF_SCSI, -}; +static void realview_eb_machine_init(MachineClass *mc) +{ + mc->desc = "ARM RealView Emulation Baseboard (ARM926EJ-S)"; + mc->init = realview_eb_init; + mc->block_default_type = IF_SCSI; +} -static QEMUMachine realview_eb_mpcore_machine = { - .name = "realview-eb-mpcore", - .desc = "ARM RealView Emulation Baseboard (ARM11MPCore)", - .init = realview_eb_mpcore_init, - .block_default_type = IF_SCSI, - .max_cpus = 4, -}; +DEFINE_MACHINE("realview-eb", realview_eb_machine_init); -static QEMUMachine realview_pb_a8_machine = { - .name = "realview-pb-a8", - .desc = "ARM RealView Platform Baseboard for Cortex-A8", - .init = realview_pb_a8_init, -}; +static void realview_eb_mpcore_machine_init(MachineClass *mc) +{ + mc->desc = "ARM RealView Emulation Baseboard (ARM11MPCore)"; + mc->init = realview_eb_mpcore_init; + mc->block_default_type = IF_SCSI; + mc->max_cpus = 4; +} -static QEMUMachine realview_pbx_a9_machine = { - .name = "realview-pbx-a9", - .desc = "ARM RealView Platform Baseboard Explore for Cortex-A9", - .init = realview_pbx_a9_init, - .block_default_type = IF_SCSI, - .max_cpus = 4, -}; +DEFINE_MACHINE("realview-eb-mpcore", realview_eb_mpcore_machine_init); + +static void realview_pb_a8_machine_init(MachineClass *mc) +{ + mc->desc = "ARM RealView Platform Baseboard for Cortex-A8"; + mc->init = realview_pb_a8_init; +} + +DEFINE_MACHINE("realview-pb-a8", realview_pb_a8_machine_init); -static void realview_machine_init(void) +static void realview_pbx_a9_machine_init(MachineClass *mc) { - qemu_register_machine(&realview_eb_machine); - qemu_register_machine(&realview_eb_mpcore_machine); - qemu_register_machine(&realview_pb_a8_machine); - qemu_register_machine(&realview_pbx_a9_machine); + mc->desc = "ARM RealView Platform Baseboard Explore for Cortex-A9"; + mc->init = realview_pbx_a9_init; + mc->block_default_type = IF_SCSI; + mc->max_cpus = 4; } -machine_init(realview_machine_init); +DEFINE_MACHINE("realview-pbx-a9", realview_pbx_a9_machine_init); + diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c index 5bf032a..9a19664 100644 --- a/hw/arm/spitz.c +++ b/hw/arm/spitz.c @@ -972,39 +972,38 @@ static void terrier_init(MachineState *machine) spitz_common_init(machine, terrier, 0x33f); } -static QEMUMachine akitapda_machine = { - .name = "akita", - .desc = "Akita PDA (PXA270)", - .init = akita_init, -}; +static void akitapda_machine_init(MachineClass *mc) +{ + mc->desc = "Akita PDA (PXA270)"; + mc->init = akita_init; +} -static QEMUMachine spitzpda_machine = { - .name = "spitz", - .desc = "Spitz PDA (PXA270)", - .init = spitz_init, -}; +DEFINE_MACHINE("akita", akitapda_machine_init); -static QEMUMachine borzoipda_machine = { - .name = "borzoi", - .desc = "Borzoi PDA (PXA270)", - .init = borzoi_init, -}; +static void spitzpda_machine_init(MachineClass *mc) +{ + mc->desc = "Spitz PDA (PXA270)"; + mc->init = spitz_init; +} -static QEMUMachine terrierpda_machine = { - .name = "terrier", - .desc = "Terrier PDA (PXA270)", - .init = terrier_init, -}; +DEFINE_MACHINE("spitz", spitzpda_machine_init); + +static void borzoipda_machine_init(MachineClass *mc) +{ + mc->desc = "Borzoi PDA (PXA270)"; + mc->init = borzoi_init; +} + +DEFINE_MACHINE("borzoi", borzoipda_machine_init); -static void spitz_machine_init(void) +static void terrierpda_machine_init(MachineClass *mc) { - qemu_register_machine(&akitapda_machine); - qemu_register_machine(&spitzpda_machine); - qemu_register_machine(&borzoipda_machine); - qemu_register_machine(&terrierpda_machine); + mc->desc = "Terrier PDA (PXA270)"; + mc->init = terrier_init; } -machine_init(spitz_machine_init); +DEFINE_MACHINE("terrier", terrierpda_machine_init); + static bool is_version_0(void *opaque, int version_id) { diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c index cb515ec..89e5aab 100644 --- a/hw/arm/stellaris.c +++ b/hw/arm/stellaris.c @@ -1366,25 +1366,22 @@ static void lm3s6965evb_init(MachineState *machine) stellaris_init(kernel_filename, cpu_model, &stellaris_boards[1]); } -static QEMUMachine lm3s811evb_machine = { - .name = "lm3s811evb", - .desc = "Stellaris LM3S811EVB", - .init = lm3s811evb_init, -}; +static void lm3s811evb_machine_init(MachineClass *mc) +{ + mc->desc = "Stellaris LM3S811EVB"; + mc->init = lm3s811evb_init; +} -static QEMUMachine lm3s6965evb_machine = { - .name = "lm3s6965evb", - .desc = "Stellaris LM3S6965EVB", - .init = lm3s6965evb_init, -}; +DEFINE_MACHINE("lm3s811evb", lm3s811evb_machine_init); -static void stellaris_machine_init(void) +static void lm3s6965evb_machine_init(MachineClass *mc) { - qemu_register_machine(&lm3s811evb_machine); - qemu_register_machine(&lm3s6965evb_machine); + mc->desc = "Stellaris LM3S6965EVB"; + mc->init = lm3s6965evb_init; } -machine_init(stellaris_machine_init); +DEFINE_MACHINE("lm3s6965evb", lm3s6965evb_machine_init); + static void stellaris_i2c_class_init(ObjectClass *klass, void *data) { diff --git a/hw/arm/tosa.c b/hw/arm/tosa.c index 73572eb..641e8c6 100644 --- a/hw/arm/tosa.c +++ b/hw/arm/tosa.c @@ -252,18 +252,14 @@ static void tosa_init(MachineState *machine) sl_bootparam_write(SL_PXA_PARAM_BASE); } -static QEMUMachine tosapda_machine = { - .name = "tosa", - .desc = "Tosa PDA (PXA255)", - .init = tosa_init, -}; - -static void tosapda_machine_init(void) +static void tosapda_machine_init(MachineClass *mc) { - qemu_register_machine(&tosapda_machine); + mc->desc = "Tosa PDA (PXA255)"; + mc->init = tosa_init; } -machine_init(tosapda_machine_init); +DEFINE_MACHINE("tosa", tosapda_machine_init); + static void tosa_dac_class_init(ObjectClass *klass, void *data) { diff --git a/hw/arm/versatilepb.c b/hw/arm/versatilepb.c index 6c69f4e..e200865 100644 --- a/hw/arm/versatilepb.c +++ b/hw/arm/versatilepb.c @@ -391,27 +391,24 @@ static void vab_init(MachineState *machine) versatile_init(machine, 0x25e); } -static QEMUMachine versatilepb_machine = { - .name = "versatilepb", - .desc = "ARM Versatile/PB (ARM926EJ-S)", - .init = vpb_init, - .block_default_type = IF_SCSI, -}; +static void versatilepb_machine_init(MachineClass *mc) +{ + mc->desc = "ARM Versatile/PB (ARM926EJ-S)"; + mc->init = vpb_init; + mc->block_default_type = IF_SCSI; +} -static QEMUMachine versatileab_machine = { - .name = "versatileab", - .desc = "ARM Versatile/AB (ARM926EJ-S)", - .init = vab_init, - .block_default_type = IF_SCSI, -}; +DEFINE_MACHINE("versatilepb", versatilepb_machine_init); -static void versatile_machine_init(void) +static void versatileab_machine_init(MachineClass *mc) { - qemu_register_machine(&versatilepb_machine); - qemu_register_machine(&versatileab_machine); + mc->desc = "ARM Versatile/AB (ARM926EJ-S)"; + mc->init = vab_init; + mc->block_default_type = IF_SCSI; } -machine_init(versatile_machine_init); +DEFINE_MACHINE("versatileab", versatileab_machine_init); + static void vpb_sic_class_init(ObjectClass *klass, void *data) { diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c index a4e7b5c..4e03ce1 100644 --- a/hw/arm/xilinx_zynq.c +++ b/hw/arm/xilinx_zynq.c @@ -255,18 +255,14 @@ static void zynq_init(MachineState *machine) arm_load_kernel(ARM_CPU(first_cpu), &zynq_binfo); } -static QEMUMachine zynq_machine = { - .name = "xilinx-zynq-a9", - .desc = "Xilinx Zynq Platform Baseboard for Cortex-A9", - .init = zynq_init, - .block_default_type = IF_SCSI, - .max_cpus = 1, - .no_sdcard = 1, -}; - -static void zynq_machine_init(void) +static void zynq_machine_init(MachineClass *mc) { - qemu_register_machine(&zynq_machine); + mc->desc = "Xilinx Zynq Platform Baseboard for Cortex-A9"; + mc->init = zynq_init; + mc->block_default_type = IF_SCSI; + mc->max_cpus = 1; + mc->no_sdcard = 1; } -machine_init(zynq_machine_init); +DEFINE_MACHINE("xilinx-zynq-a9", zynq_machine_init); + diff --git a/hw/arm/xlnx-ep108.c b/hw/arm/xlnx-ep108.c index f94da86..07a98ef 100644 --- a/hw/arm/xlnx-ep108.c +++ b/hw/arm/xlnx-ep108.c @@ -68,15 +68,11 @@ static void xlnx_ep108_init(MachineState *machine) arm_load_kernel(s->soc.boot_cpu_ptr, &xlnx_ep108_binfo); } -static QEMUMachine xlnx_ep108_machine = { - .name = "xlnx-ep108", - .desc = "Xilinx ZynqMP EP108 board", - .init = xlnx_ep108_init, -}; - -static void xlnx_ep108_machine_init(void) +static void xlnx_ep108_machine_init(MachineClass *mc) { - qemu_register_machine(&xlnx_ep108_machine); + mc->desc = "Xilinx ZynqMP EP108 board"; + mc->init = xlnx_ep108_init; } -machine_init(xlnx_ep108_machine_init); +DEFINE_MACHINE("xlnx-ep108", xlnx_ep108_machine_init); + diff --git a/hw/arm/z2.c b/hw/arm/z2.c index 1735547..9961b7b 100644 --- a/hw/arm/z2.c +++ b/hw/arm/z2.c @@ -372,15 +372,11 @@ static void z2_init(MachineState *machine) arm_load_kernel(mpu->cpu, &z2_binfo); } -static QEMUMachine z2_machine = { - .name = "z2", - .desc = "Zipit Z2 (PXA27x)", - .init = z2_init, -}; - -static void z2_machine_init(void) +static void z2_machine_init(MachineClass *mc) { - qemu_register_machine(&z2_machine); + mc->desc = "Zipit Z2 (PXA27x)"; + mc->init = z2_init; } -machine_init(z2_machine_init); +DEFINE_MACHINE("z2", z2_machine_init); + diff --git a/hw/core/null-machine.c b/hw/core/null-machine.c index 1ec7c3b..3157529 100644 --- a/hw/core/null-machine.c +++ b/hw/core/null-machine.c @@ -19,17 +19,13 @@ static void machine_none_init(MachineState *machine) { } -static QEMUMachine machine_none = { - .name = "none", - .desc = "empty machine", - .init = machine_none_init, - .max_cpus = 0, -}; - -static void register_machines(void) +static void machine_none_machine_init(MachineClass *mc) { - qemu_register_machine(&machine_none); + mc->desc = "empty machine"; + mc->init = machine_none_init; + mc->max_cpus = 0; } -machine_init(register_machines); +DEFINE_MACHINE("none", machine_none_machine_init); + diff --git a/hw/cris/axis_dev88.c b/hw/cris/axis_dev88.c index 3cae480..7e04c12 100644 --- a/hw/cris/axis_dev88.c +++ b/hw/cris/axis_dev88.c @@ -351,16 +351,12 @@ void axisdev88_init(MachineState *machine) } } -static QEMUMachine axisdev88_machine = { - .name = "axis-dev88", - .desc = "AXIS devboard 88", - .init = axisdev88_init, - .is_default = 1, -}; - -static void axisdev88_machine_init(void) +static void axisdev88_machine_init(MachineClass *mc) { - qemu_register_machine(&axisdev88_machine); + mc->desc = "AXIS devboard 88"; + mc->init = axisdev88_init; + mc->is_default = 1; } -machine_init(axisdev88_machine_init); +DEFINE_MACHINE("axis-dev88", axisdev88_machine_init); + diff --git a/hw/lm32/lm32_boards.c b/hw/lm32/lm32_boards.c index 70f48d3..48a4f2b 100644 --- a/hw/lm32/lm32_boards.c +++ b/hw/lm32/lm32_boards.c @@ -292,24 +292,21 @@ static void lm32_uclinux_init(MachineState *machine) qemu_register_reset(main_cpu_reset, reset_info); } -static QEMUMachine lm32_evr_machine = { - .name = "lm32-evr", - .desc = "LatticeMico32 EVR32 eval system", - .init = lm32_evr_init, - .is_default = 1, -}; - -static QEMUMachine lm32_uclinux_machine = { - .name = "lm32-uclinux", - .desc = "lm32 platform for uClinux and u-boot by Theobroma Systems", - .init = lm32_uclinux_init, - .is_default = 0, -}; - -static void lm32_machine_init(void) +static void lm32_evr_machine_init(MachineClass *mc) { - qemu_register_machine(&lm32_uclinux_machine); - qemu_register_machine(&lm32_evr_machine); + mc->desc = "LatticeMico32 EVR32 eval system"; + mc->init = lm32_evr_init; + mc->is_default = 1; } -machine_init(lm32_machine_init); +DEFINE_MACHINE("lm32-evr", lm32_evr_machine_init); + +static void lm32_uclinux_machine_init(MachineClass *mc) +{ + mc->desc = "lm32 platform for uClinux and u-boot by Theobroma Systems"; + mc->init = lm32_uclinux_init; + mc->is_default = 0; +} + +DEFINE_MACHINE("lm32-uclinux", lm32_uclinux_machine_init); + diff --git a/hw/lm32/milkymist.c b/hw/lm32/milkymist.c index e755f5b..447750b 100644 --- a/hw/lm32/milkymist.c +++ b/hw/lm32/milkymist.c @@ -209,16 +209,12 @@ milkymist_init(MachineState *machine) qemu_register_reset(main_cpu_reset, reset_info); } -static QEMUMachine milkymist_machine = { - .name = "milkymist", - .desc = "Milkymist One", - .init = milkymist_init, - .is_default = 0, -}; - -static void milkymist_machine_init(void) +static void milkymist_machine_init(MachineClass *mc) { - qemu_register_machine(&milkymist_machine); + mc->desc = "Milkymist One"; + mc->init = milkymist_init; + mc->is_default = 0; } -machine_init(milkymist_machine_init); +DEFINE_MACHINE("milkymist", milkymist_machine_init); + diff --git a/hw/m68k/an5206.c b/hw/m68k/an5206.c index f63ab2b..069eff1 100644 --- a/hw/m68k/an5206.c +++ b/hw/m68k/an5206.c @@ -89,15 +89,11 @@ static void an5206_init(MachineState *machine) env->pc = entry; } -static QEMUMachine an5206_machine = { - .name = "an5206", - .desc = "Arnewsh 5206", - .init = an5206_init, -}; - -static void an5206_machine_init(void) +static void an5206_machine_init(MachineClass *mc) { - qemu_register_machine(&an5206_machine); + mc->desc = "Arnewsh 5206"; + mc->init = an5206_init; } -machine_init(an5206_machine_init); +DEFINE_MACHINE("an5206", an5206_machine_init); + diff --git a/hw/m68k/dummy_m68k.c b/hw/m68k/dummy_m68k.c index 5b77d93..b388daf 100644 --- a/hw/m68k/dummy_m68k.c +++ b/hw/m68k/dummy_m68k.c @@ -72,15 +72,11 @@ static void dummy_m68k_init(MachineState *machine) env->pc = entry; } -static QEMUMachine dummy_m68k_machine = { - .name = "dummy", - .desc = "Dummy board", - .init = dummy_m68k_init, -}; - -static void dummy_m68k_machine_init(void) +static void dummy_m68k_machine_init(MachineClass *mc) { - qemu_register_machine(&dummy_m68k_machine); + mc->desc = "Dummy board"; + mc->init = dummy_m68k_init; } -machine_init(dummy_m68k_machine_init); +DEFINE_MACHINE("dummy", dummy_m68k_machine_init); + diff --git a/hw/m68k/mcf5208.c b/hw/m68k/mcf5208.c index 326a42d..a35220e 100644 --- a/hw/m68k/mcf5208.c +++ b/hw/m68k/mcf5208.c @@ -294,16 +294,12 @@ static void mcf5208evb_init(MachineState *machine) env->pc = entry; } -static QEMUMachine mcf5208evb_machine = { - .name = "mcf5208evb", - .desc = "MCF5206EVB", - .init = mcf5208evb_init, - .is_default = 1, -}; - -static void mcf5208evb_machine_init(void) +static void mcf5208evb_machine_init(MachineClass *mc) { - qemu_register_machine(&mcf5208evb_machine); + mc->desc = "MCF5206EVB"; + mc->init = mcf5208evb_init; + mc->is_default = 1; } -machine_init(mcf5208evb_machine_init); +DEFINE_MACHINE("mcf5208evb", mcf5208evb_machine_init); + diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c index ed84a37..b8474ab 100644 --- a/hw/microblaze/petalogix_ml605_mmu.c +++ b/hw/microblaze/petalogix_ml605_mmu.c @@ -206,16 +206,12 @@ petalogix_ml605_init(MachineState *machine) } -static QEMUMachine petalogix_ml605_machine = { - .name = "petalogix-ml605", - .desc = "PetaLogix linux refdesign for xilinx ml605 little endian", - .init = petalogix_ml605_init, - .is_default = 0, -}; - -static void petalogix_ml605_machine_init(void) +static void petalogix_ml605_machine_init(MachineClass *mc) { - qemu_register_machine(&petalogix_ml605_machine); + mc->desc = "PetaLogix linux refdesign for xilinx ml605 little endian"; + mc->init = petalogix_ml605_init; + mc->is_default = 0; } -machine_init(petalogix_ml605_machine_init); +DEFINE_MACHINE("petalogix-ml605", petalogix_ml605_machine_init); + diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c index 0c2140c..9f41f66 100644 --- a/hw/microblaze/petalogix_s3adsp1800_mmu.c +++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c @@ -124,16 +124,12 @@ petalogix_s3adsp1800_init(MachineState *machine) NULL); } -static QEMUMachine petalogix_s3adsp1800_machine = { - .name = "petalogix-s3adsp1800", - .desc = "PetaLogix linux refdesign for xilinx Spartan 3ADSP1800", - .init = petalogix_s3adsp1800_init, - .is_default = 1, -}; - -static void petalogix_s3adsp1800_machine_init(void) +static void petalogix_s3adsp1800_machine_init(MachineClass *mc) { - qemu_register_machine(&petalogix_s3adsp1800_machine); + mc->desc = "PetaLogix linux refdesign for xilinx Spartan 3ADSP1800"; + mc->init = petalogix_s3adsp1800_init; + mc->is_default = 1; } -machine_init(petalogix_s3adsp1800_machine_init); +DEFINE_MACHINE("petalogix-s3adsp1800", petalogix_s3adsp1800_machine_init); + diff --git a/hw/mips/mips_fulong2e.c b/hw/mips/mips_fulong2e.c index dea941a..5f0db1a 100644 --- a/hw/mips/mips_fulong2e.c +++ b/hw/mips/mips_fulong2e.c @@ -392,15 +392,11 @@ static void mips_fulong2e_init(MachineState *machine) network_init(pci_bus); } -static QEMUMachine mips_fulong2e_machine = { - .name = "fulong2e", - .desc = "Fulong 2e mini pc", - .init = mips_fulong2e_init, -}; - -static void mips_fulong2e_machine_init(void) +static void mips_fulong2e_machine_init(MachineClass *mc) { - qemu_register_machine(&mips_fulong2e_machine); + mc->desc = "Fulong 2e mini pc"; + mc->init = mips_fulong2e_init; } -machine_init(mips_fulong2e_machine_init); +DEFINE_MACHINE("fulong2e", mips_fulong2e_machine_init); + diff --git a/hw/mips/mips_jazz.c b/hw/mips/mips_jazz.c index 9d60633..ed8fde3 100644 --- a/hw/mips/mips_jazz.c +++ b/hw/mips/mips_jazz.c @@ -360,24 +360,21 @@ void mips_pica61_init(MachineState *machine) mips_jazz_init(machine, JAZZ_PICA61); } -static QEMUMachine mips_magnum_machine = { - .name = "magnum", - .desc = "MIPS Magnum", - .init = mips_magnum_init, - .block_default_type = IF_SCSI, -}; +static void mips_magnum_machine_init(MachineClass *mc) +{ + mc->desc = "MIPS Magnum"; + mc->init = mips_magnum_init; + mc->block_default_type = IF_SCSI; +} -static QEMUMachine mips_pica61_machine = { - .name = "pica61", - .desc = "Acer Pica 61", - .init = mips_pica61_init, - .block_default_type = IF_SCSI, -}; +DEFINE_MACHINE("magnum", mips_magnum_machine_init); -static void mips_jazz_machine_init(void) +static void mips_pica61_machine_init(MachineClass *mc) { - qemu_register_machine(&mips_magnum_machine); - qemu_register_machine(&mips_pica61_machine); + mc->desc = "Acer Pica 61"; + mc->init = mips_pica61_init; + mc->block_default_type = IF_SCSI; } -machine_init(mips_jazz_machine_init); +DEFINE_MACHINE("pica61", mips_pica61_machine_init); + diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c index 3082e75..1019ee8 100644 --- a/hw/mips/mips_malta.c +++ b/hw/mips/mips_malta.c @@ -1216,23 +1216,19 @@ static const TypeInfo mips_malta_device = { .class_init = mips_malta_class_init, }; -static QEMUMachine mips_malta_machine = { - .name = "malta", - .desc = "MIPS Malta Core LV", - .init = mips_malta_init, - .max_cpus = 16, - .is_default = 1, -}; - -static void mips_malta_register_types(void) +static void mips_malta_machine_init(MachineClass *mc) { - type_register_static(&mips_malta_device); + mc->desc = "MIPS Malta Core LV"; + mc->init = mips_malta_init; + mc->max_cpus = 16; + mc->is_default = 1; } -static void mips_malta_machine_init(void) +DEFINE_MACHINE("malta", mips_malta_machine_init); + +static void mips_malta_register_types(void) { - qemu_register_machine(&mips_malta_machine); + type_register_static(&mips_malta_device); } type_init(mips_malta_register_types) -machine_init(mips_malta_machine_init); diff --git a/hw/mips/mips_mipssim.c b/hw/mips/mips_mipssim.c index 61f74a6..490af96 100644 --- a/hw/mips/mips_mipssim.c +++ b/hw/mips/mips_mipssim.c @@ -231,15 +231,11 @@ mips_mipssim_init(MachineState *machine) mipsnet_init(0x4200, env->irq[2], &nd_table[0]); } -static QEMUMachine mips_mipssim_machine = { - .name = "mipssim", - .desc = "MIPS MIPSsim platform", - .init = mips_mipssim_init, -}; - -static void mips_mipssim_machine_init(void) +static void mips_mipssim_machine_init(MachineClass *mc) { - qemu_register_machine(&mips_mipssim_machine); + mc->desc = "MIPS MIPSsim platform"; + mc->init = mips_mipssim_init; } -machine_init(mips_mipssim_machine_init); +DEFINE_MACHINE("mipssim", mips_mipssim_machine_init); + diff --git a/hw/mips/mips_r4k.c b/hw/mips/mips_r4k.c index f4dcacd..6060017 100644 --- a/hw/mips/mips_r4k.c +++ b/hw/mips/mips_r4k.c @@ -300,15 +300,11 @@ void mips_r4k_init(MachineState *machine) isa_create_simple(isa_bus, "i8042"); } -static QEMUMachine mips_machine = { - .name = "mips", - .desc = "mips r4k platform", - .init = mips_r4k_init, -}; - -static void mips_machine_init(void) +static void mips_machine_init(MachineClass *mc) { - qemu_register_machine(&mips_machine); + mc->desc = "mips r4k platform"; + mc->init = mips_r4k_init; } -machine_init(mips_machine_init); +DEFINE_MACHINE("mips", mips_machine_init); + diff --git a/hw/moxie/moxiesim.c b/hw/moxie/moxiesim.c index 80bcc5b..817ad7f 100644 --- a/hw/moxie/moxiesim.c +++ b/hw/moxie/moxiesim.c @@ -146,16 +146,12 @@ static void moxiesim_init(MachineState *machine) } } -static QEMUMachine moxiesim_machine = { - .name = "moxiesim", - .desc = "Moxie simulator platform", - .init = moxiesim_init, - .is_default = 1, -}; - -static void moxie_machine_init(void) +static void moxiesim_machine_init(MachineClass *mc) { - qemu_register_machine(&moxiesim_machine); + mc->desc = "Moxie simulator platform"; + mc->init = moxiesim_init; + mc->is_default = 1; } -machine_init(moxie_machine_init) +DEFINE_MACHINE("moxiesim", moxiesim_machine_init); + diff --git a/hw/openrisc/openrisc_sim.c b/hw/openrisc/openrisc_sim.c index 1da0657..3d5fb35 100644 --- a/hw/openrisc/openrisc_sim.c +++ b/hw/openrisc/openrisc_sim.c @@ -132,17 +132,13 @@ static void openrisc_sim_init(MachineState *machine) cpu_openrisc_load_kernel(ram_size, kernel_filename, cpu); } -static QEMUMachine openrisc_sim_machine = { - .name = "or32-sim", - .desc = "or32 simulation", - .init = openrisc_sim_init, - .max_cpus = 1, - .is_default = 1, -}; - -static void openrisc_sim_machine_init(void) +static void openrisc_sim_machine_init(MachineClass *mc) { - qemu_register_machine(&openrisc_sim_machine); + mc->desc = "or32 simulation"; + mc->init = openrisc_sim_init; + mc->max_cpus = 1; + mc->is_default = 1; } -machine_init(openrisc_sim_machine_init); +DEFINE_MACHINE("or32-sim", openrisc_sim_machine_init); + diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c index 14b14ea..66ad697 100644 --- a/hw/ppc/e500plat.c +++ b/hw/ppc/e500plat.c @@ -57,17 +57,13 @@ static void e500plat_init(MachineState *machine) ppce500_init(machine, ¶ms); } -static QEMUMachine e500plat_machine = { - .name = "ppce500", - .desc = "generic paravirt e500 platform", - .init = e500plat_init, - .max_cpus = 32, - .has_dynamic_sysbus = true, -}; - -static void e500plat_machine_init(void) +static void e500plat_machine_init(MachineClass *mc) { - qemu_register_machine(&e500plat_machine); + mc->desc = "generic paravirt e500 platform"; + mc->init = e500plat_init; + mc->max_cpus = 32; + mc->has_dynamic_sysbus = true; } -machine_init(e500plat_machine_init); +DEFINE_MACHINE("ppce500", e500plat_machine_init); + diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c index b72d67d..2df327c 100644 --- a/hw/ppc/mac_oldworld.c +++ b/hw/ppc/mac_oldworld.c @@ -357,22 +357,18 @@ static int heathrow_kvm_type(const char *arg) return 2; } -static QEMUMachine heathrow_machine = { - .name = "g3beige", - .desc = "Heathrow based PowerMAC", - .init = ppc_heathrow_init, - .max_cpus = MAX_CPUS, +static void heathrow_machine_init(MachineClass *mc) +{ + mc->desc = "Heathrow based PowerMAC"; + mc->init = ppc_heathrow_init; + mc->max_cpus = MAX_CPUS; #ifndef TARGET_PPC64 - .is_default = 1, + mc->is_default = 1; #endif /* TOFIX "cad" when Mac floppy is implemented */ - .default_boot_order = "cd", - .kvm_type = heathrow_kvm_type, -}; - -static void heathrow_machine_init(void) -{ - qemu_register_machine(&heathrow_machine); + mc->default_boot_order = "cd"; + mc->kvm_type = heathrow_kvm_type; } -machine_init(heathrow_machine_init); +DEFINE_MACHINE("g3beige", heathrow_machine_init); + diff --git a/hw/ppc/mpc8544ds.c b/hw/ppc/mpc8544ds.c index 3a3b141..494ac07 100644 --- a/hw/ppc/mpc8544ds.c +++ b/hw/ppc/mpc8544ds.c @@ -50,16 +50,12 @@ static void mpc8544ds_init(MachineState *machine) } -static QEMUMachine ppce500_machine = { - .name = "mpc8544ds", - .desc = "mpc8544ds", - .init = mpc8544ds_init, - .max_cpus = 15, -}; - -static void ppce500_machine_init(void) +static void ppce500_machine_init(MachineClass *mc) { - qemu_register_machine(&ppce500_machine); + mc->desc = "mpc8544ds"; + mc->init = mpc8544ds_init; + mc->max_cpus = 15; } -machine_init(ppce500_machine_init); +DEFINE_MACHINE("mpc8544ds", ppce500_machine_init); + diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c index ec6c4cb..ded50ad 100644 --- a/hw/ppc/ppc405_boards.c +++ b/hw/ppc/ppc405_boards.c @@ -368,11 +368,13 @@ static void ref405ep_init(MachineState *machine) #endif } -static QEMUMachine ref405ep_machine = { - .name = "ref405ep", - .desc = "ref405ep", - .init = ref405ep_init, -}; +static void ref405ep_machine_init(MachineClass *mc) +{ + mc->desc = "ref405ep"; + mc->init = ref405ep_init; +} + +DEFINE_MACHINE("ref405ep", ref405ep_machine_init); /*****************************************************************************/ /* AMCC Taihu evaluation board */ @@ -664,16 +666,11 @@ static void taihu_405ep_init(MachineState *machine) #endif } -static QEMUMachine taihu_machine = { - .name = "taihu", - .desc = "taihu", - .init = taihu_405ep_init, -}; - -static void ppc405_machine_init(void) +static void taihu_machine_init(MachineClass *mc) { - qemu_register_machine(&ref405ep_machine); - qemu_register_machine(&taihu_machine); + mc->desc = "taihu"; + mc->init = taihu_405ep_init; } -machine_init(ppc405_machine_init); +DEFINE_MACHINE("taihu", taihu_machine_init); + diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c index 032fa80..e17dbe1 100644 --- a/hw/ppc/ppc440_bamboo.c +++ b/hw/ppc/ppc440_bamboo.c @@ -293,15 +293,11 @@ static void bamboo_init(MachineState *machine) kvmppc_init(); } -static QEMUMachine bamboo_machine = { - .name = "bamboo", - .desc = "bamboo", - .init = bamboo_init, -}; - -static void bamboo_machine_init(void) +static void bamboo_machine_init(MachineClass *mc) { - qemu_register_machine(&bamboo_machine); + mc->desc = "bamboo"; + mc->init = bamboo_init; } -machine_init(bamboo_machine_init); +DEFINE_MACHINE("bamboo", bamboo_machine_init); + diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c index 45b5f62..4b9cafc 100644 --- a/hw/ppc/prep.c +++ b/hw/ppc/prep.c @@ -698,17 +698,13 @@ static void ppc_prep_init(MachineState *machine) graphic_width, graphic_height, graphic_depth); } -static QEMUMachine prep_machine = { - .name = "prep", - .desc = "PowerPC PREP platform", - .init = ppc_prep_init, - .max_cpus = MAX_CPUS, - .default_boot_order = "cad", -}; - -static void prep_machine_init(void) +static void prep_machine_init(MachineClass *mc) { - qemu_register_machine(&prep_machine); + mc->desc = "PowerPC PREP platform"; + mc->init = ppc_prep_init; + mc->max_cpus = MAX_CPUS; + mc->default_boot_order = "cad"; } -machine_init(prep_machine_init); +DEFINE_MACHINE("prep", prep_machine_init); + diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c index de86f7c..8537d12 100644 --- a/hw/ppc/virtex_ml507.c +++ b/hw/ppc/virtex_ml507.c @@ -297,15 +297,11 @@ static void virtex_init(MachineState *machine) env->load_info = &boot_info; } -static QEMUMachine virtex_machine = { - .name = "virtex-ml507", - .desc = "Xilinx Virtex ML507 reference design", - .init = virtex_init, -}; - -static void virtex_machine_init(void) +static void virtex_machine_init(MachineClass *mc) { - qemu_register_machine(&virtex_machine); + mc->desc = "Xilinx Virtex ML507 reference design"; + mc->init = virtex_init; } -machine_init(virtex_machine_init); +DEFINE_MACHINE("virtex-ml507", virtex_machine_init); + diff --git a/hw/sh4/r2d.c b/hw/sh4/r2d.c index 5e22ed7..f26ca08 100644 --- a/hw/sh4/r2d.c +++ b/hw/sh4/r2d.c @@ -354,15 +354,11 @@ static void r2d_init(MachineState *machine) SDRAM_BASE + BOOT_PARAMS_OFFSET); } -static QEMUMachine r2d_machine = { - .name = "r2d", - .desc = "r2d-plus board", - .init = r2d_init, -}; - -static void r2d_machine_init(void) +static void r2d_machine_init(MachineClass *mc) { - qemu_register_machine(&r2d_machine); + mc->desc = "r2d-plus board"; + mc->init = r2d_init; } -machine_init(r2d_machine_init); +DEFINE_MACHINE("r2d", r2d_machine_init); + diff --git a/hw/sh4/shix.c b/hw/sh4/shix.c index f93f98e..1409c3c 100644 --- a/hw/sh4/shix.c +++ b/hw/sh4/shix.c @@ -87,16 +87,12 @@ static void shix_init(MachineState *machine) tc58128_init(s, "shix_linux_nand.bin", NULL); } -static QEMUMachine shix_machine = { - .name = "shix", - .desc = "shix card", - .init = shix_init, - .is_default = 1, -}; - -static void shix_machine_init(void) +static void shix_machine_init(MachineClass *mc) { - qemu_register_machine(&shix_machine); + mc->desc = "shix card"; + mc->init = shix_init; + mc->is_default = 1; } -machine_init(shix_machine_init); +DEFINE_MACHINE("shix", shix_machine_init); + diff --git a/hw/sparc/leon3.c b/hw/sparc/leon3.c index 7f5dcd6..8304bdb 100644 --- a/hw/sparc/leon3.c +++ b/hw/sparc/leon3.c @@ -216,15 +216,11 @@ static void leon3_generic_hw_init(MachineState *machine) } } -static QEMUMachine leon3_generic_machine = { - .name = "leon3_generic", - .desc = "Leon-3 generic", - .init = leon3_generic_hw_init, -}; - -static void leon3_machine_init(void) +static void leon3_generic_machine_init(MachineClass *mc) { - qemu_register_machine(&leon3_generic_machine); + mc->desc = "Leon-3 generic"; + mc->init = leon3_generic_hw_init; } -machine_init(leon3_machine_init); +DEFINE_MACHINE("leon3_generic", leon3_generic_machine_init); + diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c index 68ac4d8..9cc5ce7 100644 --- a/hw/sparc/sun4m.c +++ b/hw/sparc/sun4m.c @@ -1420,81 +1420,99 @@ static void sbook_init(MachineState *machine) sun4m_hw_init(&sun4m_hwdefs[8], machine); } -static QEMUMachine ss5_machine = { - .name = "SS-5", - .desc = "Sun4m platform, SPARCstation 5", - .init = ss5_init, - .block_default_type = IF_SCSI, - .is_default = 1, - .default_boot_order = "c", -}; +static void ss5_machine_init(MachineClass *mc) +{ + mc->desc = "Sun4m platform, SPARCstation 5"; + mc->init = ss5_init; + mc->block_default_type = IF_SCSI; + mc->is_default = 1; + mc->default_boot_order = "c"; +} -static QEMUMachine ss10_machine = { - .name = "SS-10", - .desc = "Sun4m platform, SPARCstation 10", - .init = ss10_init, - .block_default_type = IF_SCSI, - .max_cpus = 4, - .default_boot_order = "c", -}; +DEFINE_MACHINE("SS-5", ss5_machine_init); -static QEMUMachine ss600mp_machine = { - .name = "SS-600MP", - .desc = "Sun4m platform, SPARCserver 600MP", - .init = ss600mp_init, - .block_default_type = IF_SCSI, - .max_cpus = 4, - .default_boot_order = "c", -}; +static void ss10_machine_init(MachineClass *mc) +{ + mc->desc = "Sun4m platform, SPARCstation 10"; + mc->init = ss10_init; + mc->block_default_type = IF_SCSI; + mc->max_cpus = 4; + mc->default_boot_order = "c"; +} -static QEMUMachine ss20_machine = { - .name = "SS-20", - .desc = "Sun4m platform, SPARCstation 20", - .init = ss20_init, - .block_default_type = IF_SCSI, - .max_cpus = 4, - .default_boot_order = "c", -}; +DEFINE_MACHINE("SS-10", ss10_machine_init); -static QEMUMachine voyager_machine = { - .name = "Voyager", - .desc = "Sun4m platform, SPARCstation Voyager", - .init = vger_init, - .block_default_type = IF_SCSI, - .default_boot_order = "c", -}; +static void ss600mp_machine_init(MachineClass *mc) +{ + mc->desc = "Sun4m platform, SPARCserver 600MP"; + mc->init = ss600mp_init; + mc->block_default_type = IF_SCSI; + mc->max_cpus = 4; + mc->default_boot_order = "c"; +} -static QEMUMachine ss_lx_machine = { - .name = "LX", - .desc = "Sun4m platform, SPARCstation LX", - .init = ss_lx_init, - .block_default_type = IF_SCSI, - .default_boot_order = "c", -}; +DEFINE_MACHINE("SS-600MP", ss600mp_machine_init); -static QEMUMachine ss4_machine = { - .name = "SS-4", - .desc = "Sun4m platform, SPARCstation 4", - .init = ss4_init, - .block_default_type = IF_SCSI, - .default_boot_order = "c", -}; +static void ss20_machine_init(MachineClass *mc) +{ + mc->desc = "Sun4m platform, SPARCstation 20"; + mc->init = ss20_init; + mc->block_default_type = IF_SCSI; + mc->max_cpus = 4; + mc->default_boot_order = "c"; +} -static QEMUMachine scls_machine = { - .name = "SPARCClassic", - .desc = "Sun4m platform, SPARCClassic", - .init = scls_init, - .block_default_type = IF_SCSI, - .default_boot_order = "c", -}; +DEFINE_MACHINE("SS-20", ss20_machine_init); -static QEMUMachine sbook_machine = { - .name = "SPARCbook", - .desc = "Sun4m platform, SPARCbook", - .init = sbook_init, - .block_default_type = IF_SCSI, - .default_boot_order = "c", -}; +static void voyager_machine_init(MachineClass *mc) +{ + mc->desc = "Sun4m platform, SPARCstation Voyager"; + mc->init = vger_init; + mc->block_default_type = IF_SCSI; + mc->default_boot_order = "c"; +} + +DEFINE_MACHINE("Voyager", voyager_machine_init); + +static void ss_lx_machine_init(MachineClass *mc) +{ + mc->desc = "Sun4m platform, SPARCstation LX"; + mc->init = ss_lx_init; + mc->block_default_type = IF_SCSI; + mc->default_boot_order = "c"; +} + +DEFINE_MACHINE("LX", ss_lx_machine_init); + +static void ss4_machine_init(MachineClass *mc) +{ + mc->desc = "Sun4m platform, SPARCstation 4"; + mc->init = ss4_init; + mc->block_default_type = IF_SCSI; + mc->default_boot_order = "c"; +} + +DEFINE_MACHINE("SS-4", ss4_machine_init); + +static void scls_machine_init(MachineClass *mc) +{ + mc->desc = "Sun4m platform, SPARCClassic"; + mc->init = scls_init; + mc->block_default_type = IF_SCSI; + mc->default_boot_order = "c"; +} + +DEFINE_MACHINE("SPARCClassic", scls_machine_init); + +static void sbook_machine_init(MachineClass *mc) +{ + mc->desc = "Sun4m platform, SPARCbook"; + mc->init = sbook_init; + mc->block_default_type = IF_SCSI; + mc->default_boot_order = "c"; +} + +DEFINE_MACHINE("SPARCbook", sbook_machine_init); static void sun4m_register_types(void) { @@ -1504,18 +1522,4 @@ static void sun4m_register_types(void) type_register_static(&ram_info); } -static void sun4m_machine_init(void) -{ - qemu_register_machine(&ss5_machine); - qemu_register_machine(&ss10_machine); - qemu_register_machine(&ss600mp_machine); - qemu_register_machine(&ss20_machine); - qemu_register_machine(&voyager_machine); - qemu_register_machine(&ss_lx_machine); - qemu_register_machine(&ss4_machine); - qemu_register_machine(&scls_machine); - qemu_register_machine(&sbook_machine); -} - type_init(sun4m_register_types) -machine_init(sun4m_machine_init); diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c index 30cfa0e..40418a3 100644 --- a/hw/sparc64/sun4u.c +++ b/hw/sparc64/sun4u.c @@ -965,30 +965,36 @@ static void niagara_init(MachineState *machine) sun4uv_init(get_system_memory(), machine, &hwdefs[2]); } -static QEMUMachine sun4u_machine = { - .name = "sun4u", - .desc = "Sun4u platform", - .init = sun4u_init, - .max_cpus = 1, // XXX for now - .is_default = 1, - .default_boot_order = "c", -}; +static void sun4u_machine_init(MachineClass *mc) +{ + mc->desc = "Sun4u platform"; + mc->init = sun4u_init; + mc->max_cpus = 1; /* XXX for now */ + mc->is_default = 1; + mc->default_boot_order = "c"; +} -static QEMUMachine sun4v_machine = { - .name = "sun4v", - .desc = "Sun4v platform", - .init = sun4v_init, - .max_cpus = 1, // XXX for now - .default_boot_order = "c", -}; +DEFINE_MACHINE("sun4u", sun4u_machine_init); -static QEMUMachine niagara_machine = { - .name = "Niagara", - .desc = "Sun4v platform, Niagara", - .init = niagara_init, - .max_cpus = 1, // XXX for now - .default_boot_order = "c", -}; +static void sun4v_machine_init(MachineClass *mc) +{ + mc->desc = "Sun4v platform"; + mc->init = sun4v_init; + mc->max_cpus = 1; /* XXX for now */ + mc->default_boot_order = "c"; +} + +DEFINE_MACHINE("sun4v", sun4v_machine_init); + +static void niagara_machine_init(MachineClass *mc) +{ + mc->desc = "Sun4v platform, Niagara"; + mc->init = niagara_init; + mc->max_cpus = 1; /* XXX for now */ + mc->default_boot_order = "c"; +} + +DEFINE_MACHINE("Niagara", niagara_machine_init); static void sun4u_register_types(void) { @@ -997,12 +1003,4 @@ static void sun4u_register_types(void) type_register_static(&ram_info); } -static void sun4u_machine_init(void) -{ - qemu_register_machine(&sun4u_machine); - qemu_register_machine(&sun4v_machine); - qemu_register_machine(&niagara_machine); -} - type_init(sun4u_register_types) -machine_init(sun4u_machine_init); diff --git a/hw/tricore/tricore_testboard.c b/hw/tricore/tricore_testboard.c index a059a20..f2c70d1 100644 --- a/hw/tricore/tricore_testboard.c +++ b/hw/tricore/tricore_testboard.c @@ -109,16 +109,12 @@ static void tricoreboard_init(MachineState *machine) tricore_testboard_init(machine, 0x183); } -static QEMUMachine ttb_machine = { - .name = "tricore_testboard", - .desc = "a minimal TriCore board", - .init = tricoreboard_init, - .is_default = 0, -}; - -static void tricore_testboard_machine_init(void) +static void ttb_machine_init(MachineClass *mc) { - qemu_register_machine(&ttb_machine); + mc->desc = "a minimal TriCore board"; + mc->init = tricoreboard_init; + mc->is_default = 0; } -machine_init(tricore_testboard_machine_init); +DEFINE_MACHINE("tricore_testboard", ttb_machine_init); + diff --git a/hw/unicore32/puv3.c b/hw/unicore32/puv3.c index 703e29d..5c6f0c5 100644 --- a/hw/unicore32/puv3.c +++ b/hw/unicore32/puv3.c @@ -130,16 +130,12 @@ static void puv3_init(MachineState *machine) puv3_load_kernel(kernel_filename); } -static QEMUMachine puv3_machine = { - .name = "puv3", - .desc = "PKUnity Version-3 based on UniCore32", - .init = puv3_init, - .is_default = 1, -}; - -static void puv3_machine_init(void) +static void puv3_machine_init(MachineClass *mc) { - qemu_register_machine(&puv3_machine); + mc->desc = "PKUnity Version-3 based on UniCore32"; + mc->init = puv3_init; + mc->is_default = 1; } -machine_init(puv3_machine_init) +DEFINE_MACHINE("puv3", puv3_machine_init); + diff --git a/hw/xenpv/xen_machine_pv.c b/hw/xenpv/xen_machine_pv.c index 2e545d2..f19a8f4 100644 --- a/hw/xenpv/xen_machine_pv.c +++ b/hw/xenpv/xen_machine_pv.c @@ -93,17 +93,13 @@ static void xen_init_pv(MachineState *machine) xen_init_display(xen_domid); } -static QEMUMachine xenpv_machine = { - .name = "xenpv", - .desc = "Xen Para-virtualized PC", - .init = xen_init_pv, - .max_cpus = 1, - .default_machine_opts = "accel=xen", -}; - -static void xenpv_machine_init(void) +static void xenpv_machine_init(MachineClass *mc) { - qemu_register_machine(&xenpv_machine); + mc->desc = "Xen Para-virtualized PC"; + mc->init = xen_init_pv; + mc->max_cpus = 1; + mc->default_machine_opts = "accel=xen"; } -machine_init(xenpv_machine_init); +DEFINE_MACHINE("xenpv", xenpv_machine_init); + diff --git a/hw/xtensa/sim.c b/hw/xtensa/sim.c index 328d209..866d177 100644 --- a/hw/xtensa/sim.c +++ b/hw/xtensa/sim.c @@ -104,17 +104,13 @@ static void xtensa_sim_init(MachineState *machine) } } -static QEMUMachine xtensa_sim_machine = { - .name = "sim", - .desc = "sim machine (" XTENSA_DEFAULT_CPU_MODEL ")", - .is_default = true, - .init = xtensa_sim_init, - .max_cpus = 4, -}; - -static void xtensa_sim_machine_init(void) +static void xtensa_sim_machine_init(MachineClass *mc) { - qemu_register_machine(&xtensa_sim_machine); + mc->desc = "sim machine (" XTENSA_DEFAULT_CPU_MODEL ")"; + mc->is_default = true; + mc->init = xtensa_sim_init; + mc->max_cpus = 4; } -machine_init(xtensa_sim_machine_init); +DEFINE_MACHINE("sim", xtensa_sim_machine_init); + diff --git a/hw/xtensa/xtfpga.c b/hw/xtensa/xtfpga.c index ab4d0e4..7f9a66b 100644 --- a/hw/xtensa/xtfpga.c +++ b/hw/xtensa/xtfpga.c @@ -427,40 +427,39 @@ static void xtensa_kc705_init(MachineState *machine) lx_init(&kc705_board, machine); } -static QEMUMachine xtensa_lx60_machine = { - .name = "lx60", - .desc = "lx60 EVB (" XTENSA_DEFAULT_CPU_MODEL ")", - .init = xtensa_lx60_init, - .max_cpus = 4, -}; +static void xtensa_lx60_machine_init(MachineClass *mc) +{ + mc->desc = "lx60 EVB (" XTENSA_DEFAULT_CPU_MODEL ")"; + mc->init = xtensa_lx60_init; + mc->max_cpus = 4; +} -static QEMUMachine xtensa_lx200_machine = { - .name = "lx200", - .desc = "lx200 EVB (" XTENSA_DEFAULT_CPU_MODEL ")", - .init = xtensa_lx200_init, - .max_cpus = 4, -}; +DEFINE_MACHINE("lx60", xtensa_lx60_machine_init); -static QEMUMachine xtensa_ml605_machine = { - .name = "ml605", - .desc = "ml605 EVB (" XTENSA_DEFAULT_CPU_MODEL ")", - .init = xtensa_ml605_init, - .max_cpus = 4, -}; +static void xtensa_lx200_machine_init(MachineClass *mc) +{ + mc->desc = "lx200 EVB (" XTENSA_DEFAULT_CPU_MODEL ")"; + mc->init = xtensa_lx200_init; + mc->max_cpus = 4; +} -static QEMUMachine xtensa_kc705_machine = { - .name = "kc705", - .desc = "kc705 EVB (" XTENSA_DEFAULT_CPU_MODEL ")", - .init = xtensa_kc705_init, - .max_cpus = 4, -}; +DEFINE_MACHINE("lx200", xtensa_lx200_machine_init); + +static void xtensa_ml605_machine_init(MachineClass *mc) +{ + mc->desc = "ml605 EVB (" XTENSA_DEFAULT_CPU_MODEL ")"; + mc->init = xtensa_ml605_init; + mc->max_cpus = 4; +} + +DEFINE_MACHINE("ml605", xtensa_ml605_machine_init); -static void xtensa_lx_machines_init(void) +static void xtensa_kc705_machine_init(MachineClass *mc) { - qemu_register_machine(&xtensa_lx60_machine); - qemu_register_machine(&xtensa_lx200_machine); - qemu_register_machine(&xtensa_ml605_machine); - qemu_register_machine(&xtensa_kc705_machine); + mc->desc = "kc705 EVB (" XTENSA_DEFAULT_CPU_MODEL ")"; + mc->init = xtensa_kc705_init; + mc->max_cpus = 4; } -machine_init(xtensa_lx_machines_init); +DEFINE_MACHINE("kc705", xtensa_kc705_machine_init); + -- 2.1.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Qemu-devel] [PATCH v3 6/7] Use DEFINE_MACHINE to register all machines 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 6/7] Use DEFINE_MACHINE to register all machines Eduardo Habkost @ 2015-09-19 8:13 ` Andreas Färber 2015-09-19 8:27 ` Andreas Färber 2015-09-21 15:10 ` Eduardo Habkost 2015-09-19 12:19 ` [Qemu-devel] [PATCH 6a/7] Revert use of DEFINE_MACHINE() for registrations of multiple machines Andreas Färber 1 sibling, 2 replies; 14+ messages in thread From: Andreas Färber @ 2015-09-19 8:13 UTC (permalink / raw) To: Eduardo Habkost, qemu-devel Cc: Peter Maydell, Evgeny Voevodin, Michael S. Tsirkin, Mark Cave-Ayland, Blue Swirl, Max Filippov, Edgar E. Iglesias, Guan Xuetao, Rob Herring, Jia Liu, Alexander Graf, Hervé Poussineau, Antony Pavlov, Maksim Kozlov, Leon Alrae, Marcel Apfelbaum, Fabien Chouteau, Aurelien Jarno, Peter Chubb, Scott Wood, Richard Henderson, Peter Crosthwaite, Igor Mitsyanko, Bastian Koppelmann, Michael Walle, qemu-ppc, Dmitry Solodkiy, Jan Kiszka, Li Guang [-- Attachment #1: Type: text/plain, Size: 2862 bytes --] Am 04.09.2015 um 20:37 schrieb Eduardo Habkost: > Convert all machines to use DEFINE_MACHINE instead of QEMUMachine > automatically using a script. > > Cc: Richard Henderson <rth@twiddle.net> > Cc: Peter Maydell <peter.maydell@linaro.org> > Cc: Li Guang <lig.fnst@cn.fujitsu.com> > Cc: Antony Pavlov <antonynpavlov@gmail.com> > Cc: Evgeny Voevodin <e.voevodin@samsung.com> > Cc: Maksim Kozlov <m.kozlov@samsung.com> > Cc: Igor Mitsyanko <i.mitsyanko@gmail.com> > Cc: Dmitry Solodkiy <d.solodkiy@samsung.com> > Cc: Rob Herring <robh@kernel.org> > Cc: Peter Chubb <peter.chubb@nicta.com.au> > Cc: Jan Kiszka <jan.kiszka@web.de> > Cc: Andrzej Zaborowski <balrogg@gmail.com> > Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com> > Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com> > Cc: Michael Walle <michael@walle.cc> > Cc: Aurelien Jarno <aurelien@aurel32.net> > Cc: Leon Alrae <leon.alrae@imgtec.com> > Cc: "Hervé Poussineau" <hpoussin@reactos.org> > Cc: Jia Liu <proljc@gmail.com> > Cc: Alexander Graf <agraf@suse.de> > Cc: Scott Wood <scottwood@freescale.com> > Cc: "Andreas Färber" <andreas.faerber@web.de> > Cc: Magnus Damm <magnus.damm@gmail.com> > Cc: Fabien Chouteau <chouteau@adacore.com> > Cc: Blue Swirl <blauwirbel@gmail.com> > Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> > Cc: Guan Xuetao <gxt@mprc.pku.edu.cn> > Cc: Max Filippov <jcmvbkbc@gmail.com> > Cc: qemu-ppc@nongnu.org > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > --- > Changes v1 -> v2: > * Fix trailing spaces and newlines > * Don't touch "//" comments on lines that we are not changing > * Break long lines manually > > Changes v2 -> v3: > * Replace "machine_machine" with "machine" in new variable and function > names. > Suggested-by: Michael Walle <michael@walle.cc> > * Eliminate empty mips_malta_machine_init() and sun4u_machine_init() > functions In most (but not all) cases the last DEFINE_MACHINE(...) added a white line, dropped manually. Your script also always added a semicolon after DEFINE_MACHINE(), even when the original machine_init() did not have it. Cleaned up manually. This scripted approach also regresses files with multiple machines to now have one module init function per machine rather than one per file. I'm also not clear on why you chose to diverge from devices in having a machine-specific init function with MachineClass *mc arg rather than having ObjectClass *oc, void *data and having a local mc variable. But getting this conversion done to drop the old infrastructure seems more important, and this can be revisited afterwards. Regards, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton; HRB 21284 (AG Nürnberg) [-- Attachment #2: 00.diff --] [-- Type: text/x-patch, Size: 28164 bytes --] diff --git a/hw/alpha/dp264.c b/hw/alpha/dp264.c index 651e17b..27bdaa1 100644 --- a/hw/alpha/dp264.c +++ b/hw/alpha/dp264.c @@ -176,5 +176,4 @@ static void clipper_machine_init(MachineClass *mc) mc->is_default = 1; } -DEFINE_MACHINE("clipper", clipper_machine_init); - +DEFINE_MACHINE("clipper", clipper_machine_init) diff --git a/hw/arm/collie.c b/hw/arm/collie.c index 4d6c8e7..4e6541e 100644 --- a/hw/arm/collie.c +++ b/hw/arm/collie.c @@ -64,5 +64,4 @@ static void collie_machine_init(MachineClass *mc) mc->init = collie_init; } -DEFINE_MACHINE("collie", collie_machine_init); - +DEFINE_MACHINE("collie", collie_machine_init) diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c index 2274958..bf068cd 100644 --- a/hw/arm/cubieboard.c +++ b/hw/arm/cubieboard.c @@ -80,6 +80,4 @@ static void cubieboard_machine_init(MachineClass *mc) mc->init = cubieboard_init; } -DEFINE_MACHINE("cubieboard", cubieboard_machine_init); - - +DEFINE_MACHINE("cubieboard", cubieboard_machine_init) diff --git a/hw/arm/digic_boards.c b/hw/arm/digic_boards.c index 3a6364c..710045a 100644 --- a/hw/arm/digic_boards.c +++ b/hw/arm/digic_boards.c @@ -154,5 +154,4 @@ static void canon_a1100_machine_init(MachineClass *mc) mc->init = &canon_a1100_init; } -DEFINE_MACHINE("canon-a1100", canon_a1100_machine_init); - +DEFINE_MACHINE("canon-a1100", canon_a1100_machine_init) diff --git a/hw/arm/exynos4_boards.c b/hw/arm/exynos4_boards.c index 7c75acc..fadf372 100644 --- a/hw/arm/exynos4_boards.c +++ b/hw/arm/exynos4_boards.c @@ -151,7 +151,7 @@ static void exynos4_machine_nuri_machine_init(MachineClass *mc) mc->max_cpus = EXYNOS4210_NCPUS; } -DEFINE_MACHINE("nuri", exynos4_machine_nuri_machine_init); +DEFINE_MACHINE("nuri", exynos4_machine_nuri_machine_init) static void exynos4_machine_smdkc210_machine_init(MachineClass *mc) { @@ -160,5 +160,4 @@ static void exynos4_machine_smdkc210_machine_init(MachineClass *mc) mc->max_cpus = EXYNOS4210_NCPUS; } -DEFINE_MACHINE("smdkc210", exynos4_machine_smdkc210_machine_init); - +DEFINE_MACHINE("smdkc210", exynos4_machine_smdkc210_machine_init) diff --git a/hw/arm/gumstix.c b/hw/arm/gumstix.c index 1dae67d..6dc98c8 100644 --- a/hw/arm/gumstix.c +++ b/hw/arm/gumstix.c @@ -127,7 +127,7 @@ static void connex_machine_init(MachineClass *mc) mc->init = connex_init; } -DEFINE_MACHINE("connex", connex_machine_init); +DEFINE_MACHINE("connex", connex_machine_init) static void verdex_machine_init(MachineClass *mc) { @@ -135,5 +135,4 @@ static void verdex_machine_init(MachineClass *mc) mc->init = verdex_init; } -DEFINE_MACHINE("verdex", verdex_machine_init); - +DEFINE_MACHINE("verdex", verdex_machine_init) diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c index 4ab13bd..9b2887e 100644 --- a/hw/arm/highbank.c +++ b/hw/arm/highbank.c @@ -399,7 +399,7 @@ static void highbank_machine_init(MachineClass *mc) mc->max_cpus = 4; } -DEFINE_MACHINE("highbank", highbank_machine_init); +DEFINE_MACHINE("highbank", highbank_machine_init) static void midway_machine_init(MachineClass *mc) { @@ -409,5 +409,4 @@ static void midway_machine_init(MachineClass *mc) mc->max_cpus = 4; } -DEFINE_MACHINE("midway", midway_machine_init); - +DEFINE_MACHINE("midway", midway_machine_init) diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c index dd91d36..421bde9 100644 --- a/hw/arm/integratorcp.c +++ b/hw/arm/integratorcp.c @@ -625,8 +625,7 @@ static void integratorcp_machine_init(MachineClass *mc) mc->init = integratorcp_init; } -DEFINE_MACHINE("integratorcp", integratorcp_machine_init); - +DEFINE_MACHINE("integratorcp", integratorcp_machine_init) static Property core_properties[] = { DEFINE_PROP_UINT32("memsz", IntegratorCMState, memsz, 0), diff --git a/hw/arm/kzm.c b/hw/arm/kzm.c index cadb10c..eff6f46 100644 --- a/hw/arm/kzm.c +++ b/hw/arm/kzm.c @@ -145,5 +145,4 @@ static void kzm_machine_init(MachineClass *mc) mc->init = kzm_init; } -DEFINE_MACHINE("kzm", kzm_machine_init); - +DEFINE_MACHINE("kzm", kzm_machine_init) diff --git a/hw/arm/mainstone.c b/hw/arm/mainstone.c index 722d0a5..e434cb6 100644 --- a/hw/arm/mainstone.c +++ b/hw/arm/mainstone.c @@ -194,5 +194,4 @@ static void mainstone2_machine_init(MachineClass *mc) mc->init = mainstone_init; } -DEFINE_MACHINE("mainstone", mainstone2_machine_init); - +DEFINE_MACHINE("mainstone", mainstone2_machine_init) diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c index 428c744..b534bb9 100644 --- a/hw/arm/musicpal.c +++ b/hw/arm/musicpal.c @@ -1715,8 +1715,7 @@ static void musicpal_machine_init(MachineClass *mc) mc->init = musicpal_init; } -DEFINE_MACHINE("musicpal", musicpal_machine_init); - +DEFINE_MACHINE("musicpal", musicpal_machine_init) static void mv88w8618_wlan_class_init(ObjectClass *klass, void *data) { diff --git a/hw/arm/netduino2.c b/hw/arm/netduino2.c index 976f69e..a3b9e82 100644 --- a/hw/arm/netduino2.c +++ b/hw/arm/netduino2.c @@ -49,5 +49,4 @@ static void netduino2_machine_init(MachineClass *mc) mc->init = netduino2_init; } -DEFINE_MACHINE("netduino2", netduino2_machine_init); - +DEFINE_MACHINE("netduino2", netduino2_machine_init) diff --git a/hw/arm/nseries.c b/hw/arm/nseries.c index 56ded1f..af28449 100644 --- a/hw/arm/nseries.c +++ b/hw/arm/nseries.c @@ -1420,7 +1420,7 @@ static void n800_machine_init(MachineClass *mc) mc->default_boot_order = ""; } -DEFINE_MACHINE("n800", n800_machine_init); +DEFINE_MACHINE("n800", n800_machine_init) static void n810_machine_init(MachineClass *mc) { @@ -1429,5 +1429,4 @@ static void n810_machine_init(MachineClass *mc) mc->default_boot_order = ""; } -DEFINE_MACHINE("n810", n810_machine_init); - +DEFINE_MACHINE("n810", n810_machine_init) diff --git a/hw/arm/omap_sx1.c b/hw/arm/omap_sx1.c index 994e4c1..68924fc 100644 --- a/hw/arm/omap_sx1.c +++ b/hw/arm/omap_sx1.c @@ -223,7 +223,7 @@ static void sx1_machine_v2_machine_init(MachineClass *mc) mc->init = sx1_init_v2; } -DEFINE_MACHINE("sx1", sx1_machine_v2_machine_init); +DEFINE_MACHINE("sx1", sx1_machine_v2_machine_init) static void sx1_machine_v1_machine_init(MachineClass *mc) { @@ -231,5 +231,4 @@ static void sx1_machine_v1_machine_init(MachineClass *mc) mc->init = sx1_init_v1; } -DEFINE_MACHINE("sx1-v1", sx1_machine_v1_machine_init); - +DEFINE_MACHINE("sx1-v1", sx1_machine_v1_machine_init) diff --git a/hw/arm/palm.c b/hw/arm/palm.c index 7f364db..82ec99d 100644 --- a/hw/arm/palm.c +++ b/hw/arm/palm.c @@ -275,5 +275,4 @@ static void palmte_machine_init(MachineClass *mc) mc->init = palmte_init; } -DEFINE_MACHINE("cheetah", palmte_machine_init); - +DEFINE_MACHINE("cheetah", palmte_machine_init) diff --git a/hw/arm/realview.c b/hw/arm/realview.c index da7133a..6c83817 100644 --- a/hw/arm/realview.c +++ b/hw/arm/realview.c @@ -406,7 +406,7 @@ static void realview_eb_machine_init(MachineClass *mc) mc->block_default_type = IF_SCSI; } -DEFINE_MACHINE("realview-eb", realview_eb_machine_init); +DEFINE_MACHINE("realview-eb", realview_eb_machine_init) static void realview_eb_mpcore_machine_init(MachineClass *mc) { @@ -416,7 +416,7 @@ static void realview_eb_mpcore_machine_init(MachineClass *mc) mc->max_cpus = 4; } -DEFINE_MACHINE("realview-eb-mpcore", realview_eb_mpcore_machine_init); +DEFINE_MACHINE("realview-eb-mpcore", realview_eb_mpcore_machine_init) static void realview_pb_a8_machine_init(MachineClass *mc) { @@ -424,7 +424,7 @@ static void realview_pb_a8_machine_init(MachineClass *mc) mc->init = realview_pb_a8_init; } -DEFINE_MACHINE("realview-pb-a8", realview_pb_a8_machine_init); +DEFINE_MACHINE("realview-pb-a8", realview_pb_a8_machine_init) static void realview_pbx_a9_machine_init(MachineClass *mc) { @@ -434,5 +434,4 @@ static void realview_pbx_a9_machine_init(MachineClass *mc) mc->max_cpus = 4; } -DEFINE_MACHINE("realview-pbx-a9", realview_pbx_a9_machine_init); - +DEFINE_MACHINE("realview-pbx-a9", realview_pbx_a9_machine_init) diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c index efbbe12..0f59489 100644 --- a/hw/arm/spitz.c +++ b/hw/arm/spitz.c @@ -978,7 +978,7 @@ static void akitapda_machine_init(MachineClass *mc) mc->init = akita_init; } -DEFINE_MACHINE("akita", akitapda_machine_init); +DEFINE_MACHINE("akita", akitapda_machine_init) static void spitzpda_machine_init(MachineClass *mc) { @@ -986,7 +986,7 @@ static void spitzpda_machine_init(MachineClass *mc) mc->init = spitz_init; } -DEFINE_MACHINE("spitz", spitzpda_machine_init); +DEFINE_MACHINE("spitz", spitzpda_machine_init) static void borzoipda_machine_init(MachineClass *mc) { @@ -994,7 +994,7 @@ static void borzoipda_machine_init(MachineClass *mc) mc->init = borzoi_init; } -DEFINE_MACHINE("borzoi", borzoipda_machine_init); +DEFINE_MACHINE("borzoi", borzoipda_machine_init) static void terrierpda_machine_init(MachineClass *mc) { @@ -1002,8 +1002,7 @@ static void terrierpda_machine_init(MachineClass *mc) mc->init = terrier_init; } -DEFINE_MACHINE("terrier", terrierpda_machine_init); - +DEFINE_MACHINE("terrier", terrierpda_machine_init) static bool is_version_0(void *opaque, int version_id) { diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c index d7fdb77..a97d9e3 100644 --- a/hw/arm/stellaris.c +++ b/hw/arm/stellaris.c @@ -1372,7 +1372,7 @@ static void lm3s811evb_machine_init(MachineClass *mc) mc->init = lm3s811evb_init; } -DEFINE_MACHINE("lm3s811evb", lm3s811evb_machine_init); +DEFINE_MACHINE("lm3s811evb", lm3s811evb_machine_init) static void lm3s6965evb_machine_init(MachineClass *mc) { @@ -1380,8 +1380,7 @@ static void lm3s6965evb_machine_init(MachineClass *mc) mc->init = lm3s6965evb_init; } -DEFINE_MACHINE("lm3s6965evb", lm3s6965evb_machine_init); - +DEFINE_MACHINE("lm3s6965evb", lm3s6965evb_machine_init) static void stellaris_i2c_class_init(ObjectClass *klass, void *data) { diff --git a/hw/arm/tosa.c b/hw/arm/tosa.c index 38b49fa..51d0b89 100644 --- a/hw/arm/tosa.c +++ b/hw/arm/tosa.c @@ -258,8 +258,7 @@ static void tosapda_machine_init(MachineClass *mc) mc->init = tosa_init; } -DEFINE_MACHINE("tosa", tosapda_machine_init); - +DEFINE_MACHINE("tosa", tosapda_machine_init) static void tosa_dac_class_init(ObjectClass *klass, void *data) { diff --git a/hw/arm/versatilepb.c b/hw/arm/versatilepb.c index e200865..54281f4 100644 --- a/hw/arm/versatilepb.c +++ b/hw/arm/versatilepb.c @@ -398,7 +398,7 @@ static void versatilepb_machine_init(MachineClass *mc) mc->block_default_type = IF_SCSI; } -DEFINE_MACHINE("versatilepb", versatilepb_machine_init); +DEFINE_MACHINE("versatilepb", versatilepb_machine_init) static void versatileab_machine_init(MachineClass *mc) { @@ -407,8 +407,7 @@ static void versatileab_machine_init(MachineClass *mc) mc->block_default_type = IF_SCSI; } -DEFINE_MACHINE("versatileab", versatileab_machine_init); - +DEFINE_MACHINE("versatileab", versatileab_machine_init) static void vpb_sic_class_init(ObjectClass *klass, void *data) { diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c index 5bb1b30..9f89483 100644 --- a/hw/arm/xilinx_zynq.c +++ b/hw/arm/xilinx_zynq.c @@ -264,5 +264,4 @@ static void zynq_machine_init(MachineClass *mc) mc->no_sdcard = 1; } -DEFINE_MACHINE("xilinx-zynq-a9", zynq_machine_init); - +DEFINE_MACHINE("xilinx-zynq-a9", zynq_machine_init) diff --git a/hw/arm/xlnx-ep108.c b/hw/arm/xlnx-ep108.c index 07a98ef..2899698 100644 --- a/hw/arm/xlnx-ep108.c +++ b/hw/arm/xlnx-ep108.c @@ -74,5 +74,4 @@ static void xlnx_ep108_machine_init(MachineClass *mc) mc->init = xlnx_ep108_init; } -DEFINE_MACHINE("xlnx-ep108", xlnx_ep108_machine_init); - +DEFINE_MACHINE("xlnx-ep108", xlnx_ep108_machine_init) diff --git a/hw/arm/z2.c b/hw/arm/z2.c index 9961b7b..b44eb76 100644 --- a/hw/arm/z2.c +++ b/hw/arm/z2.c @@ -378,5 +378,4 @@ static void z2_machine_init(MachineClass *mc) mc->init = z2_init; } -DEFINE_MACHINE("z2", z2_machine_init); - +DEFINE_MACHINE("z2", z2_machine_init) diff --git a/hw/core/null-machine.c b/hw/core/null-machine.c index 3157529..f36fbf2 100644 --- a/hw/core/null-machine.c +++ b/hw/core/null-machine.c @@ -26,6 +26,4 @@ static void machine_none_machine_init(MachineClass *mc) mc->max_cpus = 0; } -DEFINE_MACHINE("none", machine_none_machine_init); - - +DEFINE_MACHINE("none", machine_none_machine_init) diff --git a/hw/cris/axis_dev88.c b/hw/cris/axis_dev88.c index 110a3a0..de880d1 100644 --- a/hw/cris/axis_dev88.c +++ b/hw/cris/axis_dev88.c @@ -358,5 +358,4 @@ static void axisdev88_machine_init(MachineClass *mc) mc->is_default = 1; } -DEFINE_MACHINE("axis-dev88", axisdev88_machine_init); - +DEFINE_MACHINE("axis-dev88", axisdev88_machine_init) diff --git a/hw/lm32/lm32_boards.c b/hw/lm32/lm32_boards.c index 48a4f2b..04d2066 100644 --- a/hw/lm32/lm32_boards.c +++ b/hw/lm32/lm32_boards.c @@ -299,7 +299,7 @@ static void lm32_evr_machine_init(MachineClass *mc) mc->is_default = 1; } -DEFINE_MACHINE("lm32-evr", lm32_evr_machine_init); +DEFINE_MACHINE("lm32-evr", lm32_evr_machine_init) static void lm32_uclinux_machine_init(MachineClass *mc) { @@ -308,5 +308,4 @@ static void lm32_uclinux_machine_init(MachineClass *mc) mc->is_default = 0; } -DEFINE_MACHINE("lm32-uclinux", lm32_uclinux_machine_init); - +DEFINE_MACHINE("lm32-uclinux", lm32_uclinux_machine_init) diff --git a/hw/lm32/milkymist.c b/hw/lm32/milkymist.c index 447750b..cb30850 100644 --- a/hw/lm32/milkymist.c +++ b/hw/lm32/milkymist.c @@ -216,5 +216,4 @@ static void milkymist_machine_init(MachineClass *mc) mc->is_default = 0; } -DEFINE_MACHINE("milkymist", milkymist_machine_init); - +DEFINE_MACHINE("milkymist", milkymist_machine_init) diff --git a/hw/m68k/an5206.c b/hw/m68k/an5206.c index aa557f6..aa49cd5 100644 --- a/hw/m68k/an5206.c +++ b/hw/m68k/an5206.c @@ -95,5 +95,4 @@ static void an5206_machine_init(MachineClass *mc) mc->init = an5206_init; } -DEFINE_MACHINE("an5206", an5206_machine_init); - +DEFINE_MACHINE("an5206", an5206_machine_init) diff --git a/hw/m68k/dummy_m68k.c b/hw/m68k/dummy_m68k.c index b388daf..d4f2073 100644 --- a/hw/m68k/dummy_m68k.c +++ b/hw/m68k/dummy_m68k.c @@ -78,5 +78,4 @@ static void dummy_m68k_machine_init(MachineClass *mc) mc->init = dummy_m68k_init; } -DEFINE_MACHINE("dummy", dummy_m68k_machine_init); - +DEFINE_MACHINE("dummy", dummy_m68k_machine_init) diff --git a/hw/m68k/mcf5208.c b/hw/m68k/mcf5208.c index 2bd9f8f..c3365eb 100644 --- a/hw/m68k/mcf5208.c +++ b/hw/m68k/mcf5208.c @@ -301,5 +301,4 @@ static void mcf5208evb_machine_init(MachineClass *mc) mc->is_default = 1; } -DEFINE_MACHINE("mcf5208evb", mcf5208evb_machine_init); - +DEFINE_MACHINE("mcf5208evb", mcf5208evb_machine_init) diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c index d277582..462060f 100644 --- a/hw/microblaze/petalogix_ml605_mmu.c +++ b/hw/microblaze/petalogix_ml605_mmu.c @@ -213,5 +213,4 @@ static void petalogix_ml605_machine_init(MachineClass *mc) mc->is_default = 0; } -DEFINE_MACHINE("petalogix-ml605", petalogix_ml605_machine_init); - +DEFINE_MACHINE("petalogix-ml605", petalogix_ml605_machine_init) diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c index c2dd728..3381156 100644 --- a/hw/microblaze/petalogix_s3adsp1800_mmu.c +++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c @@ -131,5 +131,4 @@ static void petalogix_s3adsp1800_machine_init(MachineClass *mc) mc->is_default = 1; } -DEFINE_MACHINE("petalogix-s3adsp1800", petalogix_s3adsp1800_machine_init); - +DEFINE_MACHINE("petalogix-s3adsp1800", petalogix_s3adsp1800_machine_init) diff --git a/hw/mips/mips_fulong2e.c b/hw/mips/mips_fulong2e.c index c964592..e44521f 100644 --- a/hw/mips/mips_fulong2e.c +++ b/hw/mips/mips_fulong2e.c @@ -387,5 +387,4 @@ static void mips_fulong2e_machine_init(MachineClass *mc) mc->init = mips_fulong2e_init; } -DEFINE_MACHINE("fulong2e", mips_fulong2e_machine_init); - +DEFINE_MACHINE("fulong2e", mips_fulong2e_machine_init) diff --git a/hw/mips/mips_jazz.c b/hw/mips/mips_jazz.c index 38c4983..d3627ba 100644 --- a/hw/mips/mips_jazz.c +++ b/hw/mips/mips_jazz.c @@ -356,7 +356,7 @@ static void mips_magnum_machine_init(MachineClass *mc) mc->block_default_type = IF_SCSI; } -DEFINE_MACHINE("magnum", mips_magnum_machine_init); +DEFINE_MACHINE("magnum", mips_magnum_machine_init) static void mips_pica61_machine_init(MachineClass *mc) { @@ -365,5 +365,4 @@ static void mips_pica61_machine_init(MachineClass *mc) mc->block_default_type = IF_SCSI; } -DEFINE_MACHINE("pica61", mips_pica61_machine_init); - +DEFINE_MACHINE("pica61", mips_pica61_machine_init) diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c index e43b743..bb864fe 100644 --- a/hw/mips/mips_malta.c +++ b/hw/mips/mips_malta.c @@ -1213,7 +1213,7 @@ static void mips_malta_machine_init(MachineClass *mc) mc->is_default = 1; } -DEFINE_MACHINE("malta", mips_malta_machine_init); +DEFINE_MACHINE("malta", mips_malta_machine_init) static void mips_malta_register_types(void) { diff --git a/hw/mips/mips_mipssim.c b/hw/mips/mips_mipssim.c index 70a0a85..e651312 100644 --- a/hw/mips/mips_mipssim.c +++ b/hw/mips/mips_mipssim.c @@ -237,5 +237,4 @@ static void mips_mipssim_machine_init(MachineClass *mc) mc->init = mips_mipssim_init; } -DEFINE_MACHINE("mipssim", mips_mipssim_machine_init); - +DEFINE_MACHINE("mipssim", mips_mipssim_machine_init) diff --git a/hw/mips/mips_r4k.c b/hw/mips/mips_r4k.c index 24627e9..97628fc 100644 --- a/hw/mips/mips_r4k.c +++ b/hw/mips/mips_r4k.c @@ -304,5 +304,4 @@ static void mips_machine_init(MachineClass *mc) mc->init = mips_r4k_init; } -DEFINE_MACHINE("mips", mips_machine_init); - +DEFINE_MACHINE("mips", mips_machine_init) diff --git a/hw/moxie/moxiesim.c b/hw/moxie/moxiesim.c index 023b514..a3d1a1b 100644 --- a/hw/moxie/moxiesim.c +++ b/hw/moxie/moxiesim.c @@ -153,5 +153,4 @@ static void moxiesim_machine_init(MachineClass *mc) mc->is_default = 1; } -DEFINE_MACHINE("moxiesim", moxiesim_machine_init); - +DEFINE_MACHINE("moxiesim", moxiesim_machine_init) diff --git a/hw/openrisc/openrisc_sim.c b/hw/openrisc/openrisc_sim.c index ae97fba..5f26785 100644 --- a/hw/openrisc/openrisc_sim.c +++ b/hw/openrisc/openrisc_sim.c @@ -140,5 +140,4 @@ static void openrisc_sim_machine_init(MachineClass *mc) mc->is_default = 1; } -DEFINE_MACHINE("or32-sim", openrisc_sim_machine_init); - +DEFINE_MACHINE("or32-sim", openrisc_sim_machine_init) diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c index 66ad697..384b6e8 100644 --- a/hw/ppc/e500plat.c +++ b/hw/ppc/e500plat.c @@ -65,5 +65,4 @@ static void e500plat_machine_init(MachineClass *mc) mc->has_dynamic_sysbus = true; } -DEFINE_MACHINE("ppce500", e500plat_machine_init); - +DEFINE_MACHINE("ppce500", e500plat_machine_init) diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c index bd1e687..5cba2cb 100644 --- a/hw/ppc/mac_oldworld.c +++ b/hw/ppc/mac_oldworld.c @@ -370,5 +370,4 @@ static void heathrow_machine_init(MachineClass *mc) mc->kvm_type = heathrow_kvm_type; } -DEFINE_MACHINE("g3beige", heathrow_machine_init); - +DEFINE_MACHINE("g3beige", heathrow_machine_init) diff --git a/hw/ppc/mpc8544ds.c b/hw/ppc/mpc8544ds.c index 494ac07..0afbd34 100644 --- a/hw/ppc/mpc8544ds.c +++ b/hw/ppc/mpc8544ds.c @@ -57,5 +57,4 @@ static void ppce500_machine_init(MachineClass *mc) mc->max_cpus = 15; } -DEFINE_MACHINE("mpc8544ds", ppce500_machine_init); - +DEFINE_MACHINE("mpc8544ds", ppce500_machine_init) diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c index 5726f44..56980bf 100644 --- a/hw/ppc/ppc405_boards.c +++ b/hw/ppc/ppc405_boards.c @@ -375,7 +375,7 @@ static void ref405ep_machine_init(MachineClass *mc) mc->init = ref405ep_init; } -DEFINE_MACHINE("ref405ep", ref405ep_machine_init); +DEFINE_MACHINE("ref405ep", ref405ep_machine_init) /*****************************************************************************/ /* AMCC Taihu evaluation board */ @@ -673,5 +673,4 @@ static void taihu_machine_init(MachineClass *mc) mc->init = taihu_405ep_init; } -DEFINE_MACHINE("taihu", taihu_machine_init); - +DEFINE_MACHINE("taihu", taihu_machine_init) diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c index e17dbe1..4726832 100644 --- a/hw/ppc/ppc440_bamboo.c +++ b/hw/ppc/ppc440_bamboo.c @@ -299,5 +299,4 @@ static void bamboo_machine_init(MachineClass *mc) mc->init = bamboo_init; } -DEFINE_MACHINE("bamboo", bamboo_machine_init); - +DEFINE_MACHINE("bamboo", bamboo_machine_init) diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c index 8ca21d3..9d6d70a 100644 --- a/hw/ppc/prep.c +++ b/hw/ppc/prep.c @@ -695,5 +695,4 @@ static void prep_machine_init(MachineClass *mc) mc->default_boot_order = "cad"; } -DEFINE_MACHINE("prep", prep_machine_init); - +DEFINE_MACHINE("prep", prep_machine_init) diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c index 8537d12..457d762 100644 --- a/hw/ppc/virtex_ml507.c +++ b/hw/ppc/virtex_ml507.c @@ -303,5 +303,4 @@ static void virtex_machine_init(MachineClass *mc) mc->init = virtex_init; } -DEFINE_MACHINE("virtex-ml507", virtex_machine_init); - +DEFINE_MACHINE("virtex-ml507", virtex_machine_init) diff --git a/hw/sh4/r2d.c b/hw/sh4/r2d.c index 2c6de81..c1ff9a0 100644 --- a/hw/sh4/r2d.c +++ b/hw/sh4/r2d.c @@ -360,5 +360,4 @@ static void r2d_machine_init(MachineClass *mc) mc->init = r2d_init; } -DEFINE_MACHINE("r2d", r2d_machine_init); - +DEFINE_MACHINE("r2d", r2d_machine_init) diff --git a/hw/sh4/shix.c b/hw/sh4/shix.c index 3e6bb36..d508be9 100644 --- a/hw/sh4/shix.c +++ b/hw/sh4/shix.c @@ -94,5 +94,4 @@ static void shix_machine_init(MachineClass *mc) mc->is_default = 1; } -DEFINE_MACHINE("shix", shix_machine_init); - +DEFINE_MACHINE("shix", shix_machine_init) diff --git a/hw/sparc/leon3.c b/hw/sparc/leon3.c index 1eb728d..ee73fea 100644 --- a/hw/sparc/leon3.c +++ b/hw/sparc/leon3.c @@ -222,5 +222,4 @@ static void leon3_generic_machine_init(MachineClass *mc) mc->init = leon3_generic_hw_init; } -DEFINE_MACHINE("leon3_generic", leon3_generic_machine_init); - +DEFINE_MACHINE("leon3_generic", leon3_generic_machine_init) diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c index d044fdd..092e250 100644 --- a/hw/sparc/sun4m.c +++ b/hw/sparc/sun4m.c @@ -1429,7 +1429,7 @@ static void ss5_machine_init(MachineClass *mc) mc->default_boot_order = "c"; } -DEFINE_MACHINE("SS-5", ss5_machine_init); +DEFINE_MACHINE("SS-5", ss5_machine_init) static void ss10_machine_init(MachineClass *mc) { @@ -1440,7 +1440,7 @@ static void ss10_machine_init(MachineClass *mc) mc->default_boot_order = "c"; } -DEFINE_MACHINE("SS-10", ss10_machine_init); +DEFINE_MACHINE("SS-10", ss10_machine_init) static void ss600mp_machine_init(MachineClass *mc) { @@ -1451,7 +1451,7 @@ static void ss600mp_machine_init(MachineClass *mc) mc->default_boot_order = "c"; } -DEFINE_MACHINE("SS-600MP", ss600mp_machine_init); +DEFINE_MACHINE("SS-600MP", ss600mp_machine_init) static void ss20_machine_init(MachineClass *mc) { @@ -1462,7 +1462,7 @@ static void ss20_machine_init(MachineClass *mc) mc->default_boot_order = "c"; } -DEFINE_MACHINE("SS-20", ss20_machine_init); +DEFINE_MACHINE("SS-20", ss20_machine_init) static void voyager_machine_init(MachineClass *mc) { @@ -1472,7 +1472,7 @@ static void voyager_machine_init(MachineClass *mc) mc->default_boot_order = "c"; } -DEFINE_MACHINE("Voyager", voyager_machine_init); +DEFINE_MACHINE("Voyager", voyager_machine_init) static void ss_lx_machine_init(MachineClass *mc) { @@ -1482,7 +1482,7 @@ static void ss_lx_machine_init(MachineClass *mc) mc->default_boot_order = "c"; } -DEFINE_MACHINE("LX", ss_lx_machine_init); +DEFINE_MACHINE("LX", ss_lx_machine_init) static void ss4_machine_init(MachineClass *mc) { @@ -1492,7 +1492,7 @@ static void ss4_machine_init(MachineClass *mc) mc->default_boot_order = "c"; } -DEFINE_MACHINE("SS-4", ss4_machine_init); +DEFINE_MACHINE("SS-4", ss4_machine_init) static void scls_machine_init(MachineClass *mc) { @@ -1502,7 +1502,7 @@ static void scls_machine_init(MachineClass *mc) mc->default_boot_order = "c"; } -DEFINE_MACHINE("SPARCClassic", scls_machine_init); +DEFINE_MACHINE("SPARCClassic", scls_machine_init) static void sbook_machine_init(MachineClass *mc) { @@ -1512,7 +1512,7 @@ static void sbook_machine_init(MachineClass *mc) mc->default_boot_order = "c"; } -DEFINE_MACHINE("SPARCbook", sbook_machine_init); +DEFINE_MACHINE("SPARCbook", sbook_machine_init) static void sun4m_register_types(void) { diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c index 42e8cbc..ab43dc6 100644 --- a/hw/sparc64/sun4u.c +++ b/hw/sparc64/sun4u.c @@ -974,7 +974,7 @@ static void sun4u_machine_init(MachineClass *mc) mc->default_boot_order = "c"; } -DEFINE_MACHINE("sun4u", sun4u_machine_init); +DEFINE_MACHINE("sun4u", sun4u_machine_init) static void sun4v_machine_init(MachineClass *mc) { @@ -984,7 +984,7 @@ static void sun4v_machine_init(MachineClass *mc) mc->default_boot_order = "c"; } -DEFINE_MACHINE("sun4v", sun4v_machine_init); +DEFINE_MACHINE("sun4v", sun4v_machine_init) static void niagara_machine_init(MachineClass *mc) { @@ -994,7 +994,7 @@ static void niagara_machine_init(MachineClass *mc) mc->default_boot_order = "c"; } -DEFINE_MACHINE("Niagara", niagara_machine_init); +DEFINE_MACHINE("Niagara", niagara_machine_init) static void sun4u_register_types(void) { diff --git a/hw/tricore/tricore_testboard.c b/hw/tricore/tricore_testboard.c index d0dd0be..8532410 100644 --- a/hw/tricore/tricore_testboard.c +++ b/hw/tricore/tricore_testboard.c @@ -122,5 +122,4 @@ static void ttb_machine_init(MachineClass *mc) mc->is_default = 0; } -DEFINE_MACHINE("tricore_testboard", ttb_machine_init); - +DEFINE_MACHINE("tricore_testboard", ttb_machine_init) diff --git a/hw/unicore32/puv3.c b/hw/unicore32/puv3.c index 78bb161..91117b2 100644 --- a/hw/unicore32/puv3.c +++ b/hw/unicore32/puv3.c @@ -137,5 +137,4 @@ static void puv3_machine_init(MachineClass *mc) mc->is_default = 1; } -DEFINE_MACHINE("puv3", puv3_machine_init); - +DEFINE_MACHINE("puv3", puv3_machine_init) diff --git a/hw/xenpv/xen_machine_pv.c b/hw/xenpv/xen_machine_pv.c index f19a8f4..23d6ef0 100644 --- a/hw/xenpv/xen_machine_pv.c +++ b/hw/xenpv/xen_machine_pv.c @@ -101,5 +101,4 @@ static void xenpv_machine_init(MachineClass *mc) mc->default_machine_opts = "accel=xen"; } -DEFINE_MACHINE("xenpv", xenpv_machine_init); - +DEFINE_MACHINE("xenpv", xenpv_machine_init) diff --git a/hw/xtensa/sim.c b/hw/xtensa/sim.c index 0d0369d..aa1cd10 100644 --- a/hw/xtensa/sim.c +++ b/hw/xtensa/sim.c @@ -112,5 +112,4 @@ static void xtensa_sim_machine_init(MachineClass *mc) mc->max_cpus = 4; } -DEFINE_MACHINE("sim", xtensa_sim_machine_init); - +DEFINE_MACHINE("sim", xtensa_sim_machine_init) diff --git a/hw/xtensa/xtfpga.c b/hw/xtensa/xtfpga.c index f65ed94..d6ddfa1 100644 --- a/hw/xtensa/xtfpga.c +++ b/hw/xtensa/xtfpga.c @@ -435,7 +435,7 @@ static void xtensa_lx60_machine_init(MachineClass *mc) mc->max_cpus = 4; } -DEFINE_MACHINE("lx60", xtensa_lx60_machine_init); +DEFINE_MACHINE("lx60", xtensa_lx60_machine_init) static void xtensa_lx200_machine_init(MachineClass *mc) { @@ -444,7 +444,7 @@ static void xtensa_lx200_machine_init(MachineClass *mc) mc->max_cpus = 4; } -DEFINE_MACHINE("lx200", xtensa_lx200_machine_init); +DEFINE_MACHINE("lx200", xtensa_lx200_machine_init) static void xtensa_ml605_machine_init(MachineClass *mc) { @@ -453,7 +453,7 @@ static void xtensa_ml605_machine_init(MachineClass *mc) mc->max_cpus = 4; } -DEFINE_MACHINE("ml605", xtensa_ml605_machine_init); +DEFINE_MACHINE("ml605", xtensa_ml605_machine_init) static void xtensa_kc705_machine_init(MachineClass *mc) { @@ -462,5 +462,4 @@ static void xtensa_kc705_machine_init(MachineClass *mc) mc->max_cpus = 4; } -DEFINE_MACHINE("kc705", xtensa_kc705_machine_init); - +DEFINE_MACHINE("kc705", xtensa_kc705_machine_init) ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Qemu-devel] [PATCH v3 6/7] Use DEFINE_MACHINE to register all machines 2015-09-19 8:13 ` Andreas Färber @ 2015-09-19 8:27 ` Andreas Färber 2015-09-19 8:28 ` Andreas Färber 2015-09-21 15:10 ` Eduardo Habkost 1 sibling, 1 reply; 14+ messages in thread From: Andreas Färber @ 2015-09-19 8:27 UTC (permalink / raw) To: Eduardo Habkost, qemu-devel Cc: Peter Maydell, Jean-Christophe Dubois, Marcel Apfelbaum Am 19.09.2015 um 10:13 schrieb Andreas Färber: > Am 04.09.2015 um 20:37 schrieb Eduardo Habkost: >> Convert all machines to use DEFINE_MACHINE instead of QEMUMachine >> automatically using a script. >> >> Cc: Richard Henderson <rth@twiddle.net> >> Cc: Peter Maydell <peter.maydell@linaro.org> >> Cc: Li Guang <lig.fnst@cn.fujitsu.com> >> Cc: Antony Pavlov <antonynpavlov@gmail.com> >> Cc: Evgeny Voevodin <e.voevodin@samsung.com> >> Cc: Maksim Kozlov <m.kozlov@samsung.com> >> Cc: Igor Mitsyanko <i.mitsyanko@gmail.com> >> Cc: Dmitry Solodkiy <d.solodkiy@samsung.com> >> Cc: Rob Herring <robh@kernel.org> >> Cc: Peter Chubb <peter.chubb@nicta.com.au> >> Cc: Jan Kiszka <jan.kiszka@web.de> >> Cc: Andrzej Zaborowski <balrogg@gmail.com> >> Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com> >> Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com> >> Cc: Michael Walle <michael@walle.cc> >> Cc: Aurelien Jarno <aurelien@aurel32.net> >> Cc: Leon Alrae <leon.alrae@imgtec.com> >> Cc: "Hervé Poussineau" <hpoussin@reactos.org> >> Cc: Jia Liu <proljc@gmail.com> >> Cc: Alexander Graf <agraf@suse.de> >> Cc: Scott Wood <scottwood@freescale.com> >> Cc: "Andreas Färber" <andreas.faerber@web.de> >> Cc: Magnus Damm <magnus.damm@gmail.com> >> Cc: Fabien Chouteau <chouteau@adacore.com> >> Cc: Blue Swirl <blauwirbel@gmail.com> >> Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> >> Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> >> Cc: Guan Xuetao <gxt@mprc.pku.edu.cn> >> Cc: Max Filippov <jcmvbkbc@gmail.com> >> Cc: qemu-ppc@nongnu.org >> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> >> --- >> Changes v1 -> v2: >> * Fix trailing spaces and newlines >> * Don't touch "//" comments on lines that we are not changing >> * Break long lines manually >> >> Changes v2 -> v3: >> * Replace "machine_machine" with "machine" in new variable and function >> names. >> Suggested-by: Michael Walle <michael@walle.cc> >> * Eliminate empty mips_malta_machine_init() and sun4u_machine_init() >> functions > > In most (but not all) cases the last DEFINE_MACHINE(...) added a white > line, dropped manually. > > Your script also always added a semicolon after DEFINE_MACHINE(), even > when the original machine_init() did not have it. Cleaned up manually. > > This scripted approach also regresses files with multiple machines to > now have one module init function per machine rather than one per file. > > I'm also not clear on why you chose to diverge from devices in having a > machine-specific init function with MachineClass *mc arg rather than > having ObjectClass *oc, void *data and having a local mc variable. > > But getting this conversion done to drop the old infrastructure seems > more important, and this can be revisited afterwards. The following conversion has become necessary on top (squashing): diff --git a/hw/arm/imx25_pdk.c b/hw/arm/imx25_pdk.c index c34667f..4250114 100644 --- a/hw/arm/imx25_pdk.c +++ b/hw/arm/imx25_pdk.c @@ -145,15 +145,10 @@ static void imx25_pdk_init(MachineState *machine) } } -static QEMUMachine imx25_pdk_machine = { - .name = "imx25_pdk", - .desc = "ARM i.MX25 PDK board (ARM926)", - .init = imx25_pdk_init, -}; - -static void imx25_pdk_machine_init(void) +static void imx25_pdk_machine_init(MachineClass *mc) { - qemu_register_machine(&imx25_pdk_machine); + mc->desc = "ARM i.MX25 PDK board (ARM926)"; + mc->init = imx25_pdk_init; } -machine_init(imx25_pdk_machine_init) Regards, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton; HRB 21284 (AG Nürnberg) ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Qemu-devel] [PATCH v3 6/7] Use DEFINE_MACHINE to register all machines 2015-09-19 8:27 ` Andreas Färber @ 2015-09-19 8:28 ` Andreas Färber 0 siblings, 0 replies; 14+ messages in thread From: Andreas Färber @ 2015-09-19 8:28 UTC (permalink / raw) To: Eduardo Habkost, qemu-devel Cc: Peter Maydell, Marcel Apfelbaum, Jean-Christophe Dubois Am 19.09.2015 um 10:27 schrieb Andreas Färber: > Am 19.09.2015 um 10:13 schrieb Andreas Färber: >> Am 04.09.2015 um 20:37 schrieb Eduardo Habkost: >>> Convert all machines to use DEFINE_MACHINE instead of QEMUMachine >>> automatically using a script. >>> >>> Cc: Richard Henderson <rth@twiddle.net> >>> Cc: Peter Maydell <peter.maydell@linaro.org> >>> Cc: Li Guang <lig.fnst@cn.fujitsu.com> >>> Cc: Antony Pavlov <antonynpavlov@gmail.com> >>> Cc: Evgeny Voevodin <e.voevodin@samsung.com> >>> Cc: Maksim Kozlov <m.kozlov@samsung.com> >>> Cc: Igor Mitsyanko <i.mitsyanko@gmail.com> >>> Cc: Dmitry Solodkiy <d.solodkiy@samsung.com> >>> Cc: Rob Herring <robh@kernel.org> >>> Cc: Peter Chubb <peter.chubb@nicta.com.au> >>> Cc: Jan Kiszka <jan.kiszka@web.de> >>> Cc: Andrzej Zaborowski <balrogg@gmail.com> >>> Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com> >>> Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com> >>> Cc: Michael Walle <michael@walle.cc> >>> Cc: Aurelien Jarno <aurelien@aurel32.net> >>> Cc: Leon Alrae <leon.alrae@imgtec.com> >>> Cc: "Hervé Poussineau" <hpoussin@reactos.org> >>> Cc: Jia Liu <proljc@gmail.com> >>> Cc: Alexander Graf <agraf@suse.de> >>> Cc: Scott Wood <scottwood@freescale.com> >>> Cc: "Andreas Färber" <andreas.faerber@web.de> >>> Cc: Magnus Damm <magnus.damm@gmail.com> >>> Cc: Fabien Chouteau <chouteau@adacore.com> >>> Cc: Blue Swirl <blauwirbel@gmail.com> >>> Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> >>> Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> >>> Cc: Guan Xuetao <gxt@mprc.pku.edu.cn> >>> Cc: Max Filippov <jcmvbkbc@gmail.com> >>> Cc: qemu-ppc@nongnu.org >>> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> >>> --- >>> Changes v1 -> v2: >>> * Fix trailing spaces and newlines >>> * Don't touch "//" comments on lines that we are not changing >>> * Break long lines manually >>> >>> Changes v2 -> v3: >>> * Replace "machine_machine" with "machine" in new variable and function >>> names. >>> Suggested-by: Michael Walle <michael@walle.cc> >>> * Eliminate empty mips_malta_machine_init() and sun4u_machine_init() >>> functions >> >> In most (but not all) cases the last DEFINE_MACHINE(...) added a white >> line, dropped manually. >> >> Your script also always added a semicolon after DEFINE_MACHINE(), even >> when the original machine_init() did not have it. Cleaned up manually. >> >> This scripted approach also regresses files with multiple machines to >> now have one module init function per machine rather than one per file. >> >> I'm also not clear on why you chose to diverge from devices in having a >> machine-specific init function with MachineClass *mc arg rather than >> having ObjectClass *oc, void *data and having a local mc variable. >> >> But getting this conversion done to drop the old infrastructure seems >> more important, and this can be revisited afterwards. > > The following conversion has become necessary on top (squashing): > > diff --git a/hw/arm/imx25_pdk.c b/hw/arm/imx25_pdk.c > index c34667f..4250114 100644 > --- a/hw/arm/imx25_pdk.c > +++ b/hw/arm/imx25_pdk.c > @@ -145,15 +145,10 @@ static void imx25_pdk_init(MachineState *machine) > } > } > > -static QEMUMachine imx25_pdk_machine = { > - .name = "imx25_pdk", > - .desc = "ARM i.MX25 PDK board (ARM926)", > - .init = imx25_pdk_init, > -}; > - > -static void imx25_pdk_machine_init(void) > +static void imx25_pdk_machine_init(MachineClass *mc) > { > - qemu_register_machine(&imx25_pdk_machine); > + mc->desc = "ARM i.MX25 PDK board (ARM926)"; > + mc->init = imx25_pdk_init; > } > > -machine_init(imx25_pdk_machine_init) +DEFINE_MACHINE("imx25_pdk", imx25_pdk_machine_init) > > Regards, > Andreas > -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton; HRB 21284 (AG Nürnberg) ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Qemu-devel] [PATCH v3 6/7] Use DEFINE_MACHINE to register all machines 2015-09-19 8:13 ` Andreas Färber 2015-09-19 8:27 ` Andreas Färber @ 2015-09-21 15:10 ` Eduardo Habkost 1 sibling, 0 replies; 14+ messages in thread From: Eduardo Habkost @ 2015-09-21 15:10 UTC (permalink / raw) To: Andreas Färber Cc: Peter Maydell, Evgeny Voevodin, Michael S. Tsirkin, Mark Cave-Ayland, qemu-devel, Blue Swirl, Max Filippov, Edgar E. Iglesias, Guan Xuetao, Rob Herring, Jia Liu, Alexander Graf, Hervé Poussineau, Antony Pavlov, Maksim Kozlov, Leon Alrae, Marcel Apfelbaum, Fabien Chouteau, Aurelien Jarno, Peter Chubb, Scott Wood, Richard Henderson, Peter Crosthwaite, Igor Mitsyanko, Bastian Koppelmann, Michael Walle, qemu-ppc, Dmitry Solodkiy, Jan Kiszka, Li Guang On Sat, Sep 19, 2015 at 10:13:21AM +0200, Andreas Färber wrote: > Am 04.09.2015 um 20:37 schrieb Eduardo Habkost: > > Convert all machines to use DEFINE_MACHINE instead of QEMUMachine > > automatically using a script. [...] > > Changes v1 -> v2: > > * Fix trailing spaces and newlines > > * Don't touch "//" comments on lines that we are not changing > > * Break long lines manually > > > > Changes v2 -> v3: > > * Replace "machine_machine" with "machine" in new variable and function > > names. > > Suggested-by: Michael Walle <michael@walle.cc> > > * Eliminate empty mips_malta_machine_init() and sun4u_machine_init() > > functions > > In most (but not all) cases the last DEFINE_MACHINE(...) added a white > line, dropped manually. > > Your script also always added a semicolon after DEFINE_MACHINE(), even > when the original machine_init() did not have it. Cleaned up manually. We could use the conversion as an opportunity to make the code more consistent: to either remove the semicolon from all files, or using a semicolon on all of them. (I don't know which way is better.) > > This scripted approach also regresses files with multiple machines to > now have one module init function per machine rather than one per file. Is that a problem? > > I'm also not clear on why you chose to diverge from devices in having a > machine-specific init function with MachineClass *mc arg rather than > having ObjectClass *oc, void *data and having a local mc variable. I wasn't 100% sure what was the best option, but I decided that I liked to get more type safety and shorter class init functions for free when using the macro. > > But getting this conversion done to drop the old infrastructure seems > more important, and this can be revisited afterwards. > Thanks! -- Eduardo ^ permalink raw reply [flat|nested] 14+ messages in thread
* [Qemu-devel] [PATCH 6a/7] Revert use of DEFINE_MACHINE() for registrations of multiple machines 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 6/7] Use DEFINE_MACHINE to register all machines Eduardo Habkost 2015-09-19 8:13 ` Andreas Färber @ 2015-09-19 12:19 ` Andreas Färber 1 sibling, 0 replies; 14+ messages in thread From: Andreas Färber @ 2015-09-19 12:19 UTC (permalink / raw) To: qemu-devel Cc: Peter Maydell, Evgeny Voevodin, Rob Herring, Igor Mitsyanko, Leon Alrae, Mark Cave-Ayland, Alexander Graf, Blue Swirl, Max Filippov, Michael Walle, Hervé Poussineau, Dmitry Solodkiy, open list:405, Maksim Kozlov, Andreas Färber, Aurelien Jarno The script used for converting from QEMUMachine had used one DEFINE_MACHINE() per machine registered. In cases where multiple machines are registered from one source file, avoid the excessive generation of module init functions by reverting this unrolling. Signed-off-by: Andreas Färber <afaerber@suse.de> --- hw/arm/exynos4_boards.c | 28 +++++++++++-- hw/arm/gumstix.c | 28 +++++++++++-- hw/arm/highbank.c | 28 +++++++++++-- hw/arm/nseries.c | 28 +++++++++++-- hw/arm/omap_sx1.c | 28 +++++++++++-- hw/arm/realview.c | 50 +++++++++++++++++++---- hw/arm/spitz.c | 50 +++++++++++++++++++---- hw/arm/stellaris.c | 28 +++++++++++-- hw/arm/versatilepb.c | 28 +++++++++++-- hw/lm32/lm32_boards.c | 28 +++++++++++-- hw/mips/mips_jazz.c | 28 +++++++++++-- hw/ppc/ppc405_boards.c | 28 +++++++++++-- hw/sparc/sun4m.c | 104 +++++++++++++++++++++++++++++++++++++++--------- hw/sparc64/sun4u.c | 38 +++++++++++++++--- hw/xtensa/xtfpga.c | 50 +++++++++++++++++++---- 15 files changed, 484 insertions(+), 88 deletions(-) diff --git a/hw/arm/exynos4_boards.c b/hw/arm/exynos4_boards.c index fadf372..da82b27 100644 --- a/hw/arm/exynos4_boards.c +++ b/hw/arm/exynos4_boards.c @@ -144,20 +144,40 @@ static void smdkc210_init(MachineState *machine) arm_load_kernel(ARM_CPU(first_cpu), &exynos4_board_binfo); } -static void exynos4_machine_nuri_machine_init(MachineClass *mc) +static void nuri_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Samsung NURI board (Exynos4210)"; mc->init = nuri_init; mc->max_cpus = EXYNOS4210_NCPUS; } -DEFINE_MACHINE("nuri", exynos4_machine_nuri_machine_init) +static const TypeInfo nuri_type = { + .name = MACHINE_TYPE_NAME("nuri"), + .parent = TYPE_MACHINE, + .class_init = nuri_class_init, +}; -static void exynos4_machine_smdkc210_machine_init(MachineClass *mc) +static void smdkc210_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Samsung SMDKC210 board (Exynos4210)"; mc->init = smdkc210_init; mc->max_cpus = EXYNOS4210_NCPUS; } -DEFINE_MACHINE("smdkc210", exynos4_machine_smdkc210_machine_init) +static const TypeInfo smdkc210_type = { + .name = MACHINE_TYPE_NAME("smdkc210"), + .parent = TYPE_MACHINE, + .class_init = smdkc210_class_init, +}; + +static void exynos4_machines_init(void) +{ + type_register_static(&nuri_type); + type_register_static(&smdkc210_type); +} + +machine_init(exynos4_machines_init) diff --git a/hw/arm/gumstix.c b/hw/arm/gumstix.c index 6dc98c8..32ad041 100644 --- a/hw/arm/gumstix.c +++ b/hw/arm/gumstix.c @@ -121,18 +121,38 @@ static void verdex_init(MachineState *machine) qdev_get_gpio_in(cpu->gpio, 99)); } -static void connex_machine_init(MachineClass *mc) +static void connex_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Gumstix Connex (PXA255)"; mc->init = connex_init; } -DEFINE_MACHINE("connex", connex_machine_init) +static const TypeInfo connex_type = { + .name = MACHINE_TYPE_NAME("connex"), + .parent = TYPE_MACHINE, + .class_init = connex_class_init, +}; -static void verdex_machine_init(MachineClass *mc) +static void verdex_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Gumstix Verdex (PXA270)"; mc->init = verdex_init; } -DEFINE_MACHINE("verdex", verdex_machine_init) +static const TypeInfo verdex_type = { + .name = MACHINE_TYPE_NAME("verdex"), + .parent = TYPE_MACHINE, + .class_init = verdex_class_init, +}; + +static void gumstix_machine_init(void) +{ + type_register_static(&connex_type); + type_register_static(&verdex_type); +} + +machine_init(gumstix_machine_init) diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c index 9b2887e..be04b27 100644 --- a/hw/arm/highbank.c +++ b/hw/arm/highbank.c @@ -391,22 +391,42 @@ static void midway_init(MachineState *machine) calxeda_init(machine, CALXEDA_MIDWAY); } -static void highbank_machine_init(MachineClass *mc) +static void highbank_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Calxeda Highbank (ECX-1000)"; mc->init = highbank_init; mc->block_default_type = IF_SCSI; mc->max_cpus = 4; } -DEFINE_MACHINE("highbank", highbank_machine_init) +static const TypeInfo highbank_type = { + .name = MACHINE_TYPE_NAME("highbank"), + .parent = TYPE_MACHINE, + .class_init = highbank_class_init, +}; -static void midway_machine_init(MachineClass *mc) +static void midway_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Calxeda Midway (ECX-2000)"; mc->init = midway_init; mc->block_default_type = IF_SCSI; mc->max_cpus = 4; } -DEFINE_MACHINE("midway", midway_machine_init) +static const TypeInfo midway_type = { + .name = MACHINE_TYPE_NAME("midway"), + .parent = TYPE_MACHINE, + .class_init = midway_class_init, +}; + +static void calxeda_machines_init(void) +{ + type_register_static(&highbank_type); + type_register_static(&midway_type); +} + +machine_init(calxeda_machines_init) diff --git a/hw/arm/nseries.c b/hw/arm/nseries.c index af28449..6a6b3e6 100644 --- a/hw/arm/nseries.c +++ b/hw/arm/nseries.c @@ -1413,20 +1413,40 @@ static void n810_init(MachineState *machine) n8x0_init(machine, &n810_binfo, 810); } -static void n800_machine_init(MachineClass *mc) +static void n800_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Nokia N800 tablet aka. RX-34 (OMAP2420)"; mc->init = n800_init; mc->default_boot_order = ""; } -DEFINE_MACHINE("n800", n800_machine_init) +static const TypeInfo n800_type = { + .name = MACHINE_TYPE_NAME("n800"), + .parent = TYPE_MACHINE, + .class_init = n800_class_init, +}; -static void n810_machine_init(MachineClass *mc) +static void n810_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Nokia N810 tablet aka. RX-44 (OMAP2420)"; mc->init = n810_init; mc->default_boot_order = ""; } -DEFINE_MACHINE("n810", n810_machine_init) +static const TypeInfo n810_type = { + .name = MACHINE_TYPE_NAME("n810"), + .parent = TYPE_MACHINE, + .class_init = n810_class_init, +}; + +static void nseries_machine_init(void) +{ + type_register_static(&n800_type); + type_register_static(&n810_type); +} + +machine_init(nseries_machine_init) diff --git a/hw/arm/omap_sx1.c b/hw/arm/omap_sx1.c index 68924fc..8eaf8f3 100644 --- a/hw/arm/omap_sx1.c +++ b/hw/arm/omap_sx1.c @@ -217,18 +217,38 @@ static void sx1_init_v2(MachineState *machine) sx1_init(machine, 2); } -static void sx1_machine_v2_machine_init(MachineClass *mc) +static void sx1_machine_v2_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Siemens SX1 (OMAP310) V2"; mc->init = sx1_init_v2; } -DEFINE_MACHINE("sx1", sx1_machine_v2_machine_init) +static const TypeInfo sx1_machine_v2_type = { + .name = MACHINE_TYPE_NAME("sx1"), + .parent = TYPE_MACHINE, + .class_init = sx1_machine_v2_class_init, +}; -static void sx1_machine_v1_machine_init(MachineClass *mc) +static void sx1_machine_v1_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Siemens SX1 (OMAP310) V1"; mc->init = sx1_init_v1; } -DEFINE_MACHINE("sx1-v1", sx1_machine_v1_machine_init) +static const TypeInfo sx1_machine_v1_type = { + .name = MACHINE_TYPE_NAME("sx1-v1"), + .parent = TYPE_MACHINE, + .class_init = sx1_machine_v1_class_init, +}; + +static void sx1_machine_init(void) +{ + type_register_static(&sx1_machine_v1_type); + type_register_static(&sx1_machine_v2_type); +} + +machine_init(sx1_machine_init) diff --git a/hw/arm/realview.c b/hw/arm/realview.c index 6c83817..e14828d 100644 --- a/hw/arm/realview.c +++ b/hw/arm/realview.c @@ -399,39 +399,73 @@ static void realview_pbx_a9_init(MachineState *machine) realview_init(machine, BOARD_PBX_A9); } -static void realview_eb_machine_init(MachineClass *mc) +static void realview_eb_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "ARM RealView Emulation Baseboard (ARM926EJ-S)"; mc->init = realview_eb_init; mc->block_default_type = IF_SCSI; } -DEFINE_MACHINE("realview-eb", realview_eb_machine_init) +static const TypeInfo realview_eb_type = { + .name = MACHINE_TYPE_NAME("realview-eb"), + .parent = TYPE_MACHINE, + .class_init = realview_eb_class_init, +}; -static void realview_eb_mpcore_machine_init(MachineClass *mc) +static void realview_eb_mpcore_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "ARM RealView Emulation Baseboard (ARM11MPCore)"; mc->init = realview_eb_mpcore_init; mc->block_default_type = IF_SCSI; mc->max_cpus = 4; } -DEFINE_MACHINE("realview-eb-mpcore", realview_eb_mpcore_machine_init) +static const TypeInfo realview_eb_mpcore_type = { + .name = MACHINE_TYPE_NAME("realview-eb-mpcore"), + .parent = TYPE_MACHINE, + .class_init = realview_eb_mpcore_class_init, +}; -static void realview_pb_a8_machine_init(MachineClass *mc) +static void realview_pb_a8_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "ARM RealView Platform Baseboard for Cortex-A8"; mc->init = realview_pb_a8_init; } -DEFINE_MACHINE("realview-pb-a8", realview_pb_a8_machine_init) +static const TypeInfo realview_pb_a8_type = { + .name = MACHINE_TYPE_NAME("realview-pb-a8"), + .parent = TYPE_MACHINE, + .class_init = realview_pb_a8_class_init, +}; -static void realview_pbx_a9_machine_init(MachineClass *mc) +static void realview_pbx_a9_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "ARM RealView Platform Baseboard Explore for Cortex-A9"; mc->init = realview_pbx_a9_init; mc->block_default_type = IF_SCSI; mc->max_cpus = 4; } -DEFINE_MACHINE("realview-pbx-a9", realview_pbx_a9_machine_init) +static const TypeInfo realview_pbx_a9_type = { + .name = MACHINE_TYPE_NAME("realview-pbx-a9"), + .parent = TYPE_MACHINE, + .class_init = realview_pbx_a9_class_init, +}; + +static void realview_machine_init(void) +{ + type_register_static(&realview_eb_type); + type_register_static(&realview_eb_mpcore_type); + type_register_static(&realview_pb_a8_type); + type_register_static(&realview_pbx_a9_type); +} + +machine_init(realview_machine_init) diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c index 0f59489..2af03be 100644 --- a/hw/arm/spitz.c +++ b/hw/arm/spitz.c @@ -972,37 +972,71 @@ static void terrier_init(MachineState *machine) spitz_common_init(machine, terrier, 0x33f); } -static void akitapda_machine_init(MachineClass *mc) +static void akitapda_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Akita PDA (PXA270)"; mc->init = akita_init; } -DEFINE_MACHINE("akita", akitapda_machine_init) +static const TypeInfo akitapda_type = { + .name = MACHINE_TYPE_NAME("akita"), + .parent = TYPE_MACHINE, + .class_init = akitapda_class_init, +}; -static void spitzpda_machine_init(MachineClass *mc) +static void spitzpda_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Spitz PDA (PXA270)"; mc->init = spitz_init; } -DEFINE_MACHINE("spitz", spitzpda_machine_init) +static const TypeInfo spitzpda_type = { + .name = MACHINE_TYPE_NAME("spitz"), + .parent = TYPE_MACHINE, + .class_init = spitzpda_class_init, +}; -static void borzoipda_machine_init(MachineClass *mc) +static void borzoipda_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Borzoi PDA (PXA270)"; mc->init = borzoi_init; } -DEFINE_MACHINE("borzoi", borzoipda_machine_init) +static const TypeInfo borzoipda_type = { + .name = MACHINE_TYPE_NAME("borzoi"), + .parent = TYPE_MACHINE, + .class_init = borzoipda_class_init, +}; -static void terrierpda_machine_init(MachineClass *mc) +static void terrierpda_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Terrier PDA (PXA270)"; mc->init = terrier_init; } -DEFINE_MACHINE("terrier", terrierpda_machine_init) +static const TypeInfo terrierpda_type = { + .name = MACHINE_TYPE_NAME("terrier"), + .parent = TYPE_MACHINE, + .class_init = terrierpda_class_init, +}; + +static void spitz_machine_init(void) +{ + type_register_static(&akitapda_type); + type_register_static(&spitzpda_type); + type_register_static(&borzoipda_type); + type_register_static(&terrierpda_type); +} + +machine_init(spitz_machine_init) static bool is_version_0(void *opaque, int version_id) { diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c index a97d9e3..3d6486f 100644 --- a/hw/arm/stellaris.c +++ b/hw/arm/stellaris.c @@ -1366,21 +1366,41 @@ static void lm3s6965evb_init(MachineState *machine) stellaris_init(kernel_filename, cpu_model, &stellaris_boards[1]); } -static void lm3s811evb_machine_init(MachineClass *mc) +static void lm3s811evb_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Stellaris LM3S811EVB"; mc->init = lm3s811evb_init; } -DEFINE_MACHINE("lm3s811evb", lm3s811evb_machine_init) +static const TypeInfo lm3s811evb_type = { + .name = MACHINE_TYPE_NAME("lm3s811evb"), + .parent = TYPE_MACHINE, + .class_init = lm3s811evb_class_init, +}; -static void lm3s6965evb_machine_init(MachineClass *mc) +static void lm3s6965evb_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Stellaris LM3S6965EVB"; mc->init = lm3s6965evb_init; } -DEFINE_MACHINE("lm3s6965evb", lm3s6965evb_machine_init) +static const TypeInfo lm3s6965evb_type = { + .name = MACHINE_TYPE_NAME("lm3s6965evb"), + .parent = TYPE_MACHINE, + .class_init = lm3s6965evb_class_init, +}; + +static void stellaris_machine_init(void) +{ + type_register_static(&lm3s811evb_type); + type_register_static(&lm3s6965evb_type); +} + +machine_init(stellaris_machine_init) static void stellaris_i2c_class_init(ObjectClass *klass, void *data) { diff --git a/hw/arm/versatilepb.c b/hw/arm/versatilepb.c index 54281f4..912c290 100644 --- a/hw/arm/versatilepb.c +++ b/hw/arm/versatilepb.c @@ -391,23 +391,43 @@ static void vab_init(MachineState *machine) versatile_init(machine, 0x25e); } -static void versatilepb_machine_init(MachineClass *mc) +static void versatilepb_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "ARM Versatile/PB (ARM926EJ-S)"; mc->init = vpb_init; mc->block_default_type = IF_SCSI; } -DEFINE_MACHINE("versatilepb", versatilepb_machine_init) +static const TypeInfo versatilepb_type = { + .name = MACHINE_TYPE_NAME("versatilepb"), + .parent = TYPE_MACHINE, + .class_init = versatilepb_class_init, +}; -static void versatileab_machine_init(MachineClass *mc) +static void versatileab_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "ARM Versatile/AB (ARM926EJ-S)"; mc->init = vab_init; mc->block_default_type = IF_SCSI; } -DEFINE_MACHINE("versatileab", versatileab_machine_init) +static const TypeInfo versatileab_type = { + .name = MACHINE_TYPE_NAME("versatileab"), + .parent = TYPE_MACHINE, + .class_init = versatileab_class_init, +}; + +static void versatile_machine_init(void) +{ + type_register_static(&versatilepb_type); + type_register_static(&versatileab_type); +} + +machine_init(versatile_machine_init) static void vpb_sic_class_init(ObjectClass *klass, void *data) { diff --git a/hw/lm32/lm32_boards.c b/hw/lm32/lm32_boards.c index 04d2066..8e17a82 100644 --- a/hw/lm32/lm32_boards.c +++ b/hw/lm32/lm32_boards.c @@ -292,20 +292,40 @@ static void lm32_uclinux_init(MachineState *machine) qemu_register_reset(main_cpu_reset, reset_info); } -static void lm32_evr_machine_init(MachineClass *mc) +static void lm32_evr_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "LatticeMico32 EVR32 eval system"; mc->init = lm32_evr_init; mc->is_default = 1; } -DEFINE_MACHINE("lm32-evr", lm32_evr_machine_init) +static const TypeInfo lm32_evr_type = { + .name = MACHINE_TYPE_NAME("lm32-evr"), + .parent = TYPE_MACHINE, + .class_init = lm32_evr_class_init, +}; -static void lm32_uclinux_machine_init(MachineClass *mc) +static void lm32_uclinux_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "lm32 platform for uClinux and u-boot by Theobroma Systems"; mc->init = lm32_uclinux_init; mc->is_default = 0; } -DEFINE_MACHINE("lm32-uclinux", lm32_uclinux_machine_init) +static const TypeInfo lm32_uclinux_type = { + .name = MACHINE_TYPE_NAME("lm32-uclinux"), + .parent = TYPE_MACHINE, + .class_init = lm32_uclinux_class_init, +}; + +static void lm32_machine_init(void) +{ + type_register_static(&lm32_evr_type); + type_register_static(&lm32_uclinux_type); +} + +machine_init(lm32_machine_init) diff --git a/hw/mips/mips_jazz.c b/hw/mips/mips_jazz.c index d3627ba..1ab885b 100644 --- a/hw/mips/mips_jazz.c +++ b/hw/mips/mips_jazz.c @@ -349,20 +349,40 @@ void mips_pica61_init(MachineState *machine) mips_jazz_init(machine, JAZZ_PICA61); } -static void mips_magnum_machine_init(MachineClass *mc) +static void mips_magnum_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "MIPS Magnum"; mc->init = mips_magnum_init; mc->block_default_type = IF_SCSI; } -DEFINE_MACHINE("magnum", mips_magnum_machine_init) +static const TypeInfo mips_magnum_type = { + .name = MACHINE_TYPE_NAME("magnum"), + .parent = TYPE_MACHINE, + .class_init = mips_magnum_class_init, +}; -static void mips_pica61_machine_init(MachineClass *mc) +static void mips_pica61_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Acer Pica 61"; mc->init = mips_pica61_init; mc->block_default_type = IF_SCSI; } -DEFINE_MACHINE("pica61", mips_pica61_machine_init) +static const TypeInfo mips_pica61_type = { + .name = MACHINE_TYPE_NAME("pica61"), + .parent = TYPE_MACHINE, + .class_init = mips_pica61_class_init, +}; + +static void mips_jazz_machine_init(void) +{ + type_register_static(&mips_magnum_type); + type_register_static(&mips_pica61_type); +} + +machine_init(mips_jazz_machine_init) diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c index 56980bf..ec87587 100644 --- a/hw/ppc/ppc405_boards.c +++ b/hw/ppc/ppc405_boards.c @@ -369,13 +369,19 @@ static void ref405ep_init(MachineState *machine) #endif } -static void ref405ep_machine_init(MachineClass *mc) +static void ref405ep_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "ref405ep"; mc->init = ref405ep_init; } -DEFINE_MACHINE("ref405ep", ref405ep_machine_init) +static const TypeInfo ref405ep_type = { + .name = MACHINE_TYPE_NAME("ref405ep"), + .parent = TYPE_MACHINE, + .class_init = ref405ep_class_init, +}; /*****************************************************************************/ /* AMCC Taihu evaluation board */ @@ -667,10 +673,24 @@ static void taihu_405ep_init(MachineState *machine) #endif } -static void taihu_machine_init(MachineClass *mc) +static void taihu_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "taihu"; mc->init = taihu_405ep_init; } -DEFINE_MACHINE("taihu", taihu_machine_init) +static const TypeInfo taihu_type = { + .name = MACHINE_TYPE_NAME("taihu"), + .parent = TYPE_MACHINE, + .class_init = taihu_class_init, +}; + +static void ppc405_machine_init(void) +{ + type_register_static(&ref405ep_type); + type_register_static(&taihu_type); +} + +machine_init(ppc405_machine_init) diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c index 092e250..9f1917f 100644 --- a/hw/sparc/sun4m.c +++ b/hw/sparc/sun4m.c @@ -1420,8 +1420,10 @@ static void sbook_init(MachineState *machine) sun4m_hw_init(&sun4m_hwdefs[8], machine); } -static void ss5_machine_init(MachineClass *mc) +static void ss5_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Sun4m platform, SPARCstation 5"; mc->init = ss5_init; mc->block_default_type = IF_SCSI; @@ -1429,10 +1431,16 @@ static void ss5_machine_init(MachineClass *mc) mc->default_boot_order = "c"; } -DEFINE_MACHINE("SS-5", ss5_machine_init) +static const TypeInfo ss5_type = { + .name = MACHINE_TYPE_NAME("SS-5"), + .parent = TYPE_MACHINE, + .class_init = ss5_class_init, +}; -static void ss10_machine_init(MachineClass *mc) +static void ss10_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Sun4m platform, SPARCstation 10"; mc->init = ss10_init; mc->block_default_type = IF_SCSI; @@ -1440,10 +1448,16 @@ static void ss10_machine_init(MachineClass *mc) mc->default_boot_order = "c"; } -DEFINE_MACHINE("SS-10", ss10_machine_init) +static const TypeInfo ss10_type = { + .name = MACHINE_TYPE_NAME("SS-10"), + .parent = TYPE_MACHINE, + .class_init = ss10_class_init, +}; -static void ss600mp_machine_init(MachineClass *mc) +static void ss600mp_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Sun4m platform, SPARCserver 600MP"; mc->init = ss600mp_init; mc->block_default_type = IF_SCSI; @@ -1451,10 +1465,16 @@ static void ss600mp_machine_init(MachineClass *mc) mc->default_boot_order = "c"; } -DEFINE_MACHINE("SS-600MP", ss600mp_machine_init) +static const TypeInfo ss600mp_type = { + .name = MACHINE_TYPE_NAME("SS-600MP"), + .parent = TYPE_MACHINE, + .class_init = ss600mp_class_init, +}; -static void ss20_machine_init(MachineClass *mc) +static void ss20_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Sun4m platform, SPARCstation 20"; mc->init = ss20_init; mc->block_default_type = IF_SCSI; @@ -1462,57 +1482,91 @@ static void ss20_machine_init(MachineClass *mc) mc->default_boot_order = "c"; } -DEFINE_MACHINE("SS-20", ss20_machine_init) +static const TypeInfo ss20_type = { + .name = MACHINE_TYPE_NAME("SS-20"), + .parent = TYPE_MACHINE, + .class_init = ss20_class_init, +}; -static void voyager_machine_init(MachineClass *mc) +static void voyager_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Sun4m platform, SPARCstation Voyager"; mc->init = vger_init; mc->block_default_type = IF_SCSI; mc->default_boot_order = "c"; } -DEFINE_MACHINE("Voyager", voyager_machine_init) +static const TypeInfo voyager_type = { + .name = MACHINE_TYPE_NAME("Voyager"), + .parent = TYPE_MACHINE, + .class_init = voyager_class_init, +}; -static void ss_lx_machine_init(MachineClass *mc) +static void ss_lx_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Sun4m platform, SPARCstation LX"; mc->init = ss_lx_init; mc->block_default_type = IF_SCSI; mc->default_boot_order = "c"; } -DEFINE_MACHINE("LX", ss_lx_machine_init) +static const TypeInfo ss_lx_type = { + .name = MACHINE_TYPE_NAME("LX"), + .parent = TYPE_MACHINE, + .class_init = ss_lx_class_init, +}; -static void ss4_machine_init(MachineClass *mc) +static void ss4_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Sun4m platform, SPARCstation 4"; mc->init = ss4_init; mc->block_default_type = IF_SCSI; mc->default_boot_order = "c"; } -DEFINE_MACHINE("SS-4", ss4_machine_init) +static const TypeInfo ss4_type = { + .name = MACHINE_TYPE_NAME("SS-4"), + .parent = TYPE_MACHINE, + .class_init = ss4_class_init, +}; -static void scls_machine_init(MachineClass *mc) +static void scls_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Sun4m platform, SPARCClassic"; mc->init = scls_init; mc->block_default_type = IF_SCSI; mc->default_boot_order = "c"; } -DEFINE_MACHINE("SPARCClassic", scls_machine_init) +static const TypeInfo scls_type = { + .name = MACHINE_TYPE_NAME("SPARCClassic"), + .parent = TYPE_MACHINE, + .class_init = scls_class_init, +}; -static void sbook_machine_init(MachineClass *mc) +static void sbook_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Sun4m platform, SPARCbook"; mc->init = sbook_init; mc->block_default_type = IF_SCSI; mc->default_boot_order = "c"; } -DEFINE_MACHINE("SPARCbook", sbook_machine_init) +static const TypeInfo sbook_type = { + .name = MACHINE_TYPE_NAME("SPARCbook"), + .parent = TYPE_MACHINE, + .class_init = sbook_class_init, +}; static void sun4m_register_types(void) { @@ -1522,4 +1576,18 @@ static void sun4m_register_types(void) type_register_static(&ram_info); } +static void sun4m_machine_init(void) +{ + type_register_static(&ss5_type); + type_register_static(&ss10_type); + type_register_static(&ss600mp_type); + type_register_static(&ss20_type); + type_register_static(&voyager_type); + type_register_static(&ss_lx_type); + type_register_static(&ss4_type); + type_register_static(&scls_type); + type_register_static(&sbook_type); +} + type_init(sun4m_register_types) +machine_init(sun4m_machine_init) diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c index ab43dc6..a6b5957 100644 --- a/hw/sparc64/sun4u.c +++ b/hw/sparc64/sun4u.c @@ -965,8 +965,10 @@ static void niagara_init(MachineState *machine) sun4uv_init(get_system_memory(), machine, &hwdefs[2]); } -static void sun4u_machine_init(MachineClass *mc) +static void sun4u_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Sun4u platform"; mc->init = sun4u_init; mc->max_cpus = 1; /* XXX for now */ @@ -974,27 +976,43 @@ static void sun4u_machine_init(MachineClass *mc) mc->default_boot_order = "c"; } -DEFINE_MACHINE("sun4u", sun4u_machine_init) +static const TypeInfo sun4u_type = { + .name = MACHINE_TYPE_NAME("sun4u"), + .parent = TYPE_MACHINE, + .class_init = sun4u_class_init, +}; -static void sun4v_machine_init(MachineClass *mc) +static void sun4v_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Sun4v platform"; mc->init = sun4v_init; mc->max_cpus = 1; /* XXX for now */ mc->default_boot_order = "c"; } -DEFINE_MACHINE("sun4v", sun4v_machine_init) +static const TypeInfo sun4v_type = { + .name = MACHINE_TYPE_NAME("sun4v"), + .parent = TYPE_MACHINE, + .class_init = sun4v_class_init, +}; -static void niagara_machine_init(MachineClass *mc) +static void niagara_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Sun4v platform, Niagara"; mc->init = niagara_init; mc->max_cpus = 1; /* XXX for now */ mc->default_boot_order = "c"; } -DEFINE_MACHINE("Niagara", niagara_machine_init) +static const TypeInfo niagara_type = { + .name = MACHINE_TYPE_NAME("Niagara"), + .parent = TYPE_MACHINE, + .class_init = niagara_class_init, +}; static void sun4u_register_types(void) { @@ -1003,4 +1021,12 @@ static void sun4u_register_types(void) type_register_static(&ram_info); } +static void sun4u_machine_init(void) +{ + type_register_static(&sun4u_type); + type_register_static(&sun4v_type); + type_register_static(&niagara_type); +} + type_init(sun4u_register_types) +machine_init(sun4u_machine_init) diff --git a/hw/xtensa/xtfpga.c b/hw/xtensa/xtfpga.c index d6ddfa1..7aca1cf 100644 --- a/hw/xtensa/xtfpga.c +++ b/hw/xtensa/xtfpga.c @@ -428,38 +428,72 @@ static void xtensa_kc705_init(MachineState *machine) lx_init(&kc705_board, machine); } -static void xtensa_lx60_machine_init(MachineClass *mc) +static void xtensa_lx60_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "lx60 EVB (" XTENSA_DEFAULT_CPU_MODEL ")"; mc->init = xtensa_lx60_init; mc->max_cpus = 4; } -DEFINE_MACHINE("lx60", xtensa_lx60_machine_init) +static const TypeInfo xtensa_lx60_type = { + .name = MACHINE_TYPE_NAME("lx60"), + .parent = TYPE_MACHINE, + .class_init = xtensa_lx60_class_init, +}; -static void xtensa_lx200_machine_init(MachineClass *mc) +static void xtensa_lx200_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "lx200 EVB (" XTENSA_DEFAULT_CPU_MODEL ")"; mc->init = xtensa_lx200_init; mc->max_cpus = 4; } -DEFINE_MACHINE("lx200", xtensa_lx200_machine_init) +static const TypeInfo xtensa_lx200_type = { + .name = MACHINE_TYPE_NAME("lx200"), + .parent = TYPE_MACHINE, + .class_init = xtensa_lx200_class_init, +}; -static void xtensa_ml605_machine_init(MachineClass *mc) +static void xtensa_ml605_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "ml605 EVB (" XTENSA_DEFAULT_CPU_MODEL ")"; mc->init = xtensa_ml605_init; mc->max_cpus = 4; } -DEFINE_MACHINE("ml605", xtensa_ml605_machine_init) +static const TypeInfo xtensa_ml605_type = { + .name = MACHINE_TYPE_NAME("ml605"), + .parent = TYPE_MACHINE, + .class_init = xtensa_ml605_class_init, +}; -static void xtensa_kc705_machine_init(MachineClass *mc) +static void xtensa_kc705_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "kc705 EVB (" XTENSA_DEFAULT_CPU_MODEL ")"; mc->init = xtensa_kc705_init; mc->max_cpus = 4; } -DEFINE_MACHINE("kc705", xtensa_kc705_machine_init) +static const TypeInfo xtensa_kc705_type = { + .name = MACHINE_TYPE_NAME("kc705"), + .parent = TYPE_MACHINE, + .class_init = xtensa_kc705_class_init, +}; + +static void xtensa_lx_machines_init(void) +{ + type_register_static(&xtensa_lx60_type); + type_register_static(&xtensa_lx200_type); + type_register_static(&xtensa_ml605_type); + type_register_static(&xtensa_kc705_type); +} + +machine_init(xtensa_lx_machines_init) -- 2.1.4 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Qemu-devel] [PATCH v3 7/7] machine: Eliminate QEMUMachine and qemu_register_machine() 2015-09-04 18:37 [Qemu-devel] [PATCH v3 0/7] machine registration: Use QOM, eliminate QEMUMachine Eduardo Habkost ` (5 preceding siblings ...) 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 6/7] Use DEFINE_MACHINE to register all machines Eduardo Habkost @ 2015-09-04 18:37 ` Eduardo Habkost 2015-09-19 16:21 ` [Qemu-devel] [PATCH v3 0/7] machine registration: Use QOM, eliminate QEMUMachine Andreas Färber 7 siblings, 0 replies; 14+ messages in thread From: Eduardo Habkost @ 2015-09-04 18:37 UTC (permalink / raw) To: qemu-devel; +Cc: Marcel Apfelbaum, Andreas Färber, Michael S. Tsirkin The struct is not used anymore and can be eliminated. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- include/hw/boards.h | 27 --------------------------- include/qemu/typedefs.h | 1 - include/sysemu/blockdev.h | 2 +- include/sysemu/sysemu.h | 2 +- vl.c | 36 ------------------------------------ 5 files changed, 2 insertions(+), 66 deletions(-) diff --git a/include/hw/boards.h b/include/hw/boards.h index befae01..a64e30c 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -9,36 +9,10 @@ #include "hw/qdev.h" #include "qom/object.h" - -typedef void QEMUMachineInitFunc(MachineState *ms); - -typedef void QEMUMachineResetFunc(void); - -typedef void QEMUMachineHotAddCPUFunc(const int64_t id, Error **errp); - -typedef int QEMUMachineGetKvmtypeFunc(const char *arg); - -struct QEMUMachine { - const char *name; - const char *desc; - QEMUMachineInitFunc *init; - QEMUMachineGetKvmtypeFunc *kvm_type; - BlockInterfaceType block_default_type; - int max_cpus; - unsigned int - no_sdcard:1, - has_dynamic_sysbus:1; - int is_default; - const char *default_machine_opts; - const char *default_boot_order; -}; - void memory_region_allocate_system_memory(MemoryRegion *mr, Object *owner, const char *name, uint64_t ram_size); -int qemu_register_machine(QEMUMachine *m); - #define TYPE_MACHINE_SUFFIX "-machine" /* Machine class name that needs to be used for class-name-based machine @@ -69,7 +43,6 @@ bool machine_mem_merge(MachineState *machine); /** * MachineClass: - * @qemu_machine: #QEMUMachine * @get_hotplug_handler: this function is called during bus-less * device hotplug. If defined it returns pointer to an instance * of HotplugHandler object, which handles hotplug operation diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h index f8a9dd6..aea4aa8 100644 --- a/include/qemu/typedefs.h +++ b/include/qemu/typedefs.h @@ -67,7 +67,6 @@ typedef struct Property Property; typedef struct QEMUBH QEMUBH; typedef struct QemuConsole QemuConsole; typedef struct QEMUFile QEMUFile; -typedef struct QEMUMachine QEMUMachine; typedef struct QEMUSGList QEMUSGList; typedef struct QEMUSizedBuffer QEMUSizedBuffer; typedef struct QEMUTimerListGroup QEMUTimerListGroup; diff --git a/include/sysemu/blockdev.h b/include/sysemu/blockdev.h index 3104150..a00be94 100644 --- a/include/sysemu/blockdev.h +++ b/include/sysemu/blockdev.h @@ -20,7 +20,7 @@ void blockdev_auto_del(BlockBackend *blk); typedef enum { IF_DEFAULT = -1, /* for use with drive_add() only */ /* - * IF_IDE must be zero, because we want QEMUMachine member + * IF_IDE must be zero, because we want MachineClass member * block_default_type to default-initialize to IF_IDE */ IF_IDE = 0, diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h index 44570d1..c148283 100644 --- a/include/sysemu/sysemu.h +++ b/include/sysemu/sysemu.h @@ -194,7 +194,7 @@ void device_add_bootindex_property(Object *obj, int32_t *bootindex, void restore_boot_order(void *opaque); void validate_bootdevices(const char *devices, Error **errp); -/* handler to set the boot_device order for a specific type of QEMUMachine */ +/* handler to set the boot_device order for a specific type of MachineClass */ typedef void QEMUBootSetHandler(void *opaque, const char *boot_order, Error **errp); void qemu_register_boot_set(QEMUBootSetHandler *func, void *opaque); diff --git a/vl.c b/vl.c index 870ee48..0d535e1 100644 --- a/vl.c +++ b/vl.c @@ -1424,42 +1424,6 @@ void hmp_usb_del(Monitor *mon, const QDict *qdict) MachineState *current_machine; -/* - * Transitional class registration/init used for converting from - * legacy QEMUMachine to MachineClass. - */ -static void qemu_machine_class_init(ObjectClass *oc, void *data) -{ - MachineClass *mc = MACHINE_CLASS(oc); - QEMUMachine *qm = data; - mc->desc = qm->desc; - mc->init = qm->init; - mc->kvm_type = qm->kvm_type; - mc->block_default_type = qm->block_default_type; - mc->max_cpus = qm->max_cpus; - mc->no_sdcard = qm->no_sdcard; - mc->has_dynamic_sysbus = qm->has_dynamic_sysbus; - mc->is_default = qm->is_default; - mc->default_machine_opts = qm->default_machine_opts; - mc->default_boot_order = qm->default_boot_order; -} - -int qemu_register_machine(QEMUMachine *m) -{ - char *name = g_strdup_printf(MACHINE_TYPE_NAME("%s"), m->name); - TypeInfo ti = { - .name = name, - .parent = TYPE_MACHINE, - .class_init = qemu_machine_class_init, - .class_data = (void *)m, - }; - - type_register(&ti); - g_free(name); - - return 0; -} - static MachineClass *find_machine(const char *name) { GSList *el, *machines = object_class_get_list(TYPE_MACHINE, false); -- 2.1.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Qemu-devel] [PATCH v3 0/7] machine registration: Use QOM, eliminate QEMUMachine 2015-09-04 18:37 [Qemu-devel] [PATCH v3 0/7] machine registration: Use QOM, eliminate QEMUMachine Eduardo Habkost ` (6 preceding siblings ...) 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 7/7] machine: Eliminate QEMUMachine and qemu_register_machine() Eduardo Habkost @ 2015-09-19 16:21 ` Andreas Färber 7 siblings, 0 replies; 14+ messages in thread From: Andreas Färber @ 2015-09-19 16:21 UTC (permalink / raw) To: Eduardo Habkost, qemu-devel; +Cc: Michael S. Tsirkin, Marcel Apfelbaum Am 04.09.2015 um 20:37 schrieb Eduardo Habkost: > Eduardo Habkost (7): > exynos4: Use EXYNOS4210_NCPUS instead of max_cpus on error message > exynos4: Use MachineClass instead of exynos4_machines array > exynos4: Declare each QEMUMachine as a separate variable > machine: DEFINE_MACHINE macro > mac_world: Break long line > Use DEFINE_MACHINE to register all machines > machine: Eliminate QEMUMachine and qemu_register_machine() Thanks, applied to qom-next (with changes): https://github.com/afaerber/qemu-cpu/commits/qom-next Follow-up series "[PATCH 0/6] machine: Deprecate machine_init()" sent. Regards, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton; HRB 21284 (AG Nürnberg) ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2015-09-21 15:11 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-09-04 18:37 [Qemu-devel] [PATCH v3 0/7] machine registration: Use QOM, eliminate QEMUMachine Eduardo Habkost 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 1/7] exynos4: Use EXYNOS4210_NCPUS instead of max_cpus on error message Eduardo Habkost 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 2/7] exynos4: Use MachineClass instead of exynos4_machines array Eduardo Habkost 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 3/7] exynos4: Declare each QEMUMachine as a separate variable Eduardo Habkost 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 4/7] machine: DEFINE_MACHINE macro Eduardo Habkost 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 5/7] mac_world: Break long line Eduardo Habkost 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 6/7] Use DEFINE_MACHINE to register all machines Eduardo Habkost 2015-09-19 8:13 ` Andreas Färber 2015-09-19 8:27 ` Andreas Färber 2015-09-19 8:28 ` Andreas Färber 2015-09-21 15:10 ` Eduardo Habkost 2015-09-19 12:19 ` [Qemu-devel] [PATCH 6a/7] Revert use of DEFINE_MACHINE() for registrations of multiple machines Andreas Färber 2015-09-04 18:37 ` [Qemu-devel] [PATCH v3 7/7] machine: Eliminate QEMUMachine and qemu_register_machine() Eduardo Habkost 2015-09-19 16:21 ` [Qemu-devel] [PATCH v3 0/7] machine registration: Use QOM, eliminate QEMUMachine Andreas Färber
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).