diff options
author | Fabio Estevam <festevam@denx.de> | 2023-06-30 23:30:53 -0300 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2023-07-03 10:20:13 -0400 |
commit | 1b8a1be1a1f143ce6294e2dcd5244d995cdba8cf (patch) | |
tree | 5f214ce4d0d35db9fbc8090327da36a23fc35385 | |
parent | 1758b64f6df259542c6f662d18e3f13f79597585 (diff) | |
download | u-boot-WIP/03Jul2023.zip u-boot-WIP/03Jul2023.tar.gz u-boot-WIP/03Jul2023.tar.bz2 |
spl: spl_legacy: Fix spl_end addressWIP/03Jul2023
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 <francesco.dolcini@toradex.com>
Signed-off-by: Fabio Estevam <festevam@denx.de>
Tested-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Tested-by: Marek Vasut <marex@denx.de> # DH i.MX6Q DHCOM PDK2
-rw-r--r-- | common/spl/spl_legacy.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/common/spl/spl_legacy.c b/common/spl/spl_legacy.c index d34bc54..095443c 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) || |