From: Fabio Estevam Date: Sat, 1 Jul 2023 02:30:53 +0000 (-0300) Subject: spl: spl_legacy: Fix spl_end address X-Git-Url: http://git.dujemihanovic.xyz/img/%7B%7B%20%24image.RelPermalink%20%7D%7D?a=commitdiff_plain;h=1b8a1be1a1f143ce6294e2dcd5244d995cdba8cf;p=u-boot.git spl: spl_legacy: Fix spl_end address Currently, spl_end points to the __bss_end address, which is an external RAM address instead of the end of the SPL text section in the internal RAM. This causes boot failures on imx6-colibri, for example: ``` Trying to boot from MMC1 SPL: Image overlaps SPL resetting ... ``` Fix this problem by assigning spl_end to _image_binary_end, as this symbol properly represents the end of the SPL text section. From u-boot-spl.map: .end *(.__end) 0x00000000009121a4 _image_binary_end = . Fixes: 77aed22b48ab ("spl: spl_legacy: Add extra address checks") Reported-by: Francesco Dolcini Signed-off-by: Fabio Estevam Tested-by: Tom Rini Reviewed-by: Marek Vasut Tested-by: Marek Vasut # DH i.MX6Q DHCOM PDK2 --- diff --git a/common/spl/spl_legacy.c b/common/spl/spl_legacy.c index d34bc5492e..095443c63d 100644 --- a/common/spl/spl_legacy.c +++ b/common/spl/spl_legacy.c @@ -19,7 +19,7 @@ static void spl_parse_legacy_validate(uintptr_t start, uintptr_t size) { uintptr_t spl_start = (uintptr_t)_start; - uintptr_t spl_end = (uintptr_t)__bss_end; + uintptr_t spl_end = (uintptr_t)_image_binary_end; uintptr_t end = start + size; if ((start >= spl_start && start < spl_end) ||