mirror of
https://github.com/qemu/qemu.git
synced 2024-12-11 20:53:51 +08:00
hw/riscv/boot.c: use MachineState in riscv_load_initrd()
'filename', 'mem_size' and 'fdt' from riscv_load_initrd() can all be retrieved by the MachineState object for all callers. 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-9-dbarboza@ventanamicro.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
b1f19f238c
commit
1f99146103
@ -208,9 +208,11 @@ target_ulong riscv_load_kernel(const char *kernel_filename,
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void riscv_load_initrd(const char *filename, uint64_t mem_size,
|
void riscv_load_initrd(MachineState *machine, uint64_t kernel_entry)
|
||||||
uint64_t kernel_entry, void *fdt)
|
|
||||||
{
|
{
|
||||||
|
const char *filename = machine->initrd_filename;
|
||||||
|
uint64_t mem_size = machine->ram_size;
|
||||||
|
void *fdt = machine->fdt;
|
||||||
hwaddr start, end;
|
hwaddr start, end;
|
||||||
ssize_t size;
|
ssize_t size;
|
||||||
|
|
||||||
|
@ -633,8 +633,7 @@ static void microchip_icicle_kit_machine_init(MachineState *machine)
|
|||||||
kernel_start_addr, NULL);
|
kernel_start_addr, NULL);
|
||||||
|
|
||||||
if (machine->initrd_filename) {
|
if (machine->initrd_filename) {
|
||||||
riscv_load_initrd(machine->initrd_filename, machine->ram_size,
|
riscv_load_initrd(machine, kernel_entry);
|
||||||
kernel_entry, machine->fdt);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (machine->kernel_cmdline && *machine->kernel_cmdline) {
|
if (machine->kernel_cmdline && *machine->kernel_cmdline) {
|
||||||
|
@ -602,8 +602,7 @@ static void sifive_u_machine_init(MachineState *machine)
|
|||||||
kernel_start_addr, NULL);
|
kernel_start_addr, NULL);
|
||||||
|
|
||||||
if (machine->initrd_filename) {
|
if (machine->initrd_filename) {
|
||||||
riscv_load_initrd(machine->initrd_filename, machine->ram_size,
|
riscv_load_initrd(machine, kernel_entry);
|
||||||
kernel_entry, machine->fdt);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (machine->kernel_cmdline && *machine->kernel_cmdline) {
|
if (machine->kernel_cmdline && *machine->kernel_cmdline) {
|
||||||
|
@ -312,8 +312,7 @@ static void spike_board_init(MachineState *machine)
|
|||||||
htif_symbol_callback);
|
htif_symbol_callback);
|
||||||
|
|
||||||
if (machine->initrd_filename) {
|
if (machine->initrd_filename) {
|
||||||
riscv_load_initrd(machine->initrd_filename, machine->ram_size,
|
riscv_load_initrd(machine, kernel_entry);
|
||||||
kernel_entry, machine->fdt);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (machine->kernel_cmdline && *machine->kernel_cmdline) {
|
if (machine->kernel_cmdline && *machine->kernel_cmdline) {
|
||||||
|
@ -1285,8 +1285,7 @@ static void virt_machine_done(Notifier *notifier, void *data)
|
|||||||
kernel_start_addr, NULL);
|
kernel_start_addr, NULL);
|
||||||
|
|
||||||
if (machine->initrd_filename) {
|
if (machine->initrd_filename) {
|
||||||
riscv_load_initrd(machine->initrd_filename, machine->ram_size,
|
riscv_load_initrd(machine, kernel_entry);
|
||||||
kernel_entry, machine->fdt);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (machine->kernel_cmdline && *machine->kernel_cmdline) {
|
if (machine->kernel_cmdline && *machine->kernel_cmdline) {
|
||||||
|
@ -46,8 +46,7 @@ target_ulong riscv_load_firmware(const char *firmware_filename,
|
|||||||
target_ulong riscv_load_kernel(const char *kernel_filename,
|
target_ulong riscv_load_kernel(const char *kernel_filename,
|
||||||
target_ulong firmware_end_addr,
|
target_ulong firmware_end_addr,
|
||||||
symbol_fn_t sym_cb);
|
symbol_fn_t sym_cb);
|
||||||
void riscv_load_initrd(const char *filename, uint64_t mem_size,
|
void riscv_load_initrd(MachineState *machine, uint64_t kernel_entry);
|
||||||
uint64_t kernel_entry, void *fdt);
|
|
||||||
uint64_t riscv_load_fdt(hwaddr dram_start, uint64_t dram_size, void *fdt);
|
uint64_t riscv_load_fdt(hwaddr dram_start, uint64_t dram_size, void *fdt);
|
||||||
void riscv_setup_rom_reset_vec(MachineState *machine, RISCVHartArrayState *harts,
|
void riscv_setup_rom_reset_vec(MachineState *machine, RISCVHartArrayState *harts,
|
||||||
hwaddr saddr,
|
hwaddr saddr,
|
||||||
|
Loading…
Reference in New Issue
Block a user