On Wed, 2014-05-07 at 17:42 +0300, Marcel Apfelbaum wrote: > This series continues 'machine as QOM' targeting two related issues: > - Patch 1/4 completly removes QEMUMachineInitArgs from the code > with a big mechanical patch. It removes QEMUMachineInitArgs > from MachineState and gets rid of duplicated fields. > - I am perfectly aware that patches touching a lot of files > are not desirable, but this one is a very simple replacement > patch: > QEMUMachineInitArgs -> MachineState > args -> ms > - This is the simplest way to get rid of QEMUMachineInitArgs fast. > - Patch 4/4 aims to enable QemuOpts per machine by automatically > filling in the machine opts into the current machine. Subclassing > MachineClass and adding options mapped into properties is a > better way than using global options. > > Patches 2/4 and 3/4 fix little bugs needed by 4/4. Ping :)
Any comments would be appreciated. I know the first patch is big, but it is only a simple re-factoring with no easy way to split. Thanks, Marcel > > Marcel Apfelbaum (4): > machine: conversion of QEMUMachineInitArgs to MachineState > qapi: output visitor crashes qemu if it encounters a NULL value > vl.c: do not set 'type' property in obj_set_property > hw/machine: qemu machine opts as properties to QemuMachineState > > hw/alpha/dp264.c | 12 +- > hw/arm/collie.c | 10 +- > hw/arm/cubieboard.c | 10 +- > hw/arm/digic_boards.c | 2 +- > hw/arm/exynos4_boards.c | 16 +- > hw/arm/gumstix.c | 6 +- > hw/arm/highbank.c | 20 +-- > hw/arm/integratorcp.c | 12 +- > hw/arm/kzm.c | 12 +- > hw/arm/mainstone.c | 14 +- > hw/arm/musicpal.c | 10 +- > hw/arm/nseries.c | 22 +-- > hw/arm/omap_sx1.c | 20 +-- > hw/arm/palm.c | 10 +- > hw/arm/realview.c | 44 +++--- > hw/arm/spitz.c | 26 ++-- > hw/arm/stellaris.c | 12 +- > hw/arm/tosa.c | 10 +- > hw/arm/versatilepb.c | 26 ++-- > hw/arm/vexpress.c | 20 +-- > hw/arm/virt.c | 16 +- > hw/arm/xilinx_zynq.c | 12 +- > hw/arm/z2.c | 10 +- > hw/core/machine.c | 256 > +++++++++++++++++++++++++++++++ > hw/core/null-machine.c | 2 +- > hw/cris/axis_dev88.c | 10 +- > hw/i386/pc_piix.c | 108 ++++++------- > hw/i386/pc_q35.c | 66 ++++---- > hw/i386/xen_machine_pv.c | 8 +- > hw/lm32/lm32_boards.c | 16 +- > hw/lm32/milkymist.c | 10 +- > hw/m68k/an5206.c | 8 +- > hw/m68k/dummy_m68k.c | 8 +- > hw/m68k/mcf5208.c | 8 +- > hw/microblaze/petalogix_ml605_mmu.c | 6 +- > hw/microblaze/petalogix_s3adsp1800_mmu.c | 8 +- > hw/mips/mips_fulong2e.c | 12 +- > hw/mips/mips_jazz.c | 12 +- > hw/mips/mips_malta.c | 12 +- > hw/mips/mips_mipssim.c | 12 +- > hw/mips/mips_r4k.c | 12 +- > hw/moxie/moxiesim.c | 12 +- > hw/openrisc/openrisc_sim.c | 8 +- > hw/ppc/e500.c | 44 +++--- > hw/ppc/e500.h | 2 +- > hw/ppc/e500plat.c | 4 +- > hw/ppc/mac_newworld.c | 14 +- > hw/ppc/mac_oldworld.c | 14 +- > hw/ppc/mpc8544ds.c | 4 +- > hw/ppc/ppc405_boards.c | 18 +-- > hw/ppc/ppc440_bamboo.c | 12 +- > hw/ppc/prep.c | 14 +- > hw/ppc/spapr.c | 14 +- > hw/ppc/virtex_ml507.c | 16 +- > hw/s390x/s390-virtio-ccw.c | 10 +- > hw/s390x/s390-virtio.c | 10 +- > hw/sh4/r2d.c | 10 +- > hw/sh4/shix.c | 4 +- > hw/sparc/leon3.c | 8 +- > hw/sparc/sun4m.c | 64 ++++---- > hw/sparc64/sun4u.c | 36 ++--- > hw/unicore32/puv3.c | 10 +- > hw/xtensa/xtensa_lx60.c | 26 ++-- > hw/xtensa/xtensa_sim.c | 8 +- > include/hw/boards.h | 28 ++-- > qapi/qmp-output-visitor.c | 5 + > vl.c | 23 +-- > 67 files changed, 801 insertions(+), 543 deletions(-) >