mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
hw/spitz: Don't prematurely explode QEMUMachineInitArgs
Don't explode QEMUMachineInitArgs before calling common init function. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
1b523b5bfc
commit
72a9f5b7c3
1 changed files with 10 additions and 35 deletions
45
hw/spitz.c
45
hw/spitz.c
|
@ -879,15 +879,14 @@ static struct arm_boot_info spitz_binfo = {
|
|||
.ram_size = 0x04000000,
|
||||
};
|
||||
|
||||
static void spitz_common_init(ram_addr_t ram_size,
|
||||
const char *kernel_filename,
|
||||
const char *kernel_cmdline, const char *initrd_filename,
|
||||
const char *cpu_model, enum spitz_model_e model, int arm_id)
|
||||
static void spitz_common_init(QEMUMachineInitArgs *args,
|
||||
enum spitz_model_e model, int arm_id)
|
||||
{
|
||||
PXA2xxState *mpu;
|
||||
DeviceState *scp0, *scp1 = NULL;
|
||||
MemoryRegion *address_space_mem = get_system_memory();
|
||||
MemoryRegion *rom = g_new(MemoryRegion, 1);
|
||||
const char *cpu_model = args->cpu_model;
|
||||
|
||||
if (!cpu_model)
|
||||
cpu_model = (model == terrier) ? "pxa270-c5" : "pxa270-c0";
|
||||
|
@ -928,9 +927,9 @@ static void spitz_common_init(ram_addr_t ram_size,
|
|||
/* A 4.0 GB microdrive is permanently sitting in CF slot 0. */
|
||||
spitz_microdrive_attach(mpu, 0);
|
||||
|
||||
spitz_binfo.kernel_filename = kernel_filename;
|
||||
spitz_binfo.kernel_cmdline = kernel_cmdline;
|
||||
spitz_binfo.initrd_filename = initrd_filename;
|
||||
spitz_binfo.kernel_filename = args->kernel_filename;
|
||||
spitz_binfo.kernel_cmdline = args->kernel_cmdline;
|
||||
spitz_binfo.initrd_filename = args->initrd_filename;
|
||||
spitz_binfo.board_id = arm_id;
|
||||
arm_load_kernel(mpu->cpu, &spitz_binfo);
|
||||
sl_bootparam_write(SL_PXA_PARAM_BASE);
|
||||
|
@ -938,46 +937,22 @@ static void spitz_common_init(ram_addr_t ram_size,
|
|||
|
||||
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);
|
||||
spitz_common_init(args, spitz, 0x2c9);
|
||||
}
|
||||
|
||||
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);
|
||||
spitz_common_init(args, borzoi, 0x33f);
|
||||
}
|
||||
|
||||
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);
|
||||
spitz_common_init(args, akita, 0x2e8);
|
||||
}
|
||||
|
||||
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);
|
||||
spitz_common_init(args, terrier, 0x33f);
|
||||
}
|
||||
|
||||
static QEMUMachine akitapda_machine = {
|
||||
|
|
Loading…
Reference in a new issue