hw/xtensa_lx60: don't prematurely explode QEMUMachineInitArgs
Don't explode QEMUMachineInitArgs before passing it to lx_init. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
d1bd2423a9
commit
d64ed08eec
|
@ -155,10 +155,7 @@ static void lx60_reset(void *opaque)
|
||||||
cpu_reset(CPU(cpu));
|
cpu_reset(CPU(cpu));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void lx_init(const LxBoardDesc *board,
|
static void lx_init(const LxBoardDesc *board, QEMUMachineInitArgs *args)
|
||||||
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)
|
|
||||||
{
|
{
|
||||||
#ifdef TARGET_WORDS_BIGENDIAN
|
#ifdef TARGET_WORDS_BIGENDIAN
|
||||||
int be = 1;
|
int be = 1;
|
||||||
|
@ -171,6 +168,9 @@ static void lx_init(const LxBoardDesc *board,
|
||||||
MemoryRegion *ram, *rom, *system_io;
|
MemoryRegion *ram, *rom, *system_io;
|
||||||
DriveInfo *dinfo;
|
DriveInfo *dinfo;
|
||||||
pflash_t *flash = NULL;
|
pflash_t *flash = NULL;
|
||||||
|
const char *cpu_model = args->cpu_model;
|
||||||
|
const char *kernel_filename = args->kernel_filename;
|
||||||
|
const char *kernel_cmdline = args->kernel_cmdline;
|
||||||
int n;
|
int n;
|
||||||
|
|
||||||
if (!cpu_model) {
|
if (!cpu_model) {
|
||||||
|
@ -194,7 +194,7 @@ static void lx_init(const LxBoardDesc *board,
|
||||||
}
|
}
|
||||||
|
|
||||||
ram = g_malloc(sizeof(*ram));
|
ram = g_malloc(sizeof(*ram));
|
||||||
memory_region_init_ram(ram, "lx60.dram", ram_size);
|
memory_region_init_ram(ram, "lx60.dram", args->ram_size);
|
||||||
vmstate_register_ram_global(ram);
|
vmstate_register_ram_global(ram);
|
||||||
memory_region_add_subregion(system_memory, 0, ram);
|
memory_region_add_subregion(system_memory, 0, ram);
|
||||||
|
|
||||||
|
@ -271,38 +271,22 @@ static void lx_init(const LxBoardDesc *board,
|
||||||
|
|
||||||
static void xtensa_lx60_init(QEMUMachineInitArgs *args)
|
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 = {
|
static const LxBoardDesc lx60_board = {
|
||||||
.flash_size = 0x400000,
|
.flash_size = 0x400000,
|
||||||
.flash_sector_size = 0x10000,
|
.flash_sector_size = 0x10000,
|
||||||
.sram_size = 0x20000,
|
.sram_size = 0x20000,
|
||||||
};
|
};
|
||||||
lx_init(&lx60_board, ram_size, boot_device,
|
lx_init(&lx60_board, args);
|
||||||
kernel_filename, kernel_cmdline,
|
|
||||||
initrd_filename, cpu_model);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xtensa_lx200_init(QEMUMachineInitArgs *args)
|
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 = {
|
static const LxBoardDesc lx200_board = {
|
||||||
.flash_size = 0x1000000,
|
.flash_size = 0x1000000,
|
||||||
.flash_sector_size = 0x20000,
|
.flash_sector_size = 0x20000,
|
||||||
.sram_size = 0x2000000,
|
.sram_size = 0x2000000,
|
||||||
};
|
};
|
||||||
lx_init(&lx200_board, ram_size, boot_device,
|
lx_init(&lx200_board, args);
|
||||||
kernel_filename, kernel_cmdline,
|
|
||||||
initrd_filename, cpu_model);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static QEMUMachine xtensa_lx60_machine = {
|
static QEMUMachine xtensa_lx60_machine = {
|
||||||
|
|
Loading…
Reference in a new issue