
15 Jul
2023
15 Jul
'23
5:03 p.m.
On Tue, Jun 20, 2023 at 07:50:48PM +0900, Kunihiko Hayashi wrote:
In case of OF_SEPARATE (!OF_EMBED), the devicetree blob is placed after _end, and fdt_find_separate() always returns _end. There is a .bss section after _end and the section is cleared before relocation.
When GD_FLG_SKIP_RELOC is set, relocation is skipped, so the blob is still in .bss section, but will be cleared. As a result, the devicetree become invalid.
To avoid this issue, should relocate it regardless of GD_FLG_SKIP_RELOC in reloc_fdt().
Signed-off-by: Kunihiko Hayashi hayashi.kunihiko@socionext.com Reviewed-by: Simon Glass sjg@chromium.org
Applied to u-boot/master, thanks!
--
Tom