hw/riscv/boot.c: consolidate all kernel init in riscv_load_kernel()
commit487d73fc470d233f2d5da9cec7cd229ae8b88b49
authorDaniel Henrique Barboza <dbarboza@ventanamicro.com>
Mon, 6 Feb 2023 14:00:21 +0000 (6 11:00 -0300)
committerPalmer Dabbelt <palmer@rivosinc.com>
Thu, 16 Feb 2023 15:55:30 +0000 (16 07:55 -0800)
tree6389d30dc0179becf9cae1d2194947e39c072dc9
parent62c5bc348e39f8b715fb2eac414749ee7e630043
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>
hw/riscv/boot.c
hw/riscv/microchip_pfsoc.c
hw/riscv/opentitan.c
hw/riscv/sifive_e.c
hw/riscv/sifive_u.c
hw/riscv/spike.c
hw/riscv/virt.c
include/hw/riscv/boot.h