[PATCH 2/2] riscv: Enable CONFIG_OF_BOARD_FIXUP by default

Rick Chen rickchen36 at gmail.com
Mon Jun 1 09:40:01 CEST 2020


Hi Bin

> Hi Rick,
>
> On Thu, May 28, 2020 at 4:24 PM Bin Meng <bmeng.cn at gmail.com> wrote:
> >
> > Hi Rick,
> >
> > On Thu, May 28, 2020 at 4:17 PM Rick Chen <rickchen36 at gmail.com> wrote:
> > >
> > > Hi Bin
> > >
> > > > From: Bin Meng [mailto:bmeng.cn at gmail.com]
> > > > Sent: Wednesday, May 20, 2020 3:40 PM
> > > > To: Rick Jian-Zhi Chen(陳建志); U-Boot Mailing List
> > > > Cc: Bin Meng
> > > > Subject: [PATCH 2/2] riscv: Enable CONFIG_OF_BOARD_FIXUP by default
> > > >
> > > > From: Bin Meng <bin.meng at windriver.com>
> > > >
> > > > Starting from OpenSBI v0.7, the SBI firmware inserts/fixes up the reserved memory node for PMP protected memory regions. All RISC-V boards needs to copy the reserved memory node from the device tree provided by the firmware to the device tree used by U-Boot.
> > > >
> > > > Turn on CONFIG_OF_BOARD_FIXUP by default.
> > > >
> > > > Signed-off-by: Bin Meng <bin.meng at windriver.com>
> > > > ---
> > > >
> > > >  arch/riscv/Kconfig             | 3 +++
> > > >  configs/sifive_fu540_defconfig | 1 -
> > > >  2 files changed, 3 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index fb5fe5a..5176b35 100644
> > > > --- a/arch/riscv/Kconfig
> > > > +++ b/arch/riscv/Kconfig
> > > > @@ -272,4 +272,7 @@ config STACK_SIZE_SHIFT
> > > >         int
> > > >         default 14
> > > >
> > > > +config OF_BOARD_FIXUP
> > > > +       default y
> > >
> > > I think it shall invoke by individual board, just like the description
> > > of riscv_fdt_copy_resv_mem_node function.
> >
> > I believe we should turn on this feature by default for every RISC-V
> > board, because SBI firmware used memory must be marked as reserved
> > otherwise OS might use it and get crashed. For boards which don't want
> > to enable this, they can unset the option in their board defconfig
> > files. This is to reduce some maintenance effort.
> >
> > >
> > > In [PATCH 1/2] if source and destination are the same place, it represent that
> > > OF_BOARD_FIXUP is unnecessary.
> > >
> > > BTW when I try OF_SEPARATE and OF_BOARD_FIXUP both are enabled, it hit
> > > the problem as below:
> > >
> > > U-Boot SPL 2020.07-rc3-16981-g4332225-dirty (May 28 2020 - 14:48:18 +0800)
> > > Trying to boot from RAM
> > >
> > >
> > > U-Boot 2020.07-rc3-16981-g4332225-dirty (May 28 2020 - 14:48:18 +0800)
> > >
> > > DRAM:  1 GiB
> > > failed to add reserved memory: -3
> >
> > -3 means FDT_ERR_NOSPACE.
> >
> > The FDT does not have enough space to add reserved memory node. Could
> > you please check your FDT blob?
> >
> > > failed to fixup DT for reserved memory: -3
> > > initcall sequence 0000000001253c20 failed at call 000000000120b8e0 (err=-3)
> > > ### ERROR ### Please RESET the board ###
> > >
> > > I will dig in and figure out what is going on here ?
> > > Maybe there exist a potential issue somehow!
>
> Could you please try this patch?
> http://patchwork.ozlabs.org/project/uboot/patch/1590655604-13704-2-git-send-email-bmeng.cn@gmail.com/

I try this patch, it still fail.
But after increase 32 more larger, it can pass.

Thanks,
Rick

>
> Regards,
> Bin


More information about the U-Boot mailing list