[PATCH v5 0/6] RISC-V DT related fixes for reserved memory & UEFI

Heinrich Schuchardt xypron.glpk at gmx.de
Tue Apr 7 08:41:01 CEST 2020


On 4/6/20 11:01 PM, Ard Biesheuvel wrote:
> On Mon, 6 Apr 2020 at 22:45, Atish Patra <atish.patra at wdc.com> 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.

Hello Ard,

thanks for reviewing.

What do you mean by "The DT reserved-memory node is taken into account
too late"?

Cf. commit 7be64b885a36 ("cmd: bootefi: Parse reserved-memory node from DT")

Best regards

Heinrich

>
>
>> 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
>>



More information about the U-Boot mailing list