hw/riscv/boot.c: use MachineState in riscv_load_kernel()
All callers are using kernel_filename as machine->kernel_filename. This will also simplify the changes in riscv_load_kernel() that we're going to do next. Cc: Palmer Dabbelt <palmer@dabbelt.com> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Bin Meng <bmeng@tinylab.org> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-Id: <20230102115241.25733-10-dbarboza@ventanamicro.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
1f99146103
commit
60c1f05e36
@ -173,10 +173,11 @@ target_ulong riscv_load_firmware(const char *firmware_filename,
|
||||
exit(1);
|
||||
}
|
||||
|
||||
target_ulong riscv_load_kernel(const char *kernel_filename,
|
||||
target_ulong riscv_load_kernel(MachineState *machine,
|
||||
target_ulong kernel_start_addr,
|
||||
symbol_fn_t sym_cb)
|
||||
{
|
||||
const char *kernel_filename = machine->kernel_filename;
|
||||
uint64_t kernel_load_base, kernel_entry;
|
||||
|
||||
g_assert(kernel_filename != NULL);
|
||||
|
@ -629,8 +629,7 @@ static void microchip_icicle_kit_machine_init(MachineState *machine)
|
||||
kernel_start_addr = riscv_calc_kernel_start_addr(&s->soc.u_cpus,
|
||||
firmware_end_addr);
|
||||
|
||||
kernel_entry = riscv_load_kernel(machine->kernel_filename,
|
||||
kernel_start_addr, NULL);
|
||||
kernel_entry = riscv_load_kernel(machine, kernel_start_addr, NULL);
|
||||
|
||||
if (machine->initrd_filename) {
|
||||
riscv_load_initrd(machine, kernel_entry);
|
||||
|
@ -101,8 +101,7 @@ static void opentitan_board_init(MachineState *machine)
|
||||
}
|
||||
|
||||
if (machine->kernel_filename) {
|
||||
riscv_load_kernel(machine->kernel_filename,
|
||||
memmap[IBEX_DEV_RAM].base, NULL);
|
||||
riscv_load_kernel(machine, memmap[IBEX_DEV_RAM].base, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -114,8 +114,7 @@ static void sifive_e_machine_init(MachineState *machine)
|
||||
memmap[SIFIVE_E_DEV_MROM].base, &address_space_memory);
|
||||
|
||||
if (machine->kernel_filename) {
|
||||
riscv_load_kernel(machine->kernel_filename,
|
||||
memmap[SIFIVE_E_DEV_DTIM].base, NULL);
|
||||
riscv_load_kernel(machine, memmap[SIFIVE_E_DEV_DTIM].base, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -598,8 +598,7 @@ static void sifive_u_machine_init(MachineState *machine)
|
||||
kernel_start_addr = riscv_calc_kernel_start_addr(&s->soc.u_cpus,
|
||||
firmware_end_addr);
|
||||
|
||||
kernel_entry = riscv_load_kernel(machine->kernel_filename,
|
||||
kernel_start_addr, NULL);
|
||||
kernel_entry = riscv_load_kernel(machine, kernel_start_addr, NULL);
|
||||
|
||||
if (machine->initrd_filename) {
|
||||
riscv_load_initrd(machine, kernel_entry);
|
||||
|
@ -307,8 +307,7 @@ static void spike_board_init(MachineState *machine)
|
||||
kernel_start_addr = riscv_calc_kernel_start_addr(&s->soc[0],
|
||||
firmware_end_addr);
|
||||
|
||||
kernel_entry = riscv_load_kernel(machine->kernel_filename,
|
||||
kernel_start_addr,
|
||||
kernel_entry = riscv_load_kernel(machine, kernel_start_addr,
|
||||
htif_symbol_callback);
|
||||
|
||||
if (machine->initrd_filename) {
|
||||
|
@ -1281,8 +1281,7 @@ static void virt_machine_done(Notifier *notifier, void *data)
|
||||
kernel_start_addr = riscv_calc_kernel_start_addr(&s->soc[0],
|
||||
firmware_end_addr);
|
||||
|
||||
kernel_entry = riscv_load_kernel(machine->kernel_filename,
|
||||
kernel_start_addr, NULL);
|
||||
kernel_entry = riscv_load_kernel(machine, kernel_start_addr, NULL);
|
||||
|
||||
if (machine->initrd_filename) {
|
||||
riscv_load_initrd(machine, kernel_entry);
|
||||
|
@ -43,7 +43,7 @@ char *riscv_find_firmware(const char *firmware_filename,
|
||||
target_ulong riscv_load_firmware(const char *firmware_filename,
|
||||
hwaddr firmware_load_addr,
|
||||
symbol_fn_t sym_cb);
|
||||
target_ulong riscv_load_kernel(const char *kernel_filename,
|
||||
target_ulong riscv_load_kernel(MachineState *machine,
|
||||
target_ulong firmware_end_addr,
|
||||
symbol_fn_t sym_cb);
|
||||
void riscv_load_initrd(MachineState *machine, uint64_t kernel_entry);
|
||||
|
Loading…
Reference in New Issue
Block a user