From: Fabio Estevam Date: Fri, 2 Feb 2024 16:04:03 +0000 (-0300) Subject: mx6sabresd: Fix U-Boot corruption after saving the environment X-Git-Url: http://git.dujemihanovic.xyz/html/static/%7B%7B%20%24.Site.BaseURL%20%7D%7Dposts/index.xml?a=commitdiff_plain;h=41fdfae064f9c5934af83f5c76a95d1e0c910d76;p=u-boot.git 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 Reviewed-by: Tom Rini Reviewed-by: Igor Opaniuk --- diff --git a/configs/mx6sabresd_defconfig b/configs/mx6sabresd_defconfig index a90efe4a77..d4fb55622c 100644 --- a/configs/mx6sabresd_defconfig +++ b/configs/mx6sabresd_defconfig @@ -21,6 +21,9 @@ CONFIG_SPL_SERIAL=y CONFIG_SPL=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_PCI=y +CONFIG_LTO=y +CONFIG_HAS_BOARD_SIZE_LIMIT=y +CONFIG_BOARD_SIZE_LIMIT=715766 CONFIG_FIT=y CONFIG_SPL_FIT_PRINT=y CONFIG_SPL_LOAD_FIT=y