mirror of
https://git.proxmox.com/git/qemu
synced 2025-08-07 02:14:24 +00:00
hw/versatilepb: Don't prematurely explode QEMUMachineInitArgs
Don't explode QEMUMachineInitArgs before passing it to the common versatile init function. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
db4ff6f111
commit
1b523b5bfc
@ -167,11 +167,7 @@ static int vpb_sic_init(SysBusDevice *dev)
|
|||||||
|
|
||||||
static struct arm_boot_info versatile_binfo;
|
static struct arm_boot_info versatile_binfo;
|
||||||
|
|
||||||
static void versatile_init(ram_addr_t ram_size,
|
static void versatile_init(QEMUMachineInitArgs *args, int board_id)
|
||||||
const char *boot_device,
|
|
||||||
const char *kernel_filename, const char *kernel_cmdline,
|
|
||||||
const char *initrd_filename, const char *cpu_model,
|
|
||||||
int board_id)
|
|
||||||
{
|
{
|
||||||
ARMCPU *cpu;
|
ARMCPU *cpu;
|
||||||
MemoryRegion *sysmem = get_system_memory();
|
MemoryRegion *sysmem = get_system_memory();
|
||||||
@ -189,15 +185,15 @@ static void versatile_init(ram_addr_t ram_size,
|
|||||||
int done_smc = 0;
|
int done_smc = 0;
|
||||||
DriveInfo *dinfo;
|
DriveInfo *dinfo;
|
||||||
|
|
||||||
if (!cpu_model) {
|
if (!args->cpu_model) {
|
||||||
cpu_model = "arm926";
|
args->cpu_model = "arm926";
|
||||||
}
|
}
|
||||||
cpu = cpu_arm_init(cpu_model);
|
cpu = cpu_arm_init(args->cpu_model);
|
||||||
if (!cpu) {
|
if (!cpu) {
|
||||||
fprintf(stderr, "Unable to find CPU definition\n");
|
fprintf(stderr, "Unable to find CPU definition\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
memory_region_init_ram(ram, "versatile.ram", ram_size);
|
memory_region_init_ram(ram, "versatile.ram", args->ram_size);
|
||||||
vmstate_register_ram_global(ram);
|
vmstate_register_ram_global(ram);
|
||||||
/* ??? RAM should repeat to fill physical memory space. */
|
/* ??? RAM should repeat to fill physical memory space. */
|
||||||
/* SDRAM at address zero. */
|
/* SDRAM at address zero. */
|
||||||
@ -340,40 +336,22 @@ static void versatile_init(ram_addr_t ram_size,
|
|||||||
fprintf(stderr, "qemu: Error registering flash memory.\n");
|
fprintf(stderr, "qemu: Error registering flash memory.\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
versatile_binfo.ram_size = ram_size;
|
versatile_binfo.ram_size = args->ram_size;
|
||||||
versatile_binfo.kernel_filename = kernel_filename;
|
versatile_binfo.kernel_filename = args->kernel_filename;
|
||||||
versatile_binfo.kernel_cmdline = kernel_cmdline;
|
versatile_binfo.kernel_cmdline = args->kernel_cmdline;
|
||||||
versatile_binfo.initrd_filename = initrd_filename;
|
versatile_binfo.initrd_filename = args->initrd_filename;
|
||||||
versatile_binfo.board_id = board_id;
|
versatile_binfo.board_id = board_id;
|
||||||
arm_load_kernel(cpu, &versatile_binfo);
|
arm_load_kernel(cpu, &versatile_binfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void vpb_init(QEMUMachineInitArgs *args)
|
static void vpb_init(QEMUMachineInitArgs *args)
|
||||||
{
|
{
|
||||||
ram_addr_t ram_size = args->ram_size;
|
versatile_init(args, 0x183);
|
||||||
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(QEMUMachineInitArgs *args)
|
static void vab_init(QEMUMachineInitArgs *args)
|
||||||
{
|
{
|
||||||
ram_addr_t ram_size = args->ram_size;
|
versatile_init(args, 0x25e);
|
||||||
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, 0x25e);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static QEMUMachine versatilepb_machine = {
|
static QEMUMachine versatilepb_machine = {
|
||||||
|
Loading…
Reference in New Issue
Block a user