[PATCH] board_r: Relocate OF_EMBED if NEEDS_MANUAL_RELOC only

Simon Glass sjg at chromium.org
Wed Mar 15 20:42:57 CET 2023


Hi Ajay,

On Wed, 15 Mar 2023 at 13:24, Ajay Kaher <akaher at vmware.com> wrote:
>
> > On Fri, Sep 09, 2022 at 09:16:18PM +0100,  Pierre-Clément Tosi  wrote:
> >
> >> When the embedded device tree is pointed to by the __dtb_dt_*begin
> >> symbols, it seems to be covered by the early relocation code and doesn't
> >> need to be manually patched.
> >>
> >> Cc: Simon Glass <sjg at chromium.org>
> >> Signed-off-by: Pierre-Clément Tosi <ptosi at google.com>
> >
> > Applied to u-boot/master, thanks!
>
> Getting following error on Rpi3 board and fail to boot with u-boot upstream
> commit 76f921eb95d5b814f973a263187db509d6f03903:
>
> ERROR: invalid device tree
> EFI LOAD FAILED: continuing...
>
> As per bdinfo:
> fdt_blob    = 0x00000000000f4b00
>
> Would like to understand the reasoning of this upstream commit
> 76f921eb95d5b814f973a263187db509d6f03903 and looking for proper fix for Rpi3.
>
> -Ajay

Did you bisect to that patch?

The proper fix would be to get away from OF_EMBED which is not allowed
in production boards. Can you post the full console log so I can see
what happens before the error?

The commit does not look correct to me. This is nothing to do with the
horrible NEEDS_MANUAL_RELOC which is only needed on m68k I think now.
It is because we have moved the executable containing the DT. The DT
in the old position may be overwritten by loading something.

Regards,
Simon


More information about the U-Boot mailing list