On Mon, Aug 3, 2020 at 12:31 AM Bin Meng <bmeng...@gmail.com> wrote: > > From: Bin Meng <bin.m...@windriver.com> > > The RISC-V generic platform is a flattened device tree (FDT) based > platform where all platform specific functionality is provided based > on FDT passed by previous booting stage. The support was added in > the upstream OpenSBI v0.8 release recently. > > This series updates QEMU to switch to use generic platform of opensbi > bios images. With the recent fw_dynamic image support, let's replace > the fw_jump images with fw_dynamic ones too. > > The patch emails do not contain binary bits, please grab all updates > at https://github.com/lbmeng/qemu.git bios branch. > > Note: > > 1. To test 32-bit Linux kernel on QEMU 'sifive_u' 32-bit machine, > the following patch is needed: > http://lists.infradead.org/pipermail/linux-riscv/2020-July/001213.html > > 2. To test 64-bit Linux 5.3 kernel on QEMU 'virt' or 'sifive_u' 64-bit > machines, the following commit should be cherry-picked to 5.3: > > commit 922b0375fc93fb1a20c5617e37c389c26bbccb70 > Author: Albert Ou <a...@eecs.berkeley.edu> > Date: Fri Sep 27 16:14:18 2019 -0700 > > riscv: Fix memblock reservation for device tree blob > > Linux 5.4 or above already contains this commit/fix.
Thanks for this. Applied to riscv-to-apply.next Alistair > > Changes in v6: > - Rebased on https://github.com/alistair23/qemu/commits/riscv-to-apply.next > - Add information about Linux kernel tested > - Squash the Makefile ELF changes into patch 5 > > Changes in v5: > - Include the generic fw_dynamic.bin in the Makefile for `make install` > bisection > > Changes in v4: > - Remove old binaries in the Makefile for `make install` bisection > > Changes in v3: > - Change fw_jump to fw_dynamic in the make rules > - Change to fw_dynamic.bin for virt & sifive_u > - Change to fw_dynamic.elf for Spike > - Generate fw_dynamic images in the artifacts > > Changes in v2: > - new patch: configure: Create symbolic links for pc-bios/*.elf files > - Upgrade OpenSBI to v0.8 release > - Copy the ELF images too in the make rules > - Include ELF images in the artifacts > > Bin Meng (6): > configure: Create symbolic links for pc-bios/*.elf files > roms/opensbi: Upgrade from v0.7 to v0.8 > roms/Makefile: Build the generic platform for RISC-V OpenSBI firmware > hw/riscv: Use pre-built bios image of generic platform for virt & > sifive_u > hw/riscv: spike: Change the default bios to use generic platform image > gitlab-ci/opensbi: Update GitLab CI to build generic platform > > .gitlab-ci.d/opensbi.yml | 28 ++++++++-------------- > Makefile | 4 ++-- > configure | 1 + > hw/riscv/sifive_u.c | 4 ++-- > hw/riscv/spike.c | 9 +++++-- > hw/riscv/virt.c | 4 ++-- > pc-bios/opensbi-riscv32-generic-fw_dynamic.bin | Bin 0 -> 62144 bytes > pc-bios/opensbi-riscv32-generic-fw_dynamic.elf | Bin 0 -> 558668 bytes > pc-bios/opensbi-riscv32-sifive_u-fw_jump.bin | Bin 49520 -> 0 bytes > pc-bios/opensbi-riscv32-virt-fw_jump.bin | Bin 49504 -> 0 bytes > pc-bios/opensbi-riscv64-generic-fw_dynamic.bin | Bin 0 -> 70792 bytes > pc-bios/opensbi-riscv64-generic-fw_dynamic.elf | Bin 0 -> 620424 bytes > pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin | Bin 57936 -> 0 bytes > pc-bios/opensbi-riscv64-virt-fw_jump.bin | Bin 57920 -> 0 bytes > roms/Makefile | 32 > ++++++++----------------- > roms/opensbi | 2 +- > 16 files changed, 35 insertions(+), 49 deletions(-) > create mode 100644 pc-bios/opensbi-riscv32-generic-fw_dynamic.bin > create mode 100644 pc-bios/opensbi-riscv32-generic-fw_dynamic.elf > delete mode 100644 pc-bios/opensbi-riscv32-sifive_u-fw_jump.bin > delete mode 100644 pc-bios/opensbi-riscv32-virt-fw_jump.bin > create mode 100644 pc-bios/opensbi-riscv64-generic-fw_dynamic.bin > create mode 100644 pc-bios/opensbi-riscv64-generic-fw_dynamic.elf > delete mode 100644 pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin > delete mode 100644 pc-bios/opensbi-riscv64-virt-fw_jump.bin > > -- > 2.7.4 > >