Commit 6efa6d50 authored by Peter Maydell's avatar Peter Maydell
Browse files

hw/mainstone: Don't prematurely explode QEMUMachineInitArgs



Don't explode QEMUMachineInitArgs before passing it to mainstone_init().

Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parent 462b69bb
Loading
Loading
Loading
Loading
+7 −14
Original line number Diff line number Diff line
@@ -95,10 +95,8 @@ static struct arm_boot_info mainstone_binfo = {
};

static void mainstone_common_init(MemoryRegion *address_space_mem,
                ram_addr_t ram_size,
                const char *kernel_filename,
                const char *kernel_cmdline, const char *initrd_filename,
                const char *cpu_model, enum mainstone_model_e model, int arm_id)
                                  QEMUMachineInitArgs *args,
                                  enum mainstone_model_e model, int arm_id)
{
    uint32_t sector_len = 256 * 1024;
    hwaddr mainstone_flash_base[] = { MST_FLASH_0, MST_FLASH_1 };
@@ -108,6 +106,7 @@ static void mainstone_common_init(MemoryRegion *address_space_mem,
    int i;
    int be;
    MemoryRegion *rom = g_new(MemoryRegion, 1);
    const char *cpu_model = args->cpu_model;

    if (!cpu_model)
        cpu_model = "pxa270-c5";
@@ -164,22 +163,16 @@ static void mainstone_common_init(MemoryRegion *address_space_mem,
    smc91c111_init(&nd_table[0], MST_ETH_PHYS,
                    qdev_get_gpio_in(mst_irq, ETHERNET_IRQ));

    mainstone_binfo.kernel_filename = kernel_filename;
    mainstone_binfo.kernel_cmdline = kernel_cmdline;
    mainstone_binfo.initrd_filename = initrd_filename;
    mainstone_binfo.kernel_filename = args->kernel_filename;
    mainstone_binfo.kernel_cmdline = args->kernel_cmdline;
    mainstone_binfo.initrd_filename = args->initrd_filename;
    mainstone_binfo.board_id = arm_id;
    arm_load_kernel(mpu->cpu, &mainstone_binfo);
}

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);
    mainstone_common_init(get_system_memory(), args, mainstone, 0x196);
}

static QEMUMachine mainstone2_machine = {