mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
hw/riscv/boot.c: consolidate all kernel init in riscv_load_kernel()
The microchip_icicle_kit, sifive_u, spike and virt boards are now doing the same steps when '-kernel' is used: - execute load_kernel() - load init_rd() - write kernel_cmdline Let's fold everything inside riscv_load_kernel() to avoid code repetition. To not change the behavior of boards that aren't calling riscv_load_init(), add an 'load_initrd' flag to riscv_load_kernel() and allow these boards to opt out from initrd loading. Cc: Palmer Dabbelt <palmer@dabbelt.com> Reviewed-by: Bin Meng <bmeng@tinylab.org> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20230206140022.2748401-3-dbarboza@ventanamicro.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
This commit is contained in:
parent
62c5bc348e
commit
487d73fc47
8 changed files with 20 additions and 42 deletions
|
@ -46,6 +46,7 @@ target_ulong riscv_load_firmware(const char *firmware_filename,
|
|||
target_ulong riscv_load_kernel(MachineState *machine,
|
||||
RISCVHartArrayState *harts,
|
||||
target_ulong firmware_end_addr,
|
||||
bool load_initrd,
|
||||
symbol_fn_t sym_cb);
|
||||
void riscv_load_initrd(MachineState *machine, uint64_t kernel_entry);
|
||||
uint64_t riscv_compute_fdt_addr(hwaddr dram_start, uint64_t dram_size,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue