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

Bin Meng bmeng.cn at gmail.com
Mon Jun 1 11:05:32 CEST 2020


Hi Rick,

On Mon, Jun 1, 2020 at 3:40 PM Rick Chen <rickchen36 at gmail.com> wrote:
>
> 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.
>

What number did you enlarge this fdt size to?

Regards,
Bin


More information about the U-Boot mailing list