On Mon, 6 Apr 2020 at 22:45, Atish Patra <[email protected]> wrote: > > This series adds few DT related fixes required for Linux EFI stub to work > on RISC-V. >
I'm not sure how this is supposed to work, since DT reserved memory regions are not used by EFI. If you want to reserve memory on a UEFI system, you have to reserve it in the UEFI memory map from firmware. The DT reserved-memory node is taken into account too late, the /memreserve/ entries are ignored entirely. > Patch 1 adds the boot hartid property under /chosen node. The related > discussion can be found here. > > https://patchwork.ozlabs.org/patch/1233664/ > https://lists.denx.de/pipermail/u-boot/2020-March/402085.html > > Patch 2 fixes a generic issue in fdtdec related to reserved memory node. > > Patch 3,4,5 provide one of the option to update reserved-memory node for next > stage. It depends on master OpenSBI branch. > > The other options are SBI extension and trap/emulate on PMP csr access. > The detaild discussion can be found here. > https://github.com/riscv/riscv-sbi-doc/pull/37 > > Patch 1 & 2 can be applied independently from 3 and 4. I want to keep all > the patches together to provide a holistic view of changes required for > RISC-V UEFI. > > Changes v4->v5: > 1. Added comments for new functions. > > Changes v3->v4: > 1. Dropped generic efi fix patch as it is already merged. > 2. Moved all the fdt fixups to a common file. > 3. Addressed few nit comments. > > Changes from v2->v3: > 1. Update the DT meant for OS if it is different from the one used by U-Boot > 2. Use different FDT api to obtain "reg" address & size to honor the cell > count. > > Changes from v1->v2: > 1. Fix the issue if chosen node is not present. > > Changes from previous version: > 1. Renamed the DT node property to "boot-hartid" from "efi-boot-hartid". > 2. Changed the property type to u32 instead of u64 for RV32 compatibility. > > Atish Patra (6): > riscv: Add boot hartid to Device tree > fdtdec: Fix boundary check > riscv: Provide a mechanism to fix DT for reserved memory > riscv: Setup reserved-memory node for FU540 > riscv: Copy the reserved-memory nodes to final DT > riscv: Move all fdt fixups together > > arch/riscv/cpu/start.S | 1 + > arch/riscv/include/asm/global_data.h | 1 + > arch/riscv/include/asm/u-boot-riscv.h | 2 + > arch/riscv/lib/Makefile | 1 + > arch/riscv/lib/asm-offsets.c | 1 + > arch/riscv/lib/bootm.c | 5 - > arch/riscv/lib/fdt_fixup.c | 150 ++++++++++++++++++++++++++ > configs/sifive_fu540_defconfig | 1 + > lib/fdtdec.c | 3 +- > 9 files changed, 159 insertions(+), 6 deletions(-) > create mode 100644 arch/riscv/lib/fdt_fixup.c > > -- > 2.25.1 >

