[PATCH v3 0/3] Add OpenSBI dynamic firmware support

Atish Patra posted 3 patches 3 years, 9 months ago
Test FreeBSD passed
Test docker-quick@centos7 passed
Test checkpatch passed
Test docker-mingw@fedora passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200626003313.715355-1-atish.patra@wdc.com
Maintainers: Alistair Francis <Alistair.Francis@wdc.com>, Bastian Koppelmann <kbastian@mail.uni-paderborn.de>, Sagar Karandikar <sagark@eecs.berkeley.edu>, Palmer Dabbelt <palmer@dabbelt.com>
There is a newer version of this series
hw/riscv/boot.c                 | 103 ++++++++++++++++++++++++++++++++
hw/riscv/sifive_u.c             |  46 ++++++++------
hw/riscv/spike.c                |  55 +++++------------
hw/riscv/virt.c                 |  54 +++++------------
include/hw/riscv/boot.h         |   8 +++
include/hw/riscv/boot_opensbi.h |  58 ++++++++++++++++++
6 files changed, 228 insertions(+), 96 deletions(-)
create mode 100644 include/hw/riscv/boot_opensbi.h
[PATCH v3 0/3] Add OpenSBI dynamic firmware support
Posted by Atish Patra 3 years, 9 months ago
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.

Changes from v2->v3:
1. Removed redundant header includes.

Changes from v1->v2:
1. Rebased on top of latest upstream Qemu (with MSEL changes for sifive_u).
2. Improved the code organization

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                 | 103 ++++++++++++++++++++++++++++++++
hw/riscv/sifive_u.c             |  46 ++++++++------
hw/riscv/spike.c                |  55 +++++------------
hw/riscv/virt.c                 |  54 +++++------------
include/hw/riscv/boot.h         |   8 +++
include/hw/riscv/boot_opensbi.h |  58 ++++++++++++++++++
6 files changed, 228 insertions(+), 96 deletions(-)
create mode 100644 include/hw/riscv/boot_opensbi.h

--
2.26.2