]> git.dujemihanovic.xyz Git - u-boot.git/commit
mx6sabresd: Fix U-Boot corruption after saving the environment
authorFabio Estevam <festevam@denx.de>
Fri, 2 Feb 2024 16:04:03 +0000 (13:04 -0300)
committerFabio Estevam <festevam@denx.de>
Thu, 8 Feb 2024 12:18:32 +0000 (09:18 -0300)
commit41fdfae064f9c5934af83f5c76a95d1e0c910d76
treef29a3a26815427cfc564982e78c483fd4089c710
parent006538670d830bd155d2ad32df6c6e472c66d93c
mx6sabresd: Fix U-Boot corruption after saving the environment

U-Boot binary has grown in such a way that it goes beyond the reserved
area for the environment variables.

Running "saveenv" and rebooting the board causes U-Boot to hang because
of this overlap.

Fix this problem by selecting CONFIG_LTO so that the U-Boot proper
size can be reduced.

Also, to prevent this same problem to happen in the future, use
CONFIG_BOARD_SIZE_LIMIT, which can detect the overlap in build-time.

CONFIG_BOARD_SIZE_LIMIT is calculated as follows:

CONFIG_BOARD_SIZE_LIMIT = CONFIG_ENV_OFFSET - u-boot-img.dtb offset
CONFIG_BOARD_SIZE_LIMIT = 0xc000 - 69 * 1024
CONFIG_BOARD_SIZE_LIMIT = 715766

Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@foundries.io>
configs/mx6sabresd_defconfig