This series adds support OpenSBI dynamic firmware support to Qemu. Qemu loader passes the information about the DT and next stage (i.e. kernel or U-boot) via "a2" register. It allows the user to build bigger OS images without worrying about overwriting DT. It also unifies the reset vector code in rom and dt placement. Now, the DT is copied directly in DRAM instead of ROM.
The changes have been verified on following qemu machines. 64bit: - spike, sifive_u, virt 32bit: - virt I have also verified fw_jump on all the above platforms to ensure that this series doesn't break the existing setup. Atish Patra (3): riscv: Unify Qemu's reset vector code path RISC-V: Copy the fdt in dram instead of ROM riscv: Add opensbi firmware dynamic support hw/riscv/boot.c | 95 +++++++++++++++++++++++++++++++++ hw/riscv/sifive_u.c | 59 ++++++++------------ hw/riscv/spike.c | 55 ++++++++----------- hw/riscv/virt.c | 55 ++++++++----------- include/hw/riscv/boot.h | 5 ++ include/hw/riscv/boot_opensbi.h | 58 ++++++++++++++++++++ 6 files changed, 223 insertions(+), 104 deletions(-) create mode 100644 include/hw/riscv/boot_opensbi.h -- 2.26.2