[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [QEMU PATCH] create struct for machine initialization arguments (v3)
On Fri, Oct 5, 2012 at 8:44 PM, Eduardo Habkost <ehabkost@xxxxxxxxxx> wrote: > This should help us to: > - More easily add or remove machine initialization arguments without > having to change every single machine init function; > - More easily make mechanical changes involving the machine init > functions in the future; > - Let machine initialization forward the init arguments to other > functions more easily. > > This change was half-mechanical process: first the struct was added with > the local ram_size, boot_device, kernel_*, initrd_*, and cpu_model local > variable initialization to all functions. Then the compiler helped me > locate the local variables that are unused, so they could be removed. > > Changes v2 -> v3: > - Fix typo (missing dot) on main() > - Fix another mistake on xen_init_pv() (I had forgotten to add local > variables > to replace the old function arguments) > > Changes v1 -> v2: > - Fix mistake on the conversion of pc_xen_hvm_init() and xen_init_pv() Changelog should be below --- line so that it will be clipped by git am. The patch does not apply (hw/xilinx_zynq.c), please rebase. > > Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> > --- > hw/alpha_dp264.c | 12 ++-- > hw/an5206.c | 8 +-- > hw/axis_dev88.c | 9 +-- > hw/boards.h | 16 +++-- > hw/collie.c | 9 +-- > hw/dummy_m68k.c | 8 +-- > hw/exynos4_boards.c | 16 ++--- > hw/gumstix.c | 11 +--- > hw/highbank.c | 10 ++-- > hw/integratorcp.c | 10 ++-- > hw/kzm.c | 10 ++-- > hw/leon3.c | 10 ++-- > hw/lm32_boards.c | 18 +++--- > hw/mainstone.c | 10 ++-- > hw/mcf5208.c | 8 +-- > hw/milkymist.c | 10 ++-- > hw/mips_fulong2e.c | 9 ++- > hw/mips_jazz.c | 14 ++--- > hw/mips_malta.c | 10 ++-- > hw/mips_mipssim.c | 10 ++-- > hw/mips_r4k.c | 10 ++-- > hw/musicpal.c | 9 +-- > hw/nseries.c | 22 ++++--- > hw/null-machine.c | 7 +-- > hw/omap_sx1.c | 22 ++++--- > hw/openrisc_sim.c | 10 ++-- > hw/palm.c | 9 +-- > hw/pc_piix.c | 50 ++++++++-------- > hw/petalogix_ml605_mmu.c | 8 +-- > hw/petalogix_s3adsp1800_mmu.c | 8 +-- > hw/ppc/e500plat.c | 13 +++-- > hw/ppc/mpc8544ds.c | 13 +++-- > hw/ppc405_boards.c | 25 ++++---- > hw/ppc440_bamboo.c | 12 ++-- > hw/ppc_newworld.c | 13 +++-- > hw/ppc_oldworld.c | 13 +++-- > hw/ppc_prep.c | 13 +++-- > hw/puv3.c | 8 ++- > hw/r2d.c | 9 +-- > hw/realview.c | 44 +++++++++----- > hw/s390-virtio.c | 13 +++-- > hw/shix.c | 6 +- > hw/spapr.c | 13 +++-- > hw/spitz.c | 40 ++++++++----- > hw/stellaris.c | 14 ++--- > hw/sun4m.c | 133 > ++++++++++++++++++++++++++---------------- > hw/sun4u.c | 39 ++++++++----- > hw/tosa.c | 9 +-- > hw/versatilepb.c | 22 ++++--- > hw/vexpress.c | 26 +++++---- > hw/virtex_ml507.c | 10 ++-- > hw/xen_machine_pv.c | 11 ++-- > hw/xilinx_zynq.c | 9 ++- > hw/xtensa_lx60.c | 22 ++++--- > hw/xtensa_sim.c | 11 ++-- > hw/z2.c | 9 +-- > vl.c | 9 ++- > 57 files changed, 518 insertions(+), 414 deletions(-) > > diff --git a/hw/alpha_dp264.c b/hw/alpha_dp264.c > index 9eb939f..2c2e237 100644 > --- a/hw/alpha_dp264.c > +++ b/hw/alpha_dp264.c > @@ -42,13 +42,13 @@ static int clipper_pci_map_irq(PCIDevice *d, int irq_num) > return (slot + 1) * 4 + irq_num; > } > > -static void clipper_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void clipper_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > CPUAlphaState *cpus[4]; > PCIBus *pci_bus; > ISABus *isa_bus; > diff --git a/hw/an5206.c b/hw/an5206.c > index 25407c0..042c5fc 100644 > --- a/hw/an5206.c > +++ b/hw/an5206.c > @@ -19,11 +19,11 @@ > > /* Board init. */ > > -static void an5206_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void an5206_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > CPUM68KState *env; > int kernel_size; > uint64_t elf_entry; > diff --git a/hw/axis_dev88.c b/hw/axis_dev88.c > index eab6327..2fd7356 100644 > --- a/hw/axis_dev88.c > +++ b/hw/axis_dev88.c > @@ -242,11 +242,12 @@ static const MemoryRegionOps gpio_ops = { > static struct cris_load_info li; > > static > -void axisdev88_init (ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +void axisdev88_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > CRISCPU *cpu; > CPUCRISState *env; > DeviceState *dev; > diff --git a/hw/boards.h b/hw/boards.h > index a2e0a54..813d0e5 100644 > --- a/hw/boards.h > +++ b/hw/boards.h > @@ -5,12 +5,16 @@ > > #include "qdev.h" > > -typedef void QEMUMachineInitFunc(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model); > +typedef struct QEMUMachineInitArgs { > + ram_addr_t ram_size; > + const char *boot_device; > + const char *kernel_filename; > + const char *kernel_cmdline; > + const char *initrd_filename; > + const char *cpu_model; > +} QEMUMachineInitArgs; > + > +typedef void QEMUMachineInitFunc(QEMUMachineInitArgs *args); > > typedef void QEMUMachineResetFunc(void); > > diff --git a/hw/collie.c b/hw/collie.c > index 56f89a9..695982a 100644 > --- a/hw/collie.c > +++ b/hw/collie.c > @@ -23,11 +23,12 @@ static struct arm_boot_info collie_binfo = { > .ram_size = 0x20000000, > }; > > -static void collie_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void collie_init(QEMUMachineInitArgs *args) > { > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > StrongARMState *s; > DriveInfo *dinfo; > MemoryRegion *sysmem = get_system_memory(); > diff --git a/hw/dummy_m68k.c b/hw/dummy_m68k.c > index 7cc7a99..f436a0c 100644 > --- a/hw/dummy_m68k.c > +++ b/hw/dummy_m68k.c > @@ -16,11 +16,11 @@ > > /* Board init. */ > > -static void dummy_m68k_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void dummy_m68k_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > CPUM68KState *env; > MemoryRegion *address_space_mem = get_system_memory(); > MemoryRegion *ram = g_new(MemoryRegion, 1); > diff --git a/hw/exynos4_boards.c b/hw/exynos4_boards.c > index 4bb0a60..4951064 100644 > --- a/hw/exynos4_boards.c > +++ b/hw/exynos4_boards.c > @@ -130,22 +130,22 @@ static Exynos4210State *exynos4_boards_init_common( > exynos4_board_ram_size[board_type]); > } > > -static void nuri_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void nuri_init(QEMUMachineInitArgs *args) > { > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > exynos4_boards_init_common(kernel_filename, kernel_cmdline, > initrd_filename, EXYNOS4_BOARD_NURI); > > arm_load_kernel(arm_env_get_cpu(first_cpu), &exynos4_board_binfo); > } > > -static void smdkc210_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void smdkc210_init(QEMUMachineInitArgs *args) > { > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > Exynos4210State *s = exynos4_boards_init_common(kernel_filename, > kernel_cmdline, initrd_filename, EXYNOS4_BOARD_SMDKC210); > > diff --git a/hw/gumstix.c b/hw/gumstix.c > index 13a36ea..4103a88 100644 > --- a/hw/gumstix.c > +++ b/hw/gumstix.c > @@ -45,10 +45,7 @@ > > static const int sector_len = 128 * 1024; > > -static void connex_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void connex_init(QEMUMachineInitArgs *args) > { > PXA2xxState *cpu; > DriveInfo *dinfo; > @@ -84,11 +81,9 @@ static void connex_init(ram_addr_t ram_size, > qdev_get_gpio_in(cpu->gpio, 36)); > } > > -static void verdex_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void verdex_init(QEMUMachineInitArgs *args) > { > + const char *cpu_model = args->cpu_model; > PXA2xxState *cpu; > DriveInfo *dinfo; > int be; > diff --git a/hw/highbank.c b/hw/highbank.c > index 11aa131..15036b6 100644 > --- a/hw/highbank.c > +++ b/hw/highbank.c > @@ -187,11 +187,13 @@ static struct arm_boot_info highbank_binfo; > * 32-bit host, set the reg value of memory to 0xf7ff00000 in the > * device tree and pass -m 2047 to QEMU. > */ > -static void highbank_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void highbank_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > DeviceState *dev; > SysBusDevice *busdev; > qemu_irq *irqp; > diff --git a/hw/integratorcp.c b/hw/integratorcp.c > index d0e2e90..ac0ea83 100644 > --- a/hw/integratorcp.c > +++ b/hw/integratorcp.c > @@ -438,11 +438,13 @@ static struct arm_boot_info integrator_binfo = { > .board_id = 0x113, > }; > > -static void integratorcp_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void integratorcp_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > ARMCPU *cpu; > MemoryRegion *address_space_mem = get_system_memory(); > MemoryRegion *ram = g_new(MemoryRegion, 1); > diff --git a/hw/kzm.c b/hw/kzm.c > index 68cd1b4..d1266d9 100644 > --- a/hw/kzm.c > +++ b/hw/kzm.c > @@ -70,11 +70,13 @@ static struct arm_boot_info kzm_binfo = { > .board_id = 1722, > }; > > -static void kzm_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void kzm_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > ARMCPU *cpu; > MemoryRegion *address_space_mem = get_system_memory(); > MemoryRegion *ram = g_new(MemoryRegion, 1); > diff --git a/hw/leon3.c b/hw/leon3.c > index 878d3aa..6486b7b 100644 > --- a/hw/leon3.c > +++ b/hw/leon3.c > @@ -94,13 +94,11 @@ static void leon3_set_pil_in(void *opaque, uint32_t > pil_in) > } > } > > -static void leon3_generic_hw_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void leon3_generic_hw_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > SPARCCPU *cpu; > CPUSPARCState *env; > MemoryRegion *address_space_mem = get_system_memory(); > diff --git a/hw/lm32_boards.c b/hw/lm32_boards.c > index b76d800..c5a62c8 100644 > --- a/hw/lm32_boards.c > +++ b/hw/lm32_boards.c > @@ -69,12 +69,10 @@ static void main_cpu_reset(void *opaque) > env->deba = reset_info->flash_base; > } > > -static void lm32_evr_init(ram_addr_t ram_size_not_used, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void lm32_evr_init(QEMUMachineInitArgs *args) > { > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > LM32CPU *cpu; > CPULM32State *env; > DriveInfo *dinfo; > @@ -159,12 +157,12 @@ static void lm32_evr_init(ram_addr_t ram_size_not_used, > qemu_register_reset(main_cpu_reset, reset_info); > } > > -static void lm32_uclinux_init(ram_addr_t ram_size_not_used, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void lm32_uclinux_init(QEMUMachineInitArgs *args) > { > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > LM32CPU *cpu; > CPULM32State *env; > DriveInfo *dinfo; > diff --git a/hw/mainstone.c b/hw/mainstone.c > index 97687b6..c0d6034 100644 > --- a/hw/mainstone.c > +++ b/hw/mainstone.c > @@ -171,11 +171,13 @@ static void mainstone_common_init(MemoryRegion > *address_space_mem, > arm_load_kernel(mpu->cpu, &mainstone_binfo); > } > > -static void mainstone_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void mainstone_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > mainstone_common_init(get_system_memory(), ram_size, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model, mainstone, > 0x196); > } > diff --git a/hw/mcf5208.c b/hw/mcf5208.c > index ee25b1b..688bc3c 100644 > --- a/hw/mcf5208.c > +++ b/hw/mcf5208.c > @@ -187,11 +187,11 @@ static void mcf5208_sys_init(MemoryRegion > *address_space, qemu_irq *pic) > } > } > > -static void mcf5208evb_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void mcf5208evb_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > CPUM68KState *env; > int kernel_size; > uint64_t elf_entry; > diff --git a/hw/milkymist.c b/hw/milkymist.c > index 2e7235b..ca9ed43 100644 > --- a/hw/milkymist.c > +++ b/hw/milkymist.c > @@ -73,12 +73,12 @@ static void main_cpu_reset(void *opaque) > } > > static void > -milkymist_init(ram_addr_t ram_size_not_used, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +milkymist_init(QEMUMachineInitArgs *args) > { > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > LM32CPU *cpu; > CPULM32State *env; > int kernel_size; > diff --git a/hw/mips_fulong2e.c b/hw/mips_fulong2e.c > index 38e4b86..af7bb50 100644 > --- a/hw/mips_fulong2e.c > +++ b/hw/mips_fulong2e.c > @@ -256,10 +256,13 @@ static void cpu_request_exit(void *opaque, int irq, int > level) > } > } > > -static void mips_fulong2e_init(ram_addr_t ram_size, const char *boot_device, > - const char *kernel_filename, const char > *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void mips_fulong2e_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > char *filename; > MemoryRegion *address_space_mem = get_system_memory(); > MemoryRegion *ram = g_new(MemoryRegion, 1); > diff --git a/hw/mips_jazz.c b/hw/mips_jazz.c > index db927f1..14df4d7 100644 > --- a/hw/mips_jazz.c > +++ b/hw/mips_jazz.c > @@ -302,21 +302,19 @@ static void mips_jazz_init(MemoryRegion *address_space, > } > > static > -void mips_magnum_init (ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char > *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +void mips_magnum_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > mips_jazz_init(get_system_memory(), get_system_io(), > ram_size, cpu_model, JAZZ_MAGNUM); > } > > static > -void mips_pica61_init (ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char > *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +void mips_pica61_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > mips_jazz_init(get_system_memory(), get_system_io(), > ram_size, cpu_model, JAZZ_PICA61); > } > diff --git a/hw/mips_malta.c b/hw/mips_malta.c > index ad23f26..14151f9 100644 > --- a/hw/mips_malta.c > +++ b/hw/mips_malta.c > @@ -777,11 +777,13 @@ static void cpu_request_exit(void *opaque, int irq, int > level) > } > > static > -void mips_malta_init (ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char > *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +void mips_malta_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > char *filename; > pflash_t *fl; > MemoryRegion *system_memory = get_system_memory(); > diff --git a/hw/mips_mipssim.c b/hw/mips_mipssim.c > index 830f635..a1d3945 100644 > --- a/hw/mips_mipssim.c > +++ b/hw/mips_mipssim.c > @@ -131,11 +131,13 @@ static void mipsnet_init(int base, qemu_irq irq, > NICInfo *nd) > } > > static void > -mips_mipssim_init (ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +mips_mipssim_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > char *filename; > MemoryRegion *address_space_mem = get_system_memory(); > MemoryRegion *ram = g_new(MemoryRegion, 1); > diff --git a/hw/mips_r4k.c b/hw/mips_r4k.c > index 967a76e..b73cdc3 100644 > --- a/hw/mips_r4k.c > +++ b/hw/mips_r4k.c > @@ -151,11 +151,13 @@ static void main_cpu_reset(void *opaque) > > static const int sector_len = 32 * 1024; > static > -void mips_r4k_init (ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +void mips_r4k_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > char *filename; > MemoryRegion *address_space_mem = get_system_memory(); > MemoryRegion *ram = g_new(MemoryRegion, 1); > diff --git a/hw/musicpal.c b/hw/musicpal.c > index f305e21..f06814c 100644 > --- a/hw/musicpal.c > +++ b/hw/musicpal.c > @@ -1508,11 +1508,12 @@ static struct arm_boot_info musicpal_binfo = { > .board_id = 0x20e, > }; > > -static void musicpal_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void musicpal_init(QEMUMachineInitArgs *args) > { > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > ARMCPU *cpu; > qemu_irq *cpu_pic; > qemu_irq pic[32]; > diff --git a/hw/nseries.c b/hw/nseries.c > index 6df71eb..7ada90d 100644 > --- a/hw/nseries.c > +++ b/hw/nseries.c > @@ -1397,21 +1397,27 @@ static struct arm_boot_info n810_binfo = { > .atag_board = n810_atag_setup, > }; > > -static void n800_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void n800_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > return n8x0_init(ram_size, boot_device, > kernel_filename, kernel_cmdline, initrd_filename, > cpu_model, &n800_binfo, 800); > } > > -static void n810_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void n810_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > return n8x0_init(ram_size, boot_device, > kernel_filename, kernel_cmdline, initrd_filename, > cpu_model, &n810_binfo, 810); > diff --git a/hw/null-machine.c b/hw/null-machine.c > index 69910d3..d813c08 100644 > --- a/hw/null-machine.c > +++ b/hw/null-machine.c > @@ -15,12 +15,7 @@ > #include "hw/hw.h" > #include "hw/boards.h" > > -static void machine_none_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void machine_none_init(QEMUMachineInitArgs *args) > { > } > > diff --git a/hw/omap_sx1.c b/hw/omap_sx1.c > index abca341..ad17487 100644 > --- a/hw/omap_sx1.c > +++ b/hw/omap_sx1.c > @@ -209,20 +209,26 @@ static void sx1_init(ram_addr_t ram_size, > //~ qemu_console_resize(ds, 640, 480); > } > > -static void sx1_init_v1(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void sx1_init_v1(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > sx1_init(ram_size, boot_device, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model, 1); > } > > -static void sx1_init_v2(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void sx1_init_v2(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > sx1_init(ram_size, boot_device, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model, 2); > } > diff --git a/hw/openrisc_sim.c b/hw/openrisc_sim.c > index 55e97f0..e96a944 100644 > --- a/hw/openrisc_sim.c > +++ b/hw/openrisc_sim.c > @@ -90,13 +90,11 @@ static void cpu_openrisc_load_kernel(ram_addr_t ram_size, > cpu->env.pc = entry; > } > > -static void openrisc_sim_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void openrisc_sim_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > OpenRISCCPU *cpu = NULL; > MemoryRegion *ram; > int n; > diff --git a/hw/palm.c b/hw/palm.c > index bacdc90..032b8d6 100644 > --- a/hw/palm.c > +++ b/hw/palm.c > @@ -190,11 +190,12 @@ static struct arm_boot_info palmte_binfo = { > .board_id = 0x331, > }; > > -static void palmte_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void palmte_init(QEMUMachineInitArgs *args) > { > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > MemoryRegion *address_space_mem = get_system_memory(); > struct omap_mpu_state_s *mpu; > int flash_size = 0x00800000; > diff --git a/hw/pc_piix.c b/hw/pc_piix.c > index fd5898f..c9fca05 100644 > --- a/hw/pc_piix.c > +++ b/hw/pc_piix.c > @@ -287,13 +287,14 @@ static void pc_init1(MemoryRegion *system_memory, > } > } > > -static void pc_init_pci(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void pc_init_pci(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > pc_init1(get_system_memory(), > get_system_io(), > ram_size, boot_device, > @@ -301,13 +302,14 @@ static void pc_init_pci(ram_addr_t ram_size, > initrd_filename, cpu_model, 1, 1); > } > > -static void pc_init_pci_no_kvmclock(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void pc_init_pci_no_kvmclock(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > pc_init1(get_system_memory(), > get_system_io(), > ram_size, boot_device, > @@ -315,13 +317,14 @@ static void pc_init_pci_no_kvmclock(ram_addr_t ram_size, > initrd_filename, cpu_model, 1, 0); > } > > -static void pc_init_isa(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void pc_init_isa(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > if (cpu_model == NULL) > cpu_model = "486"; > pc_init1(get_system_memory(), > @@ -332,19 +335,12 @@ static void pc_init_isa(ram_addr_t ram_size, > } > > #ifdef CONFIG_XEN > -static void pc_xen_hvm_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void pc_xen_hvm_init(QEMUMachineInitArgs *args) > { > if (xen_hvm_init() != 0) { > hw_error("xen hardware virtual machine initialisation failed"); > } > - pc_init_pci_no_kvmclock(ram_size, boot_device, > - kernel_filename, kernel_cmdline, > - initrd_filename, cpu_model); > + pc_init_pci_no_kvmclock(args); > xen_vcpu_init(); > } > #endif > diff --git a/hw/petalogix_ml605_mmu.c b/hw/petalogix_ml605_mmu.c > index dced648..ace0187 100644 > --- a/hw/petalogix_ml605_mmu.c > +++ b/hw/petalogix_ml605_mmu.c > @@ -70,12 +70,10 @@ static void machine_cpu_reset(MicroBlazeCPU *cpu) > } > > static void > -petalogix_ml605_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +petalogix_ml605_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > MemoryRegion *address_space_mem = get_system_memory(); > DeviceState *dev, *dma, *eth0; > MicroBlazeCPU *cpu; > diff --git a/hw/petalogix_s3adsp1800_mmu.c b/hw/petalogix_s3adsp1800_mmu.c > index 2cf6882..71c32ce 100644 > --- a/hw/petalogix_s3adsp1800_mmu.c > +++ b/hw/petalogix_s3adsp1800_mmu.c > @@ -57,12 +57,10 @@ static void machine_cpu_reset(MicroBlazeCPU *cpu) > } > > static void > -petalogix_s3adsp1800_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +petalogix_s3adsp1800_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > DeviceState *dev; > MicroBlazeCPU *cpu; > CPUMBState *env; > diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c > index 60a5cb3..4cfb940 100644 > --- a/hw/ppc/e500plat.c > +++ b/hw/ppc/e500plat.c > @@ -25,13 +25,14 @@ static void e500plat_fixup_devtree(PPCE500Params *params, > void *fdt) > sizeof(compatible)); > } > > -static void e500plat_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void e500plat_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *boot_device = args->boot_device; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > PPCE500Params params = { > .ram_size = ram_size, > .boot_device = boot_device, > diff --git a/hw/ppc/mpc8544ds.c b/hw/ppc/mpc8544ds.c > index 984d21c..e651661 100644 > --- a/hw/ppc/mpc8544ds.c > +++ b/hw/ppc/mpc8544ds.c > @@ -25,13 +25,14 @@ static void mpc8544ds_fixup_devtree(PPCE500Params > *params, void *fdt) > sizeof(compatible)); > } > > -static void mpc8544ds_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void mpc8544ds_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *boot_device = args->boot_device; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > PPCE500Params params = { > .ram_size = ram_size, > .boot_device = boot_device, > diff --git a/hw/ppc405_boards.c b/hw/ppc405_boards.c > index 476775d..e848cb0 100644 > --- a/hw/ppc405_boards.c > +++ b/hw/ppc405_boards.c > @@ -158,7 +158,7 @@ static void ref405ep_fpga_reset (void *opaque) > fpga->reg1 = 0x0F; > } > > -static void ref405ep_fpga_init (MemoryRegion *sysmem, uint32_t base) > +static void ref405ep_fpga_init(MemoryRegion *sysmem, uint32_t base) > { > ref405ep_fpga_t *fpga; > MemoryRegion *fpga_memory = g_new(MemoryRegion, 1); > @@ -170,13 +170,12 @@ static void ref405ep_fpga_init (MemoryRegion *sysmem, > uint32_t base) > qemu_register_reset(&ref405ep_fpga_reset, fpga); > } > > -static void ref405ep_init (ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void ref405ep_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > char *filename; > ppc4xx_bd_info_t bd; > CPUPPCState *env; > @@ -484,7 +483,7 @@ static void taihu_cpld_reset (void *opaque) > cpld->reg1 = 0x80; > } > > -static void taihu_cpld_init (MemoryRegion *sysmem, uint32_t base) > +static void taihu_cpld_init(MemoryRegion *sysmem, uint32_t base) > { > taihu_cpld_t *cpld; > MemoryRegion *cpld_memory = g_new(MemoryRegion, 1); > @@ -495,13 +494,11 @@ static void taihu_cpld_init (MemoryRegion *sysmem, > uint32_t base) > qemu_register_reset(&taihu_cpld_reset, cpld); > } > > -static void taihu_405ep_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void taihu_405ep_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *kernel_filename = args->kernel_filename; > + const char *initrd_filename = args->initrd_filename; > char *filename; > qemu_irq *pic; > MemoryRegion *sysmem = get_system_memory(); > diff --git a/hw/ppc440_bamboo.c b/hw/ppc440_bamboo.c > index c198071..78e7985 100644 > --- a/hw/ppc440_bamboo.c > +++ b/hw/ppc440_bamboo.c > @@ -157,13 +157,13 @@ static void main_cpu_reset(void *opaque) > mmubooke_create_initial_mapping(env, 0, 0); > } > > -static void bamboo_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void bamboo_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > unsigned int pci_irq_nrs[4] = { 28, 27, 26, 25 }; > MemoryRegion *address_space_mem = get_system_memory(); > MemoryRegion *ram_memories > diff --git a/hw/ppc_newworld.c b/hw/ppc_newworld.c > index e95cfe8..e7c0747 100644 > --- a/hw/ppc_newworld.c > +++ b/hw/ppc_newworld.c > @@ -129,13 +129,14 @@ static void ppc_core99_reset(void *opaque) > } > > /* PowerPC Mac99 hardware initialisation */ > -static void ppc_core99_init (ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void ppc_core99_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > PowerPCCPU *cpu = NULL; > CPUPPCState *env = NULL; > char *filename; > diff --git a/hw/ppc_oldworld.c b/hw/ppc_oldworld.c > index 1dcd8a6..d9f76a8 100644 > --- a/hw/ppc_oldworld.c > +++ b/hw/ppc_oldworld.c > @@ -72,13 +72,14 @@ static void ppc_heathrow_reset(void *opaque) > cpu_reset(CPU(cpu)); > } > > -static void ppc_heathrow_init (ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void ppc_heathrow_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > MemoryRegion *sysmem = get_system_memory(); > PowerPCCPU *cpu = NULL; > CPUPPCState *env = NULL; > diff --git a/hw/ppc_prep.c b/hw/ppc_prep.c > index 592b7b2..f51f78a 100644 > --- a/hw/ppc_prep.c > +++ b/hw/ppc_prep.c > @@ -448,13 +448,14 @@ static void ppc_prep_reset(void *opaque) > } > > /* PowerPC PREP hardware initialisation */ > -static void ppc_prep_init (ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void ppc_prep_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > MemoryRegion *sysmem = get_system_memory(); > PowerPCCPU *cpu = NULL; > CPUPPCState *env = NULL; > diff --git a/hw/puv3.c b/hw/puv3.c > index 43f7216..764799c 100644 > --- a/hw/puv3.c > +++ b/hw/puv3.c > @@ -91,10 +91,12 @@ static void puv3_load_kernel(const char *kernel_filename) > graphic_console_init(NULL, NULL, NULL, NULL, NULL); > } > > -static void puv3_init(ram_addr_t ram_size, const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void puv3_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *initrd_filename = args->initrd_filename; > CPUUniCore32State *env; > > if (initrd_filename) { > diff --git a/hw/r2d.c b/hw/r2d.c > index 0f16e81..5daa42f 100644 > --- a/hw/r2d.c > +++ b/hw/r2d.c > @@ -219,11 +219,12 @@ static struct QEMU_PACKED > char kernel_cmdline[256]; > } boot_params; > > -static void r2d_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void r2d_init(QEMUMachineInitArgs *args) > { > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > SuperHCPU *cpu; > CPUSH4State *env; > ResetData *reset_info; > diff --git a/hw/realview.c b/hw/realview.c > index 19db4d0..8dc4be6 100644 > --- a/hw/realview.c > +++ b/hw/realview.c > @@ -330,11 +330,14 @@ static void realview_init(ram_addr_t ram_size, > arm_load_kernel(arm_env_get_cpu(first_cpu), &realview_binfo); > } > > -static void realview_eb_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void realview_eb_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > if (!cpu_model) { > cpu_model = "arm926"; > } > @@ -342,11 +345,14 @@ static void realview_eb_init(ram_addr_t ram_size, > initrd_filename, cpu_model, BOARD_EB); > } > > -static void realview_eb_mpcore_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void realview_eb_mpcore_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > if (!cpu_model) { > cpu_model = "arm11mpcore"; > } > @@ -354,11 +360,14 @@ static void realview_eb_mpcore_init(ram_addr_t ram_size, > initrd_filename, cpu_model, BOARD_EB_MPCORE); > } > > -static void realview_pb_a8_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void realview_pb_a8_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > if (!cpu_model) { > cpu_model = "cortex-a8"; > } > @@ -366,11 +375,14 @@ static void realview_pb_a8_init(ram_addr_t ram_size, > initrd_filename, cpu_model, BOARD_PB_A8); > } > > -static void realview_pbx_a9_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void realview_pbx_a9_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > if (!cpu_model) { > cpu_model = "cortex-a9"; > } > diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c > index 47eed35..39ff178 100644 > --- a/hw/s390-virtio.c > +++ b/hw/s390-virtio.c > @@ -151,13 +151,14 @@ unsigned s390_del_running_cpu(CPUS390XState *env) > } > > /* PC hardware initialisation */ > -static void s390_init(ram_addr_t my_ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void s390_init(QEMUMachineInitArgs *args) > { > + ram_addr_t my_ram_size = args->ram_size; > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > CPUS390XState *env = NULL; > MemoryRegion *sysmem = get_system_memory(); > MemoryRegion *ram = g_new(MemoryRegion, 1); > diff --git a/hw/shix.c b/hw/shix.c > index dd9ce17..b56dd54 100644 > --- a/hw/shix.c > +++ b/hw/shix.c > @@ -37,11 +37,9 @@ > #define BIOS_FILENAME "shix_bios.bin" > #define BIOS_ADDRESS 0xA0000000 > > -static void shix_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void shix_init(QEMUMachineInitArgs *args) > { > + const char *cpu_model = args->cpu_model; > int ret; > CPUSH4State *env; > struct SH7750State *s; > diff --git a/hw/spapr.c b/hw/spapr.c > index c34b767..8921c4d 100644 > --- a/hw/spapr.c > +++ b/hw/spapr.c > @@ -603,13 +603,14 @@ static int spapr_vga_init(PCIBus *pci_bus) > } > > /* pSeries LPAR / sPAPR hardware init */ > -static void ppc_spapr_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void ppc_spapr_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > PowerPCCPU *cpu; > CPUPPCState *env; > PCIHostState *phb; > diff --git a/hw/spitz.c b/hw/spitz.c > index 20e7835..df829b3 100644 > --- a/hw/spitz.c > +++ b/hw/spitz.c > @@ -936,38 +936,46 @@ static void spitz_common_init(ram_addr_t ram_size, > sl_bootparam_write(SL_PXA_PARAM_BASE); > } > > -static void spitz_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void spitz_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > spitz_common_init(ram_size, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model, spitz, 0x2c9); > } > > -static void borzoi_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void borzoi_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > spitz_common_init(ram_size, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model, borzoi, 0x33f); > } > > -static void akita_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void akita_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > spitz_common_init(ram_size, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model, akita, 0x2e8); > } > > -static void terrier_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void terrier_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > spitz_common_init(ram_size, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model, terrier, 0x33f); > } > diff --git a/hw/stellaris.c b/hw/stellaris.c > index 562fbbf..b79c7fb 100644 > --- a/hw/stellaris.c > +++ b/hw/stellaris.c > @@ -1358,19 +1358,17 @@ static void stellaris_init(const char > *kernel_filename, const char *cpu_model, > } > > /* FIXME: Figure out how to generate these from stellaris_boards. */ > -static void lm3s811evb_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void lm3s811evb_init(QEMUMachineInitArgs *args) > { > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > stellaris_init(kernel_filename, cpu_model, &stellaris_boards[0]); > } > > -static void lm3s6965evb_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void lm3s6965evb_init(QEMUMachineInitArgs *args) > { > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > stellaris_init(kernel_filename, cpu_model, &stellaris_boards[1]); > } > > diff --git a/hw/sun4m.c b/hw/sun4m.c > index c98cd5e..22e011f 100644 > --- a/hw/sun4m.c > +++ b/hw/sun4m.c > @@ -1303,92 +1303,118 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = { > }; > > /* SPARCstation 5 hardware initialisation */ > -static void ss5_init(ram_addr_t RAM_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void ss5_init(QEMUMachineInitArgs *args) > { > + ram_addr_t RAM_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > sun4m_hw_init(&sun4m_hwdefs[0], RAM_size, boot_device, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model); > } > > /* SPARCstation 10 hardware initialisation */ > -static void ss10_init(ram_addr_t RAM_size, > - const char *boot_device, > - const char *kernel_filename, const char > *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void ss10_init(QEMUMachineInitArgs *args) > { > + ram_addr_t RAM_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > sun4m_hw_init(&sun4m_hwdefs[1], RAM_size, boot_device, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model); > } > > /* SPARCserver 600MP hardware initialisation */ > -static void ss600mp_init(ram_addr_t RAM_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void ss600mp_init(QEMUMachineInitArgs *args) > { > + ram_addr_t RAM_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > sun4m_hw_init(&sun4m_hwdefs[2], RAM_size, boot_device, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model); > } > > /* SPARCstation 20 hardware initialisation */ > -static void ss20_init(ram_addr_t RAM_size, > - const char *boot_device, > - const char *kernel_filename, const char > *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void ss20_init(QEMUMachineInitArgs *args) > { > + ram_addr_t RAM_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > sun4m_hw_init(&sun4m_hwdefs[3], RAM_size, boot_device, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model); > } > > /* SPARCstation Voyager hardware initialisation */ > -static void vger_init(ram_addr_t RAM_size, > - const char *boot_device, > - const char *kernel_filename, const char > *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void vger_init(QEMUMachineInitArgs *args) > { > + ram_addr_t RAM_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > sun4m_hw_init(&sun4m_hwdefs[4], RAM_size, boot_device, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model); > } > > /* SPARCstation LX hardware initialisation */ > -static void ss_lx_init(ram_addr_t RAM_size, > - const char *boot_device, > - const char *kernel_filename, const char > *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void ss_lx_init(QEMUMachineInitArgs *args) > { > + ram_addr_t RAM_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > sun4m_hw_init(&sun4m_hwdefs[5], RAM_size, boot_device, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model); > } > > /* SPARCstation 4 hardware initialisation */ > -static void ss4_init(ram_addr_t RAM_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void ss4_init(QEMUMachineInitArgs *args) > { > + ram_addr_t RAM_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > sun4m_hw_init(&sun4m_hwdefs[6], RAM_size, boot_device, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model); > } > > /* SPARCClassic hardware initialisation */ > -static void scls_init(ram_addr_t RAM_size, > - const char *boot_device, > - const char *kernel_filename, const char > *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void scls_init(QEMUMachineInitArgs *args) > { > + ram_addr_t RAM_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > sun4m_hw_init(&sun4m_hwdefs[7], RAM_size, boot_device, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model); > } > > /* SPARCbook hardware initialisation */ > -static void sbook_init(ram_addr_t RAM_size, > - const char *boot_device, > - const char *kernel_filename, const char > *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void sbook_init(QEMUMachineInitArgs *args) > { > + ram_addr_t RAM_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > sun4m_hw_init(&sun4m_hwdefs[8], RAM_size, boot_device, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model); > } > @@ -1651,21 +1677,27 @@ static void sun4d_hw_init(const struct sun4d_hwdef > *hwdef, ram_addr_t RAM_size, > } > > /* SPARCserver 1000 hardware initialisation */ > -static void ss1000_init(ram_addr_t RAM_size, > - const char *boot_device, > - const char *kernel_filename, const char > *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void ss1000_init(QEMUMachineInitArgs *args) > { > + ram_addr_t RAM_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > sun4d_hw_init(&sun4d_hwdefs[0], RAM_size, boot_device, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model); > } > > /* SPARCcenter 2000 hardware initialisation */ > -static void ss2000_init(ram_addr_t RAM_size, > - const char *boot_device, > - const char *kernel_filename, const char > *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void ss2000_init(QEMUMachineInitArgs *args) > { > + ram_addr_t RAM_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > sun4d_hw_init(&sun4d_hwdefs[1], RAM_size, boot_device, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model); > } > @@ -1845,11 +1877,14 @@ static void sun4c_hw_init(const struct sun4c_hwdef > *hwdef, ram_addr_t RAM_size, > } > > /* SPARCstation 2 hardware initialisation */ > -static void ss2_init(ram_addr_t RAM_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void ss2_init(QEMUMachineInitArgs *args) > { > + ram_addr_t RAM_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > sun4c_hw_init(&sun4c_hwdefs[0], RAM_size, boot_device, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model); > } > diff --git a/hw/sun4u.c b/hw/sun4u.c > index 07cd042..379768c 100644 > --- a/hw/sun4u.c > +++ b/hw/sun4u.c > @@ -930,31 +930,40 @@ static const struct hwdef hwdefs[] = { > }; > > /* Sun4u hardware initialisation */ > -static void sun4u_init(ram_addr_t RAM_size, > - const char *boot_devices, > - const char *kernel_filename, const char > *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > -{ > +static void sun4u_init(QEMUMachineInitArgs *args) > +{ > + ram_addr_t RAM_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_devices = args->boot_device; > sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model, &hwdefs[0]); > } > > /* Sun4v hardware initialisation */ > -static void sun4v_init(ram_addr_t RAM_size, > - const char *boot_devices, > - const char *kernel_filename, const char > *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > -{ > +static void sun4v_init(QEMUMachineInitArgs *args) > +{ > + ram_addr_t RAM_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_devices = args->boot_device; > sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model, &hwdefs[1]); > } > > /* Niagara hardware initialisation */ > -static void niagara_init(ram_addr_t RAM_size, > - const char *boot_devices, > - const char *kernel_filename, const char > *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > -{ > +static void niagara_init(QEMUMachineInitArgs *args) > +{ > + ram_addr_t RAM_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_devices = args->boot_device; > sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model, &hwdefs[2]); > } > diff --git a/hw/tosa.c b/hw/tosa.c > index 297a8c2..512278c 100644 > --- a/hw/tosa.c > +++ b/hw/tosa.c > @@ -205,11 +205,12 @@ static struct arm_boot_info tosa_binfo = { > .ram_size = 0x04000000, > }; > > -static void tosa_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void tosa_init(QEMUMachineInitArgs *args) > { > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > MemoryRegion *address_space_mem = get_system_memory(); > MemoryRegion *rom = g_new(MemoryRegion, 1); > PXA2xxState *mpu; > diff --git a/hw/versatilepb.c b/hw/versatilepb.c > index 7a92034..686dcc7 100644 > --- a/hw/versatilepb.c > +++ b/hw/versatilepb.c > @@ -342,22 +342,28 @@ static void versatile_init(ram_addr_t ram_size, > arm_load_kernel(cpu, &versatile_binfo); > } > > -static void vpb_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void vpb_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > versatile_init(ram_size, > boot_device, > kernel_filename, kernel_cmdline, > initrd_filename, cpu_model, 0x183); > } > > -static void vab_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void vab_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > versatile_init(ram_size, > boot_device, > kernel_filename, kernel_cmdline, > diff --git a/hw/vexpress.c b/hw/vexpress.c > index 3596d1e..36503d6 100644 > --- a/hw/vexpress.c > +++ b/hw/vexpress.c > @@ -467,25 +467,27 @@ static void vexpress_common_init(const VEDBoardInfo > *daughterboard, > arm_load_kernel(arm_env_get_cpu(first_cpu), &vexpress_binfo); > } > > -static void vexpress_a9_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void vexpress_a9_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > vexpress_common_init(&a9_daughterboard, > ram_size, boot_device, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model); > } > > -static void vexpress_a15_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void vexpress_a15_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > vexpress_common_init(&a15_daughterboard, > ram_size, boot_device, kernel_filename, > kernel_cmdline, initrd_filename, cpu_model); > diff --git a/hw/virtex_ml507.c b/hw/virtex_ml507.c > index 79bc0d1..a09b27a 100644 > --- a/hw/virtex_ml507.c > +++ b/hw/virtex_ml507.c > @@ -183,12 +183,12 @@ static int xilinx_load_device_tree(target_phys_addr_t > addr, > return fdt_size; > } > > -static void virtex_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void virtex_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > MemoryRegion *address_space_mem = get_system_memory(); > DeviceState *dev; > PowerPCCPU *cpu; > diff --git a/hw/xen_machine_pv.c b/hw/xen_machine_pv.c > index 4b72aa7..4264703 100644 > --- a/hw/xen_machine_pv.c > +++ b/hw/xen_machine_pv.c > @@ -29,13 +29,12 @@ > #include "xen_domainbuild.h" > #include "blockdev.h" > > -static void xen_init_pv(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, > - const char *kernel_cmdline, > - const char *initrd_filename, > - const char *cpu_model) > +static void xen_init_pv(QEMUMachineInitArgs *args) > { > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > X86CPU *cpu; > CPUX86State *env; > DriveInfo *dinfo; > diff --git a/hw/xilinx_zynq.c b/hw/xilinx_zynq.c > index 7e6c273..83f322e 100644 > --- a/hw/xilinx_zynq.c > +++ b/hw/xilinx_zynq.c > @@ -46,10 +46,13 @@ static void gem_init(NICInfo *nd, uint32_t base, qemu_irq > irq) > sysbus_connect_irq(s, 0, irq); > } > > -static void zynq_init(ram_addr_t ram_size, const char *boot_device, > - const char *kernel_filename, const char > *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void zynq_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > ARMCPU *cpu; > MemoryRegion *address_space_mem = get_system_memory(); > MemoryRegion *ext_ram = g_new(MemoryRegion, 1); > diff --git a/hw/xtensa_lx60.c b/hw/xtensa_lx60.c > index 3653f65..1fd2c47 100644 > --- a/hw/xtensa_lx60.c > +++ b/hw/xtensa_lx60.c > @@ -268,11 +268,14 @@ static void lx_init(const LxBoardDesc *board, > } > } > > -static void xtensa_lx60_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void xtensa_lx60_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > static const LxBoardDesc lx60_board = { > .flash_size = 0x400000, > .flash_sector_size = 0x10000, > @@ -283,11 +286,14 @@ static void xtensa_lx60_init(ram_addr_t ram_size, > initrd_filename, cpu_model); > } > > -static void xtensa_lx200_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void xtensa_lx200_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > static const LxBoardDesc lx200_board = { > .flash_size = 0x1000000, > .flash_sector_size = 0x20000, > diff --git a/hw/xtensa_sim.c b/hw/xtensa_sim.c > index 831460b..2e846d8 100644 > --- a/hw/xtensa_sim.c > +++ b/hw/xtensa_sim.c > @@ -96,11 +96,14 @@ static void sim_init(ram_addr_t ram_size, > } > } > > -static void xtensa_sim_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void xtensa_sim_init(QEMUMachineInitArgs *args) > { > + ram_addr_t ram_size = args->ram_size; > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > + const char *boot_device = args->boot_device; > if (!cpu_model) { > cpu_model = XTENSA_DEFAULT_CPU_MODEL; > } > diff --git a/hw/z2.c b/hw/z2.c > index 289cee9..0927bad 100644 > --- a/hw/z2.c > +++ b/hw/z2.c > @@ -294,11 +294,12 @@ static TypeInfo aer915_info = { > .class_init = aer915_class_init, > }; > > -static void z2_init(ram_addr_t ram_size, > - const char *boot_device, > - const char *kernel_filename, const char *kernel_cmdline, > - const char *initrd_filename, const char *cpu_model) > +static void z2_init(QEMUMachineInitArgs *args) > { > + const char *cpu_model = args->cpu_model; > + const char *kernel_filename = args->kernel_filename; > + const char *kernel_cmdline = args->kernel_cmdline; > + const char *initrd_filename = args->initrd_filename; > MemoryRegion *address_space_mem = get_system_memory(); > uint32_t sector_len = 0x10000; > PXA2xxState *mpu; > diff --git a/vl.c b/vl.c > index 8d305ca..b05e224 100644 > --- a/vl.c > +++ b/vl.c > @@ -3624,8 +3624,13 @@ int main(int argc, char **argv, char **envp) > > qdev_machine_init(); > > - machine->init(ram_size, boot_devices, > - kernel_filename, kernel_cmdline, initrd_filename, > cpu_model); > + QEMUMachineInitArgs args = { .ram_size = ram_size, > + .boot_device = boot_devices, > + .kernel_filename = kernel_filename, > + .kernel_cmdline = kernel_cmdline, > + .initrd_filename = initrd_filename, > + .cpu_model = cpu_model }; > + machine->init(&args); > > cpu_synchronize_all_post_init(); > > -- > 1.7.11.4 > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |