Message ID | 20200418193228.44209-6-atish.patra@wdc.com |
---|---|
State | Superseded |
Headers | show |
Series | RISC-V DT related fixes for reserved memory & UEFI | expand |
On Sun, Apr 19, 2020 at 3:32 AM Atish Patra <atish.patra at wdc.com> wrote: > > The DT used by U-Boot may be different from the DT being passed to > the OS if the DT is loaded from external media such as network or > mmc. In that case, the reserved-memory node needs to be copied to > the DT passed to the OS. > > Signed-off-by: Atish Patra <atish.patra at wdc.com> > Reviewed-by: Bin Meng <bmeng.cn at gmail.com> > --- > arch/riscv/lib/bootm.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > Tested-by: Bin Meng <bmeng.cn at gmail.com>
diff --git a/arch/riscv/lib/bootm.c b/arch/riscv/lib/bootm.c index 87cadad5016d..8ff8db6bf533 100644 --- a/arch/riscv/lib/bootm.c +++ b/arch/riscv/lib/bootm.c @@ -28,8 +28,8 @@ __weak void board_quiesce_devices(void) int arch_fixup_fdt(void *blob) { -#ifdef CONFIG_EFI_LOADER int err; +#ifdef CONFIG_EFI_LOADER u32 size; int chosen_offset; @@ -50,6 +50,12 @@ int arch_fixup_fdt(void *blob) /* Overwrite the boot-hartid as U-Boot is the last stage BL */ fdt_setprop_u32(blob, chosen_offset, "boot-hartid", gd->arch.boot_hart); #endif + + /* Copy the reserved-memory node to the DT used by OS */ + err = riscv_fdt_copy_resv_mem_node(gd->fdt_blob, blob); + if (err < 0) + return err; + return 0; }