]> git.dujemihanovic.xyz Git - u-boot.git/commit
configs: stm32mp1: Fix misleading SPL size limitations
authorAlexandru Gagniuc <mr.nuke.me@gmail.com>
Mon, 22 Mar 2021 13:20:01 +0000 (08:20 -0500)
committerPatrice Chotard <patrice.chotard@foss.st.com>
Fri, 9 Apr 2021 09:59:13 +0000 (11:59 +0200)
commita08d1a916b9b86889c8ff54d85bc3fb8989fd91c
treec47bb3f338cae1cd2be24ade5cf475b6c0b96b0f
parentbbe10c70a2f4f055410c857c5a54625bf53ce70c
configs: stm32mp1: Fix misleading SPL size limitations

A now removed comment promises to "limit SYSRAM usage to first 128 KB".
This would imply that only SYSRAM from 0x2ffc0000 - 0x2ffe0000 would be
used. This is not what happens at all.

First, SPL_MAX_SIZE is referenced from SPL_TEXT_BASE, which on all
existing configs is set to 0x2ffc2500, not SYSRAM_BASE (0x2ffc0000).
Some of it is in the first 128 KiB and some of it is in the second
128 KiB chunk of SYSRAM.

Second, SPL_MAX_SIZE, does not restrict the BSS size. While a valiant
attempt is made via SPL_BSS_MAX_SIZE, the value of 0x00100000 is much
larger than SYSRAM, and doesn't account for the non-BSS sections.

Because we're putting the .text and .bss in the same boat, the correct
way to limit them together is via SPL_MAX_FOOTPRINT. With the current
SPL_TEXT_BASE, we couldn't limit even a very basic SPL to the first
128 KiB, and there is no technical reason to do so. Because of this,
simply allow the SPL to use all SYSRAM.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
include/configs/stm32mp1.h