* [RFC PATCH v1 0/3] Simplify image size checks
@ 2025-07-31 11:40 Philip Oberfichtner
2025-07-31 11:40 ` [RFC PATCH v1 1/3] Image size checks: Simplify Makefile rules Philip Oberfichtner
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Philip Oberfichtner @ 2025-07-31 11:40 UTC (permalink / raw)
To: u-boot
Cc: Philip Oberfichtner, Andre Przywara, Anshul Dalal, Dario Binacchi,
Gary Bisson, Greg Malysa, Heinrich Schuchardt, Ilias Apalodimas,
Jerome Forissier, Marek Vasut, Nathan Barrett-Morrison,
Oliver Gaskell, Paul Barker, Paul Kocialkowski, Peng Fan,
Quentin Schulz, Simon Glass, Tom Rini, Trevor Woerner, Ye Li
This patch series intends to simplify the image size checks, which currently
exists in multiple flavours:
CONFIG_HAS_BOARD_SIZE_LIMIT
CONFIG_BOARD_SIZE_LIMIT
CONFIG_SPL_SIZE_LIMIT
CONFIG_SPL_SIZE_LIMIT_SUBTRACT_GD
CONFIG_SPL_SIZE_LIMIT_SUBTRACT_MALLOC
CONFIG_SPL_SIZE_LIMIT_PROVIDE_STACK
CONFIG_TPL_SIZE_LIMIT
CONFIG_VPL_SIZE_LIMIT
After this series, we would have
- Less code duplication in the toplevel Makefile (commit 1)
- Consistent logic for all the different CONFIGS (commit 2)
- All related options in one place (commit 3)
Please note that I have also posted commit 1 as part of the onion board support
series:
https://patchwork.ozlabs.org/project/uboot/patch/20250730123833.249923-2-pro@denx.de/
If this proposal finds some consent in the community, I think we might still
want to improve the Kconfig help texts. Also in commit 2 I just dropped the
"depends on !COMPILE_TEST" statement. Not sure how to translate that into the
new logic.
Philip Oberfichtner (3):
Image size checks: Simplify Makefile rules
Image size checks: Remove HAS_BOARD_SIZE_LIMIT
Image size checks: Move all configs in one place
Kconfig | 67 ++++++++++++++++---
Makefile | 44 +++---------
cmd/Kconfig | 2 +-
common/spl/Kconfig | 38 -----------
common/spl/Kconfig.tpl | 7 --
common/spl/Kconfig.vpl | 7 --
configs/bk4r1_defconfig | 1 -
configs/chromebook_link_defconfig | 1 -
configs/colibri_vf_defconfig | 1 -
configs/ea-lpc3250devkitv2_defconfig | 1 -
.../gardena-smart-gateway-mt7688_defconfig | 1 -
configs/guruplug_defconfig | 1 -
configs/imx28_btt3_defconfig | 1 -
configs/imx28_xea_defconfig | 1 -
configs/legoev3_defconfig | 1 -
configs/linkit-smart-7688_defconfig | 1 -
configs/lschlv2_defconfig | 1 -
configs/lsxhl_defconfig | 1 -
configs/lxr2_defconfig | 1 -
configs/mx51evk_defconfig | 1 -
configs/mx53loco_defconfig | 1 -
configs/mx6sabresd_defconfig | 1 -
configs/mx7ulp_com_defconfig | 1 -
configs/openrd_base_defconfig | 1 -
configs/openrd_client_defconfig | 1 -
configs/openrd_ultimate_defconfig | 1 -
configs/pcm052_defconfig | 1 -
configs/pico-dwarf-imx6ul_defconfig | 1 -
configs/pico-dwarf-imx7d_defconfig | 1 -
configs/pico-hobbit-imx6ul_defconfig | 1 -
configs/pico-hobbit-imx7d_defconfig | 1 -
configs/pico-imx6_defconfig | 1 -
configs/pico-imx6ul_defconfig | 1 -
configs/pico-imx7d_bl33_defconfig | 1 -
configs/pico-imx7d_defconfig | 1 -
configs/pico-nymph-imx7d_defconfig | 1 -
configs/pico-pi-imx6ul_defconfig | 1 -
configs/pico-pi-imx7d_defconfig | 1 -
configs/sheevaplug_defconfig | 1 -
configs/stm32mp15_dhsom.config | 1 -
configs/tbs2910_defconfig | 1 -
configs/turris_1x_nor_defconfig | 1 -
configs/turris_1x_sdcard_defconfig | 1 -
configs/turris_omnia_defconfig | 1 -
configs/udoo_neo_defconfig | 1 -
configs/vf610twr_defconfig | 1 -
configs/vf610twr_nand_defconfig | 1 -
configs/warp7_bl33_defconfig | 1 -
configs/warp7_defconfig | 1 -
lib/efi_loader/Kconfig | 6 +-
tools/spl_size_limit.c | 2 +-
51 files changed, 74 insertions(+), 142 deletions(-)
--
2.39.5
^ permalink raw reply [flat|nested] 7+ messages in thread
* [RFC PATCH v1 1/3] Image size checks: Simplify Makefile rules
2025-07-31 11:40 [RFC PATCH v1 0/3] Simplify image size checks Philip Oberfichtner
@ 2025-07-31 11:40 ` Philip Oberfichtner
2025-07-31 11:40 ` [RFC PATCH v1 2/3] Image size checks: Remove HAS_BOARD_SIZE_LIMIT Philip Oberfichtner
2025-07-31 11:40 ` [RFC PATCH v1 3/3] Image size checks: Move all configs in one place Philip Oberfichtner
2 siblings, 0 replies; 7+ messages in thread
From: Philip Oberfichtner @ 2025-07-31 11:40 UTC (permalink / raw)
To: u-boot
Cc: Philip Oberfichtner, Andre Przywara, Anshul Dalal, Dario Binacchi,
Gary Bisson, Greg Malysa, Heinrich Schuchardt, Ilias Apalodimas,
Jerome Forissier, Marek Vasut, Nathan Barrett-Morrison,
Oliver Gaskell, Paul Barker, Paul Kocialkowski, Peng Fan,
Quentin Schulz, Simon Glass, Tom Rini, Trevor Woerner, Ye Li
Deduplicate some of the size check code within the toplevel Makefile.
No functional changes.
Signed-off-by: Philip Oberfichtner <pro@denx.de>
---
Makefile | 44 ++++++++++--------------------------------
tools/spl_size_limit.c | 2 +-
2 files changed, 11 insertions(+), 35 deletions(-)
diff --git a/Makefile b/Makefile
index c31bf7ecea9..aefa44c327f 100644
--- a/Makefile
+++ b/Makefile
@@ -432,7 +432,7 @@ KBUILD_HOSTLDLIBS := $(HOST_LFS_LIBS) $(HOSTLDLIBS)
define size_check
actual=$$( wc -c $1 | awk '{print $$1}'); \
limit=$$( printf "%d" $2 ); \
- if test $$actual -gt $$limit; then \
+ if test $$limit -gt 0 && test $$actual -gt $$limit; then \
echo "$1 exceeds file size limit:" >&2; \
echo " limit: $$(printf %#x $$limit) bytes" >&2; \
echo " actual: $$(printf %#x $$actual) bytes" >&2; \
@@ -1103,30 +1103,6 @@ LDPPFLAGS += \
#########################################################################
#########################################################################
-ifneq ($(CONFIG_BOARD_SIZE_LIMIT),)
-BOARD_SIZE_CHECK= @ $(call size_check,$@,$(CONFIG_BOARD_SIZE_LIMIT))
-else
-BOARD_SIZE_CHECK =
-endif
-
-ifneq ($(CONFIG_SPL_SIZE_LIMIT),0x0)
-SPL_SIZE_CHECK = @$(call size_check,$@,$$(tools/spl_size_limit))
-else
-SPL_SIZE_CHECK =
-endif
-
-ifneq ($(CONFIG_TPL_SIZE_LIMIT),0x0)
-TPL_SIZE_CHECK = @$(call size_check,$@,$(CONFIG_TPL_SIZE_LIMIT))
-else
-TPL_SIZE_CHECK =
-endif
-
-ifneq ($(CONFIG_VPL_SIZE_LIMIT),0x0)
-VPL_SIZE_CHECK = @$(call size_check,$@,$(CONFIG_VPL_SIZE_LIMIT))
-else
-VPL_SIZE_CHECK =
-endif
-
# Statically apply RELA-style relocations (currently arm64 only)
# This is useful for arm64 where static relocation needs to be performed on
# the raw binary, but certain simulators only accept an ELF file (but don't
@@ -1470,7 +1446,7 @@ endif
%.imx: $(IMX_DEPS) %.bin
$(Q)$(MAKE) $(build)=arch/arm/mach-imx $@
- $(BOARD_SIZE_CHECK)
+ @ $(call size_check,$@,$(CONFIG_BOARD_SIZE_LIMIT))
%.vyb: %.imx
$(Q)$(MAKE) $(build)=arch/arm/cpu/armv7/vf610 $@
@@ -1571,12 +1547,12 @@ endif
u-boot-nodtb.bin: u-boot FORCE
$(call if_changed,objcopy_uboot)
- $(BOARD_SIZE_CHECK)
+ @ $(call size_check,$@,$(CONFIG_BOARD_SIZE_LIMIT))
u-boot.ldr: u-boot
$(CREATE_LDR_ENV)
$(LDR) -T $(CONFIG_LDR_CPU) -c $@ $< $(LDR_FLAGS)
- $(BOARD_SIZE_CHECK)
+ @ $(call size_check,$@,$(CONFIG_BOARD_SIZE_LIMIT))
# binman
# ---------------------------------------------------------------------------
@@ -1703,7 +1679,7 @@ u-boot-dtb.img u-boot.img u-boot.kwb u-boot.pbl u-boot-ivt.img: \
$(if $(CONFIG_OF_SEPARATE)$(CONFIG_OF_EMBED)$(CONFIG_SANDBOX),dts/dt.dtb) \
,$(UBOOT_BIN)) FORCE
$(call if_changed,mkimage)
- $(BOARD_SIZE_CHECK)
+ @ $(call size_check,$@,$(CONFIG_BOARD_SIZE_LIMIT))
ifeq ($(CONFIG_SPL_LOAD_FIT_FULL),y)
MKIMAGEFLAGS_u-boot.itb =
@@ -1718,12 +1694,12 @@ u-boot.itb: u-boot-nodtb.bin \
$(if $(CONFIG_MULTI_DTB_FIT),$(FINAL_DTB_CONTAINER)) \
$(U_BOOT_ITS) FORCE
$(call if_changed,mkfitimage)
- $(BOARD_SIZE_CHECK)
+ @ $(call size_check,$@,$(CONFIG_BOARD_SIZE_LIMIT))
endif
u-boot-with-spl.kwb: u-boot.bin spl/u-boot-spl.bin FORCE
$(call if_changed,mkimage)
- $(BOARD_SIZE_CHECK)
+ @ $(call size_check,$@,$(CONFIG_BOARD_SIZE_LIMIT))
u-boot.dis: u-boot
$(OBJDUMP) -d $< > $@
@@ -2342,7 +2318,7 @@ u-boot.lds: $(LDSCRIPT) prepare FORCE
spl/u-boot-spl.bin: spl/u-boot-spl
@:
- $(SPL_SIZE_CHECK)
+ @$(call size_check,$@,$$(tools/spl_size_limit))
spl/u-boot-spl-dtb.bin: spl/u-boot-spl
@:
@@ -2367,14 +2343,14 @@ spl/boot.bin: spl/u-boot-spl
tpl/u-boot-tpl.bin: tpl/u-boot-tpl
@:
- $(TPL_SIZE_CHECK)
+ @$(call size_check,$@,$(CONFIG_TPL_SIZE_LIMIT))
tpl/u-boot-tpl: tools prepare $(if $(CONFIG_TPL_OF_CONTROL),dts/dt.dtb)
$(Q)$(MAKE) obj=tpl -f $(srctree)/scripts/Makefile.xpl all
vpl/u-boot-vpl.bin: vpl/u-boot-vpl
@:
- $(VPL_SIZE_CHECK)
+ @$(call size_check,$@,$(CONFIG_VPL_SIZE_LIMIT))
vpl/u-boot-vpl: tools prepare $(if $(CONFIG_TPL_OF_CONTROL),dts/dt.dtb)
$(Q)$(MAKE) obj=vpl -f $(srctree)/scripts/Makefile.xpl all
diff --git a/tools/spl_size_limit.c b/tools/spl_size_limit.c
index c6c139e834f..137f0fca898 100644
--- a/tools/spl_size_limit.c
+++ b/tools/spl_size_limit.c
@@ -28,6 +28,6 @@ int main(int argc, char *argv[])
#endif
#endif
- printf("%d", spl_size_limit);
+ printf("%d", spl_size_limit > 0 ? spl_size_limit : 0);
return 0;
}
--
2.39.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [RFC PATCH v1 2/3] Image size checks: Remove HAS_BOARD_SIZE_LIMIT
2025-07-31 11:40 [RFC PATCH v1 0/3] Simplify image size checks Philip Oberfichtner
2025-07-31 11:40 ` [RFC PATCH v1 1/3] Image size checks: Simplify Makefile rules Philip Oberfichtner
@ 2025-07-31 11:40 ` Philip Oberfichtner
2025-07-31 12:09 ` Heinrich Schuchardt
2025-07-31 11:40 ` [RFC PATCH v1 3/3] Image size checks: Move all configs in one place Philip Oberfichtner
2 siblings, 1 reply; 7+ messages in thread
From: Philip Oberfichtner @ 2025-07-31 11:40 UTC (permalink / raw)
To: u-boot
Cc: Philip Oberfichtner, Andre Przywara, Anshul Dalal, Dario Binacchi,
Gary Bisson, Greg Malysa, Heinrich Schuchardt, Ilias Apalodimas,
Jerome Forissier, Marek Vasut, Nathan Barrett-Morrison,
Oliver Gaskell, Paul Barker, Paul Kocialkowski, Peng Fan,
Quentin Schulz, Simon Glass, Tom Rini, Trevor Woerner, Ye Li
CONFIG_HAS_BOARD_SIZE_LIMIT is superfluous, if we interpret the value
"zero" as "unlimited". This is exactly how all the other
CONFIG_XXX_SIZE_LIMIT work.
No functional changes.
Signed-off-by: Philip Oberfichtner <pro@denx.de>
---
Kconfig | 10 +---------
cmd/Kconfig | 2 +-
configs/bk4r1_defconfig | 1 -
configs/chromebook_link_defconfig | 1 -
configs/colibri_vf_defconfig | 1 -
configs/ea-lpc3250devkitv2_defconfig | 1 -
configs/gardena-smart-gateway-mt7688_defconfig | 1 -
configs/guruplug_defconfig | 1 -
configs/imx28_btt3_defconfig | 1 -
configs/imx28_xea_defconfig | 1 -
configs/legoev3_defconfig | 1 -
configs/linkit-smart-7688_defconfig | 1 -
configs/lschlv2_defconfig | 1 -
configs/lsxhl_defconfig | 1 -
configs/lxr2_defconfig | 1 -
configs/mx51evk_defconfig | 1 -
configs/mx53loco_defconfig | 1 -
configs/mx6sabresd_defconfig | 1 -
configs/mx7ulp_com_defconfig | 1 -
configs/openrd_base_defconfig | 1 -
configs/openrd_client_defconfig | 1 -
configs/openrd_ultimate_defconfig | 1 -
configs/pcm052_defconfig | 1 -
configs/pico-dwarf-imx6ul_defconfig | 1 -
configs/pico-dwarf-imx7d_defconfig | 1 -
configs/pico-hobbit-imx6ul_defconfig | 1 -
configs/pico-hobbit-imx7d_defconfig | 1 -
configs/pico-imx6_defconfig | 1 -
configs/pico-imx6ul_defconfig | 1 -
configs/pico-imx7d_bl33_defconfig | 1 -
configs/pico-imx7d_defconfig | 1 -
configs/pico-nymph-imx7d_defconfig | 1 -
configs/pico-pi-imx6ul_defconfig | 1 -
configs/pico-pi-imx7d_defconfig | 1 -
configs/sheevaplug_defconfig | 1 -
configs/stm32mp15_dhsom.config | 1 -
configs/tbs2910_defconfig | 1 -
configs/turris_1x_nor_defconfig | 1 -
configs/turris_1x_sdcard_defconfig | 1 -
configs/turris_omnia_defconfig | 1 -
configs/udoo_neo_defconfig | 1 -
configs/vf610twr_defconfig | 1 -
configs/vf610twr_nand_defconfig | 1 -
configs/warp7_bl33_defconfig | 1 -
configs/warp7_defconfig | 1 -
lib/efi_loader/Kconfig | 6 +++---
46 files changed, 5 insertions(+), 56 deletions(-)
diff --git a/Kconfig b/Kconfig
index c883f115459..d0c0a6a1d53 100644
--- a/Kconfig
+++ b/Kconfig
@@ -535,19 +535,11 @@ config BUILD_TARGET
special image will be automatically built upon calling
make / buildman.
-config HAS_BOARD_SIZE_LIMIT
- bool "Define a maximum size for the U-Boot image"
- depends on !COMPILE_TEST
- default y if RCAR_32 || RCAR_64
- help
- In some cases, we need to enforce a hard limit on how big the U-Boot
- image itself can be.
-
config BOARD_SIZE_LIMIT
int "Maximum size of the U-Boot image in bytes"
+ default 0
default 524288 if RCAR_32
default 1048576 if RCAR_64
- depends on HAS_BOARD_SIZE_LIMIT
help
Maximum size of the U-Boot image. When defined, the build system
checks that the actual size does not exceed it. This does not
diff --git a/cmd/Kconfig b/cmd/Kconfig
index b3b5be1ea79..99d91e9e5a9 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -2331,7 +2331,7 @@ config CMD_EFIDEBUG
config CMD_EFICONFIG
bool "eficonfig - provide menu-driven uefi variables maintenance interface"
- default y if !HAS_BOARD_SIZE_LIMIT
+ default y if BOARD_SIZE_LIMIT = 0
depends on EFI_BOOTMGR
select MENU
help
diff --git a/configs/bk4r1_defconfig b/configs/bk4r1_defconfig
index fd3b6188776..ca63cf71db8 100644
--- a/configs/bk4r1_defconfig
+++ b/configs/bk4r1_defconfig
@@ -18,7 +18,6 @@ CONFIG_TARGET_BK4R1=y
CONFIG_SYS_MEMTEST_START=0x80010000
CONFIG_SYS_MEMTEST_END=0x87c00000
CONFIG_LTO=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=520192
# CONFIG_EFI_LOADER is not set
CONFIG_FIT=y
diff --git a/configs/chromebook_link_defconfig b/configs/chromebook_link_defconfig
index b5b3851a010..9bdeb604292 100644
--- a/configs/chromebook_link_defconfig
+++ b/configs/chromebook_link_defconfig
@@ -15,7 +15,6 @@ CONFIG_DEBUG_UART=y
CONFIG_HAVE_MRC=y
CONFIG_SMP=y
CONFIG_HAVE_VGA_BIOS=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=630000
# CONFIG_EFI_LOADER is not set
CONFIG_FIT=y
diff --git a/configs/colibri_vf_defconfig b/configs/colibri_vf_defconfig
index 1364fe45291..9c3077cc16f 100644
--- a/configs/colibri_vf_defconfig
+++ b/configs/colibri_vf_defconfig
@@ -15,7 +15,6 @@ CONFIG_TARGET_COLIBRI_VF=y
CONFIG_SYS_MEMTEST_START=0x80010000
CONFIG_SYS_MEMTEST_END=0x87c00000
CONFIG_ENV_VARS_UBOOT_CONFIG=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=520192
# CONFIG_EFI_LOADER is not set
CONFIG_BOOTDELAY=1
diff --git a/configs/ea-lpc3250devkitv2_defconfig b/configs/ea-lpc3250devkitv2_defconfig
index c3af7afced1..5a3cdb45f7c 100644
--- a/configs/ea-lpc3250devkitv2_defconfig
+++ b/configs/ea-lpc3250devkitv2_defconfig
@@ -12,7 +12,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80000f20
CONFIG_TARGET_EA_LPC3250DEVKITV2=y
CONFIG_DEFAULT_DEVICE_TREE="lpc3250-ea3250"
CONFIG_SYS_LOAD_ADDR=0x80100000
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=1048575
CONFIG_DISTRO_DEFAULTS=y
# CONFIG_AUTOBOOT is not set
diff --git a/configs/gardena-smart-gateway-mt7688_defconfig b/configs/gardena-smart-gateway-mt7688_defconfig
index 3c2bcc6a3c4..39e3cd04251 100644
--- a/configs/gardena-smart-gateway-mt7688_defconfig
+++ b/configs/gardena-smart-gateway-mt7688_defconfig
@@ -27,7 +27,6 @@ CONFIG_RESTORE_EXCEPTION_VECTOR_BASE=y
# CONFIG_MIPS_BOOT_ENV_LEGACY is not set
CONFIG_MIPS_BOOT_FDT=y
CONFIG_ENV_VARS_UBOOT_CONFIG=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=655360
CONFIG_FIT=y
CONFIG_FIT_SIGNATURE=y
diff --git a/configs/guruplug_defconfig b/configs/guruplug_defconfig
index e046a5ee8b1..a8697113cd3 100644
--- a/configs/guruplug_defconfig
+++ b/configs/guruplug_defconfig
@@ -13,7 +13,6 @@ CONFIG_ENV_OFFSET=0xE0000
CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-guruplug-server-plus"
CONFIG_SYS_LOAD_ADDR=0x800000
CONFIG_IDENT_STRING="\nMarvell-GuruPlug"
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=917504
CONFIG_BOOTDELAY=3
CONFIG_USE_BOOTCOMMAND=y
diff --git a/configs/imx28_btt3_defconfig b/configs/imx28_btt3_defconfig
index 07c805faa2f..0efbea20109 100644
--- a/configs/imx28_btt3_defconfig
+++ b/configs/imx28_btt3_defconfig
@@ -31,7 +31,6 @@ CONFIG_ENV_OFFSET_REDUND=0x90000
CONFIG_SPL_SPI_FLASH_SUPPORT=y
CONFIG_SPL_SPI=y
CONFIG_SPL_PAYLOAD="u-boot.img"
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=458752
CONFIG_TIMESTAMP=y
CONFIG_FIT=y
diff --git a/configs/imx28_xea_defconfig b/configs/imx28_xea_defconfig
index 8715893bbcc..9a54efdb8da 100644
--- a/configs/imx28_xea_defconfig
+++ b/configs/imx28_xea_defconfig
@@ -29,7 +29,6 @@ CONFIG_ENV_OFFSET_REDUND=0x90000
CONFIG_SPL_SPI_FLASH_SUPPORT=y
CONFIG_SPL_SPI=y
CONFIG_SPL_PAYLOAD="u-boot.img"
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=458752
CONFIG_TIMESTAMP=y
CONFIG_FIT=y
diff --git a/configs/legoev3_defconfig b/configs/legoev3_defconfig
index dee19a95d55..571ff928029 100644
--- a/configs/legoev3_defconfig
+++ b/configs/legoev3_defconfig
@@ -14,7 +14,6 @@ CONFIG_ENV_SIZE=0x4000
CONFIG_DEFAULT_DEVICE_TREE="da850-lego-ev3"
CONFIG_SYS_LOAD_ADDR=0xc0700000
CONFIG_LTO=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=262144
CONFIG_DYNAMIC_SYS_CLK_FREQ=y
CONFIG_BOOTDELAY=0
diff --git a/configs/linkit-smart-7688_defconfig b/configs/linkit-smart-7688_defconfig
index 1602ff5b73a..e2f232d549b 100644
--- a/configs/linkit-smart-7688_defconfig
+++ b/configs/linkit-smart-7688_defconfig
@@ -23,7 +23,6 @@ CONFIG_MIPS_CACHE_DISABLE=y
CONFIG_RESTORE_EXCEPTION_VECTOR_BASE=y
# CONFIG_MIPS_BOOT_ENV_LEGACY is not set
CONFIG_MIPS_BOOT_FDT=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=524288
CONFIG_FIT=y
CONFIG_FIT_SIGNATURE=y
diff --git a/configs/lschlv2_defconfig b/configs/lschlv2_defconfig
index 3a53d49ba83..b296feeec1b 100644
--- a/configs/lschlv2_defconfig
+++ b/configs/lschlv2_defconfig
@@ -18,7 +18,6 @@ CONFIG_DM_GPIO=y
CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-lschlv2"
CONFIG_SYS_LOAD_ADDR=0x800000
CONFIG_IDENT_STRING=" LS-CHLv2"
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=393216
# CONFIG_BOOTSTD is not set
CONFIG_DISTRO_DEFAULTS=y
diff --git a/configs/lsxhl_defconfig b/configs/lsxhl_defconfig
index 83a0a6f5415..ff1ce7a79cc 100644
--- a/configs/lsxhl_defconfig
+++ b/configs/lsxhl_defconfig
@@ -19,7 +19,6 @@ CONFIG_DM_GPIO=y
CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-lsxhl"
CONFIG_SYS_LOAD_ADDR=0x800000
CONFIG_IDENT_STRING=" LS-XHL"
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=393216
# CONFIG_BOOTSTD is not set
CONFIG_DISTRO_DEFAULTS=y
diff --git a/configs/lxr2_defconfig b/configs/lxr2_defconfig
index f2afed1c4ba..c9852fb6470 100644
--- a/configs/lxr2_defconfig
+++ b/configs/lxr2_defconfig
@@ -26,7 +26,6 @@ CONFIG_SPL_LIBDISK_SUPPORT=y
CONFIG_SPL_SPI_FLASH_SUPPORT=y
CONFIG_SPL_SPI=y
CONFIG_LTO=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=715766
CONFIG_FIT=y
CONFIG_SPL_FIT_PRINT=y
diff --git a/configs/mx51evk_defconfig b/configs/mx51evk_defconfig
index bcbef81d1d4..14b7e80c86b 100644
--- a/configs/mx51evk_defconfig
+++ b/configs/mx51evk_defconfig
@@ -10,7 +10,6 @@ CONFIG_DM_GPIO=y
CONFIG_DEFAULT_DEVICE_TREE="imx51-babbage"
CONFIG_SYS_LOAD_ADDR=0x92000000
# CONFIG_CMD_BMODE is not set
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=785408
CONFIG_USE_BOOTCOMMAND=y
CONFIG_BOOTCOMMAND="mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else run netboot; fi"
diff --git a/configs/mx53loco_defconfig b/configs/mx53loco_defconfig
index 1f7da84fbea..0413e2ee55a 100644
--- a/configs/mx53loco_defconfig
+++ b/configs/mx53loco_defconfig
@@ -11,7 +11,6 @@ CONFIG_DM_GPIO=y
CONFIG_DEFAULT_DEVICE_TREE="imx53-qsb"
CONFIG_SYS_LOAD_ADDR=0x72000000
# CONFIG_CMD_BMODE is not set
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=785408
CONFIG_SUPPORT_RAW_INITRD=y
CONFIG_USE_BOOTCOMMAND=y
diff --git a/configs/mx6sabresd_defconfig b/configs/mx6sabresd_defconfig
index 75a655a0e0d..9c5105883a0 100644
--- a/configs/mx6sabresd_defconfig
+++ b/configs/mx6sabresd_defconfig
@@ -20,7 +20,6 @@ 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
diff --git a/configs/mx7ulp_com_defconfig b/configs/mx7ulp_com_defconfig
index a49cb2a728f..22ceae1c0ba 100644
--- a/configs/mx7ulp_com_defconfig
+++ b/configs/mx7ulp_com_defconfig
@@ -12,7 +12,6 @@ CONFIG_LDO_ENABLED_MODE=y
CONFIG_TARGET_MX7ULP_COM=y
CONFIG_SYS_BOOTM_LEN=0x1000000
CONFIG_SYS_LOAD_ADDR=0x60800000
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=785408
CONFIG_USE_BOOTCOMMAND=y
CONFIG_BOOTCOMMAND="if run loadimage; then run mmcboot; fi"
diff --git a/configs/openrd_base_defconfig b/configs/openrd_base_defconfig
index cfad5fb037b..6811c9a29da 100644
--- a/configs/openrd_base_defconfig
+++ b/configs/openrd_base_defconfig
@@ -16,7 +16,6 @@ CONFIG_ENV_OFFSET=0x80000
CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-openrd-base"
CONFIG_SYS_LOAD_ADDR=0x800000
CONFIG_IDENT_STRING="\nOpenRD-Base"
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=524288
CONFIG_BOOTSTD_FULL=y
CONFIG_BOOTDELAY=3
diff --git a/configs/openrd_client_defconfig b/configs/openrd_client_defconfig
index e0a393e478c..8b745c8d5e2 100644
--- a/configs/openrd_client_defconfig
+++ b/configs/openrd_client_defconfig
@@ -17,7 +17,6 @@ CONFIG_ENV_OFFSET=0x80000
CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-openrd-client"
CONFIG_SYS_LOAD_ADDR=0x800000
CONFIG_IDENT_STRING="\nOpenRD-Client"
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=524288
CONFIG_BOOTSTD_FULL=y
CONFIG_BOOTDELAY=3
diff --git a/configs/openrd_ultimate_defconfig b/configs/openrd_ultimate_defconfig
index 23415ef12ee..a14fb130ffe 100644
--- a/configs/openrd_ultimate_defconfig
+++ b/configs/openrd_ultimate_defconfig
@@ -17,7 +17,6 @@ CONFIG_ENV_OFFSET=0x80000
CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-openrd-ultimate"
CONFIG_SYS_LOAD_ADDR=0x800000
CONFIG_IDENT_STRING="\nOpenRD-Ultimate"
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=524288
CONFIG_BOOTSTD_FULL=y
CONFIG_BOOTDELAY=3
diff --git a/configs/pcm052_defconfig b/configs/pcm052_defconfig
index 64f5f777e5c..434495bf417 100644
--- a/configs/pcm052_defconfig
+++ b/configs/pcm052_defconfig
@@ -14,7 +14,6 @@ CONFIG_ENV_OFFSET_REDUND=0xC0000
CONFIG_TARGET_PCM052=y
CONFIG_SYS_MEMTEST_START=0x80010000
CONFIG_SYS_MEMTEST_END=0x87c00000
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=520192
# CONFIG_EFI_LOADER is not set
CONFIG_BOOTDELAY=3
diff --git a/configs/pico-dwarf-imx6ul_defconfig b/configs/pico-dwarf-imx6ul_defconfig
index e1f6e6f91f2..296095f0103 100644
--- a/configs/pico-dwarf-imx6ul_defconfig
+++ b/configs/pico-dwarf-imx6ul_defconfig
@@ -19,7 +19,6 @@ CONFIG_SPL=y
CONFIG_SPL_LIBDISK_SUPPORT=y
CONFIG_SYS_MEMTEST_START=0x80000000
CONFIG_SYS_MEMTEST_END=0x88000000
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=715776
CONFIG_DISTRO_DEFAULTS=y
CONFIG_BOOTDELAY=3
diff --git a/configs/pico-dwarf-imx7d_defconfig b/configs/pico-dwarf-imx7d_defconfig
index c1389ac4066..cc9cead2e0e 100644
--- a/configs/pico-dwarf-imx7d_defconfig
+++ b/configs/pico-dwarf-imx7d_defconfig
@@ -19,7 +19,6 @@ CONFIG_SPL=y
CONFIG_ARMV7_BOOT_SEC_DEFAULT=y
CONFIG_IMX_RDC=y
CONFIG_IMX_BOOTAUX=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=715776
CONFIG_DISTRO_DEFAULTS=y
CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
diff --git a/configs/pico-hobbit-imx6ul_defconfig b/configs/pico-hobbit-imx6ul_defconfig
index 137541d373a..6ef97863ce9 100644
--- a/configs/pico-hobbit-imx6ul_defconfig
+++ b/configs/pico-hobbit-imx6ul_defconfig
@@ -19,7 +19,6 @@ CONFIG_SPL=y
CONFIG_SPL_LIBDISK_SUPPORT=y
CONFIG_SYS_MEMTEST_START=0x80000000
CONFIG_SYS_MEMTEST_END=0x88000000
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=715776
CONFIG_DISTRO_DEFAULTS=y
CONFIG_BOOTDELAY=3
diff --git a/configs/pico-hobbit-imx7d_defconfig b/configs/pico-hobbit-imx7d_defconfig
index 72e1a3bccc1..34ad3627193 100644
--- a/configs/pico-hobbit-imx7d_defconfig
+++ b/configs/pico-hobbit-imx7d_defconfig
@@ -19,7 +19,6 @@ CONFIG_SPL=y
CONFIG_ARMV7_BOOT_SEC_DEFAULT=y
CONFIG_IMX_RDC=y
CONFIG_IMX_BOOTAUX=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=715776
CONFIG_DISTRO_DEFAULTS=y
CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
diff --git a/configs/pico-imx6_defconfig b/configs/pico-imx6_defconfig
index 6f46d9bf8a1..139fa6e863c 100644
--- a/configs/pico-imx6_defconfig
+++ b/configs/pico-imx6_defconfig
@@ -16,7 +16,6 @@ CONFIG_SPL_MMC=y
CONFIG_SPL_SERIAL=y
CONFIG_SPL=y
CONFIG_SPL_LIBDISK_SUPPORT=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=715776
CONFIG_FIT=y
CONFIG_SPL_FIT_PRINT=y
diff --git a/configs/pico-imx6ul_defconfig b/configs/pico-imx6ul_defconfig
index 70b79622be1..2f9fa4911fc 100644
--- a/configs/pico-imx6ul_defconfig
+++ b/configs/pico-imx6ul_defconfig
@@ -19,7 +19,6 @@ CONFIG_SPL=y
CONFIG_SPL_LIBDISK_SUPPORT=y
CONFIG_SYS_MEMTEST_START=0x80000000
CONFIG_SYS_MEMTEST_END=0x88000000
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=715776
CONFIG_DISTRO_DEFAULTS=y
CONFIG_BOOTDELAY=3
diff --git a/configs/pico-imx7d_bl33_defconfig b/configs/pico-imx7d_bl33_defconfig
index b5485bf8d0b..ff9b9104f9b 100644
--- a/configs/pico-imx7d_bl33_defconfig
+++ b/configs/pico-imx7d_bl33_defconfig
@@ -19,7 +19,6 @@ CONFIG_SPL=y
CONFIG_ARMV7_BOOT_SEC_DEFAULT=y
CONFIG_SYS_MEMTEST_START=0x80000000
CONFIG_SYS_MEMTEST_END=0xa0000000
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=715776
CONFIG_FIT=y
CONFIG_FIT_SIGNATURE=y
diff --git a/configs/pico-imx7d_defconfig b/configs/pico-imx7d_defconfig
index 4707062053b..a55a293fda5 100644
--- a/configs/pico-imx7d_defconfig
+++ b/configs/pico-imx7d_defconfig
@@ -19,7 +19,6 @@ CONFIG_SPL=y
CONFIG_ARMV7_BOOT_SEC_DEFAULT=y
CONFIG_IMX_RDC=y
CONFIG_IMX_BOOTAUX=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=715776
CONFIG_DISTRO_DEFAULTS=y
CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
diff --git a/configs/pico-nymph-imx7d_defconfig b/configs/pico-nymph-imx7d_defconfig
index c1389ac4066..cc9cead2e0e 100644
--- a/configs/pico-nymph-imx7d_defconfig
+++ b/configs/pico-nymph-imx7d_defconfig
@@ -19,7 +19,6 @@ CONFIG_SPL=y
CONFIG_ARMV7_BOOT_SEC_DEFAULT=y
CONFIG_IMX_RDC=y
CONFIG_IMX_BOOTAUX=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=715776
CONFIG_DISTRO_DEFAULTS=y
CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
diff --git a/configs/pico-pi-imx6ul_defconfig b/configs/pico-pi-imx6ul_defconfig
index 40db7e23797..99abd245db7 100644
--- a/configs/pico-pi-imx6ul_defconfig
+++ b/configs/pico-pi-imx6ul_defconfig
@@ -19,7 +19,6 @@ CONFIG_SPL=y
CONFIG_SPL_LIBDISK_SUPPORT=y
CONFIG_SYS_MEMTEST_START=0x80000000
CONFIG_SYS_MEMTEST_END=0x88000000
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=715776
CONFIG_DISTRO_DEFAULTS=y
CONFIG_BOOTDELAY=3
diff --git a/configs/pico-pi-imx7d_defconfig b/configs/pico-pi-imx7d_defconfig
index 26fccf90db7..1b68ba18463 100644
--- a/configs/pico-pi-imx7d_defconfig
+++ b/configs/pico-pi-imx7d_defconfig
@@ -19,7 +19,6 @@ CONFIG_SPL=y
CONFIG_ARMV7_BOOT_SEC_DEFAULT=y
CONFIG_IMX_RDC=y
CONFIG_IMX_BOOTAUX=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=715776
CONFIG_DISTRO_DEFAULTS=y
CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
diff --git a/configs/sheevaplug_defconfig b/configs/sheevaplug_defconfig
index a7f6c73ecba..a7bd54c37cd 100644
--- a/configs/sheevaplug_defconfig
+++ b/configs/sheevaplug_defconfig
@@ -17,7 +17,6 @@ CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-sheevaplug"
CONFIG_SYS_LOAD_ADDR=0x800000
CONFIG_IDENT_STRING="\nMarvell-Sheevaplug"
CONFIG_LTO=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=524288
CONFIG_BOOTSTD_FULL=y
CONFIG_BOOTDELAY=3
diff --git a/configs/stm32mp15_dhsom.config b/configs/stm32mp15_dhsom.config
index 565b49584e3..52b2215fc6c 100644
--- a/configs/stm32mp15_dhsom.config
+++ b/configs/stm32mp15_dhsom.config
@@ -21,7 +21,6 @@ CONFIG_CONSOLE_MUX=y
CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc0100000
CONFIG_DM_HWSPINLOCK=y
CONFIG_DM_REGULATOR_STM32_VREFBUF=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
CONFIG_HWSPINLOCK_STM32=y
CONFIG_KS8851_MLL=y
diff --git a/configs/tbs2910_defconfig b/configs/tbs2910_defconfig
index 070dce234d6..37532bf2686 100644
--- a/configs/tbs2910_defconfig
+++ b/configs/tbs2910_defconfig
@@ -15,7 +15,6 @@ CONFIG_AHCI=y
CONFIG_SYS_MEMTEST_START=0x10000000
CONFIG_SYS_MEMTEST_END=0x2f400000
CONFIG_LTO=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=392192
# CONFIG_EFI_LOADER is not set
# CONFIG_BOOTSTD is not set
diff --git a/configs/turris_1x_nor_defconfig b/configs/turris_1x_nor_defconfig
index cc7d4a1e0d6..df2b781aa1a 100644
--- a/configs/turris_1x_nor_defconfig
+++ b/configs/turris_1x_nor_defconfig
@@ -21,7 +21,6 @@ CONFIG_PCIE2=y
CONFIG_PCIE3=y
CONFIG_OPTIMIZE_INLINING=y
CONFIG_ENV_VARS_UBOOT_CONFIG=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=786432
CONFIG_MP=y
CONFIG_FIT=y
diff --git a/configs/turris_1x_sdcard_defconfig b/configs/turris_1x_sdcard_defconfig
index ee18cc21443..77bf6f5f065 100644
--- a/configs/turris_1x_sdcard_defconfig
+++ b/configs/turris_1x_sdcard_defconfig
@@ -30,7 +30,6 @@ CONFIG_OF_BOARD_FIXUP=y
CONFIG_PCIE1=y
CONFIG_PCIE2=y
CONFIG_PCIE3=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=1048576
CONFIG_MP=y
CONFIG_FIT=y
diff --git a/configs/turris_omnia_defconfig b/configs/turris_omnia_defconfig
index de39e19ec6d..4461ceeaaf3 100644
--- a/configs/turris_omnia_defconfig
+++ b/configs/turris_omnia_defconfig
@@ -36,7 +36,6 @@ CONFIG_OF_BOARD_FIXUP=y
CONFIG_SYS_MEMTEST_START=0x00800000
CONFIG_SYS_MEMTEST_END=0x00ffffff
CONFIG_LTO=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=983040
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
diff --git a/configs/udoo_neo_defconfig b/configs/udoo_neo_defconfig
index d4fb271e03a..ef5f6b207e6 100644
--- a/configs/udoo_neo_defconfig
+++ b/configs/udoo_neo_defconfig
@@ -19,7 +19,6 @@ CONFIG_SPL=y
CONFIG_SPL_LIBDISK_SUPPORT=y
# CONFIG_CMD_BMODE is not set
CONFIG_LTO=y
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=523264
CONFIG_DISTRO_DEFAULTS=y
CONFIG_BOOTCOMMAND="run findfdt; run distro_bootcmd"
diff --git a/configs/vf610twr_defconfig b/configs/vf610twr_defconfig
index 556190728e1..b16b1522d1a 100644
--- a/configs/vf610twr_defconfig
+++ b/configs/vf610twr_defconfig
@@ -12,7 +12,6 @@ CONFIG_DEFAULT_DEVICE_TREE="vf610-twr"
CONFIG_SYS_LOAD_ADDR=0x82000000
CONFIG_SYS_MEMTEST_START=0x80010000
CONFIG_SYS_MEMTEST_END=0x87c00000
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=520192
CONFIG_BOOTDELAY=3
CONFIG_USE_BOOTCOMMAND=y
diff --git a/configs/vf610twr_nand_defconfig b/configs/vf610twr_nand_defconfig
index 7fe9d822110..31b1468650e 100644
--- a/configs/vf610twr_nand_defconfig
+++ b/configs/vf610twr_nand_defconfig
@@ -12,7 +12,6 @@ CONFIG_DEFAULT_DEVICE_TREE="vf610-twr"
CONFIG_SYS_LOAD_ADDR=0x82000000
CONFIG_SYS_MEMTEST_START=0x80010000
CONFIG_SYS_MEMTEST_END=0x87c00000
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=520192
CONFIG_BOOTDELAY=3
CONFIG_USE_BOOTCOMMAND=y
diff --git a/configs/warp7_bl33_defconfig b/configs/warp7_bl33_defconfig
index 5a94062f5e2..eb047236f87 100644
--- a/configs/warp7_bl33_defconfig
+++ b/configs/warp7_bl33_defconfig
@@ -11,7 +11,6 @@ CONFIG_ARMV7_BOOT_SEC_DEFAULT=y
CONFIG_IMX_HAB=y
CONFIG_SYS_MEMTEST_START=0x80000000
CONFIG_SYS_MEMTEST_END=0xa0000000
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=785408
CONFIG_FIT=y
CONFIG_FIT_SIGNATURE=y
diff --git a/configs/warp7_defconfig b/configs/warp7_defconfig
index 03d68aa9a3f..22f611f4ccd 100644
--- a/configs/warp7_defconfig
+++ b/configs/warp7_defconfig
@@ -14,7 +14,6 @@ CONFIG_IMX_BOOTAUX=y
CONFIG_IMX_HAB=y
CONFIG_SYS_MEMTEST_START=0x80000000
CONFIG_SYS_MEMTEST_END=0xa0000000
-CONFIG_HAS_BOARD_SIZE_LIMIT=y
CONFIG_BOARD_SIZE_LIMIT=785408
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
index c2aa88f59fb..36eed766d31 100644
--- a/lib/efi_loader/Kconfig
+++ b/lib/efi_loader/Kconfig
@@ -74,7 +74,7 @@ config EFI_SIGNATURE_SUPPORT
config EFI_DEBUG_SUPPORT
bool "EFI Debug Support"
- default y if !HAS_BOARD_SIZE_LIMIT
+ default y if BOARD_SIZE_LIMIT = 0
help
Select this option if you want to setup the EFI Debug Support
Table and the EFI_SYSTEM_TABLE_POINTER which is used by the debug
@@ -396,7 +396,7 @@ config EFI_DT_FIXUP
config EFI_LOADER_HII
bool "HII protocols"
- default y if !HAS_BOARD_SIZE_LIMIT
+ default y if BOARD_SIZE_LIMIT = 0
help
The Human Interface Infrastructure is a complicated framework that
allows UEFI applications to draw fancy menus and hook strings using
@@ -416,7 +416,7 @@ if EFI_UNICODE_COLLATION_PROTOCOL2
config EFI_UNICODE_CAPITALIZATION
bool "Support Unicode capitalization"
- default y if !HAS_BOARD_SIZE_LIMIT
+ default y if BOARD_SIZE_LIMIT = 0
help
Select this option to enable correct handling of the capitalization of
Unicode codepoints in the range 0x0000-0xffff. If this option is not
--
2.39.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [RFC PATCH v1 3/3] Image size checks: Move all configs in one place
2025-07-31 11:40 [RFC PATCH v1 0/3] Simplify image size checks Philip Oberfichtner
2025-07-31 11:40 ` [RFC PATCH v1 1/3] Image size checks: Simplify Makefile rules Philip Oberfichtner
2025-07-31 11:40 ` [RFC PATCH v1 2/3] Image size checks: Remove HAS_BOARD_SIZE_LIMIT Philip Oberfichtner
@ 2025-07-31 11:40 ` Philip Oberfichtner
2025-07-31 12:14 ` Heinrich Schuchardt
2 siblings, 1 reply; 7+ messages in thread
From: Philip Oberfichtner @ 2025-07-31 11:40 UTC (permalink / raw)
To: u-boot
Cc: Philip Oberfichtner, Andre Przywara, Anshul Dalal, Dario Binacchi,
Gary Bisson, Greg Malysa, Heinrich Schuchardt, Ilias Apalodimas,
Jerome Forissier, Marek Vasut, Nathan Barrett-Morrison,
Oliver Gaskell, Paul Barker, Paul Kocialkowski, Peng Fan,
Quentin Schulz, Simon Glass, Tom Rini, Trevor Woerner, Ye Li
How image size limiting works in U-Boot should be easier to grasp if we
have all related options in one place.
Signed-off-by: Philip Oberfichtner <pro@denx.de>
---
Kconfig | 59 ++++++++++++++++++++++++++++++++++++++++++
common/spl/Kconfig | 38 ---------------------------
common/spl/Kconfig.tpl | 7 -----
common/spl/Kconfig.vpl | 7 -----
4 files changed, 59 insertions(+), 52 deletions(-)
diff --git a/Kconfig b/Kconfig
index d0c0a6a1d53..6435a4c3bcc 100644
--- a/Kconfig
+++ b/Kconfig
@@ -535,6 +535,8 @@ config BUILD_TARGET
special image will be automatically built upon calling
make / buildman.
+menu "Image size limits"
+
config BOARD_SIZE_LIMIT
int "Maximum size of the U-Boot image in bytes"
default 0
@@ -546,6 +548,63 @@ config BOARD_SIZE_LIMIT
include SPL nor TPL, on platforms that use that functionality, they
have a separate option to restict size.
+config SPL_SIZE_LIMIT
+ depends on SPL
+ hex "Maximum size of SPL image"
+ default 0x11000 if ARCH_MX6 && !MX6_OCRAM_256KB
+ default 0x31000 if ARCH_MX6 && MX6_OCRAM_256KB
+ default 0x30000 if ARCH_MVEBU && ARMADA_32BIT
+ default 0x0
+ help
+ Specifies the maximum length of the U-Boot SPL image.
+ If this value is zero, it is ignored.
+
+config SPL_SIZE_LIMIT_SUBTRACT_GD
+ bool "SPL image size check: provide space for global data"
+ depends on SPL_SIZE_LIMIT > 0
+ help
+ If enabled, aligned size of global data is reserved in
+ SPL_SIZE_LIMIT check to ensure such an image does not overflow SRAM
+ if SPL_SIZE_LIMIT describes the size of SRAM available for SPL when
+ pre-reloc global data is put into this SRAM, too.
+
+config SPL_SIZE_LIMIT_SUBTRACT_MALLOC
+ bool "SPL image size check: provide space for malloc() pool before relocation"
+ depends on SPL_SIZE_LIMIT > 0
+ help
+ If enabled, SPL_SYS_MALLOC_F_LEN is reserved in SPL_SIZE_LIMIT check
+ to ensure such an image does not overflow SRAM if SPL_SIZE_LIMIT
+ describes the size of SRAM available for SPL when pre-reloc malloc
+ pool is put into this SRAM, too.
+
+config SPL_SIZE_LIMIT_PROVIDE_STACK
+ hex "SPL image size check: provide stack space before relocation"
+ depends on SPL_SIZE_LIMIT > 0
+ default 0x0
+ help
+ If set, this size is reserved in SPL_SIZE_LIMIT check to ensure such
+ an image does not overflow SRAM if SPL_SIZE_LIMIT describes the size
+ of SRAM available for SPL when the stack required before reolcation
+ uses this SRAM, too.
+
+config TPL_SIZE_LIMIT
+ depends on TPL
+ hex "Maximum size of TPL image"
+ default 0x0
+ help
+ Specifies the maximum length of the U-Boot TPL image.
+ If this value is zero, it is ignored.
+
+config VPL_SIZE_LIMIT
+ depends on VPL
+ hex "Maximum size of VPL image"
+ default 0x0
+ help
+ Specifies the maximum length of the U-Boot VPL image.
+ If this value is zero, it is ignored.
+
+endmenu
+
config SYS_CUSTOM_LDSCRIPT
bool "Use a custom location for the U-Boot linker script"
depends on !COMPILE_TEST
diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index ab05536bd02..87a56bd8f8a 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -36,44 +36,6 @@ config SPL_FRAMEWORK_BOARD_INIT_F
- initialize the serial (preloader_console_init)
Unless you want to provide your own board_init_f, you should say Y.
-config SPL_SIZE_LIMIT
- hex "Maximum size of SPL image"
- default 0x11000 if ARCH_MX6 && !MX6_OCRAM_256KB
- default 0x31000 if ARCH_MX6 && MX6_OCRAM_256KB
- default 0x30000 if ARCH_MVEBU && ARMADA_32BIT
- default 0x0
- help
- Specifies the maximum length of the U-Boot SPL image.
- If this value is zero, it is ignored.
-
-config SPL_SIZE_LIMIT_SUBTRACT_GD
- bool "SPL image size check: provide space for global data"
- depends on SPL_SIZE_LIMIT > 0
- help
- If enabled, aligned size of global data is reserved in
- SPL_SIZE_LIMIT check to ensure such an image does not overflow SRAM
- if SPL_SIZE_LIMIT describes the size of SRAM available for SPL when
- pre-reloc global data is put into this SRAM, too.
-
-config SPL_SIZE_LIMIT_SUBTRACT_MALLOC
- bool "SPL image size check: provide space for malloc() pool before relocation"
- depends on SPL_SIZE_LIMIT > 0
- help
- If enabled, SPL_SYS_MALLOC_F_LEN is reserved in SPL_SIZE_LIMIT check
- to ensure such an image does not overflow SRAM if SPL_SIZE_LIMIT
- describes the size of SRAM available for SPL when pre-reloc malloc
- pool is put into this SRAM, too.
-
-config SPL_SIZE_LIMIT_PROVIDE_STACK
- hex "SPL image size check: provide stack space before relocation"
- depends on SPL_SIZE_LIMIT > 0
- default 0x0
- help
- If set, this size is reserved in SPL_SIZE_LIMIT check to ensure such
- an image does not overflow SRAM if SPL_SIZE_LIMIT describes the size
- of SRAM available for SPL when the stack required before reolcation
- uses this SRAM, too.
-
config SPL_MAX_SIZE
hex "Maximum size of the SPL image, excluding BSS"
default 0x30000 if ARCH_MX6 && MX6_OCRAM_256KB
diff --git a/common/spl/Kconfig.tpl b/common/spl/Kconfig.tpl
index a535b61ecd3..515bbeec685 100644
--- a/common/spl/Kconfig.tpl
+++ b/common/spl/Kconfig.tpl
@@ -1,13 +1,6 @@
menu "TPL configuration options"
depends on TPL
-config TPL_SIZE_LIMIT
- hex "Maximum size of TPL image"
- default 0x0
- help
- Specifies the maximum length of the U-Boot TPL image.
- If this value is zero, it is ignored.
-
config TPL_BINMAN_SYMBOLS
bool "Support binman symbols in TPL"
depends on TPL_FRAMEWORK && BINMAN
diff --git a/common/spl/Kconfig.vpl b/common/spl/Kconfig.vpl
index 434562443ac..739f2805315 100644
--- a/common/spl/Kconfig.vpl
+++ b/common/spl/Kconfig.vpl
@@ -220,13 +220,6 @@ config VPL_SERIAL
Enable support for serial in VPL. See SPL_SERIAL for
details.
-config VPL_SIZE_LIMIT
- hex "Maximum size of VPL image"
- default 0x0
- help
- Specifies the maximum length of the U-Boot VPL image.
- If this value is zero, it is ignored.
-
config VPL_SPI
bool "Support SPI drivers"
help
--
2.39.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [RFC PATCH v1 2/3] Image size checks: Remove HAS_BOARD_SIZE_LIMIT
2025-07-31 11:40 ` [RFC PATCH v1 2/3] Image size checks: Remove HAS_BOARD_SIZE_LIMIT Philip Oberfichtner
@ 2025-07-31 12:09 ` Heinrich Schuchardt
0 siblings, 0 replies; 7+ messages in thread
From: Heinrich Schuchardt @ 2025-07-31 12:09 UTC (permalink / raw)
To: Philip Oberfichtner
Cc: Andre Przywara, Anshul Dalal, Dario Binacchi, Gary Bisson,
Greg Malysa, Ilias Apalodimas, Jerome Forissier, Marek Vasut,
Nathan Barrett-Morrison, Oliver Gaskell, Paul Barker,
Paul Kocialkowski, Peng Fan, Quentin Schulz, Simon Glass,
Tom Rini, Trevor Woerner, Ye Li, u-boot
On 31.07.25 13:40, Philip Oberfichtner wrote:
> CONFIG_HAS_BOARD_SIZE_LIMIT is superfluous, if we interpret the value
> "zero" as "unlimited". This is exactly how all the other
> CONFIG_XXX_SIZE_LIMIT work.
>
> No functional changes.
>
> Signed-off-by: Philip Oberfichtner <pro@denx.de>
> ---
> Kconfig | 10 +---------
> cmd/Kconfig | 2 +-
> configs/bk4r1_defconfig | 1 -
> configs/chromebook_link_defconfig | 1 -
> configs/colibri_vf_defconfig | 1 -
> configs/ea-lpc3250devkitv2_defconfig | 1 -
> configs/gardena-smart-gateway-mt7688_defconfig | 1 -
> configs/guruplug_defconfig | 1 -
> configs/imx28_btt3_defconfig | 1 -
> configs/imx28_xea_defconfig | 1 -
> configs/legoev3_defconfig | 1 -
> configs/linkit-smart-7688_defconfig | 1 -
> configs/lschlv2_defconfig | 1 -
> configs/lsxhl_defconfig | 1 -
> configs/lxr2_defconfig | 1 -
> configs/mx51evk_defconfig | 1 -
> configs/mx53loco_defconfig | 1 -
> configs/mx6sabresd_defconfig | 1 -
> configs/mx7ulp_com_defconfig | 1 -
> configs/openrd_base_defconfig | 1 -
> configs/openrd_client_defconfig | 1 -
> configs/openrd_ultimate_defconfig | 1 -
> configs/pcm052_defconfig | 1 -
> configs/pico-dwarf-imx6ul_defconfig | 1 -
> configs/pico-dwarf-imx7d_defconfig | 1 -
> configs/pico-hobbit-imx6ul_defconfig | 1 -
> configs/pico-hobbit-imx7d_defconfig | 1 -
> configs/pico-imx6_defconfig | 1 -
> configs/pico-imx6ul_defconfig | 1 -
> configs/pico-imx7d_bl33_defconfig | 1 -
> configs/pico-imx7d_defconfig | 1 -
> configs/pico-nymph-imx7d_defconfig | 1 -
> configs/pico-pi-imx6ul_defconfig | 1 -
> configs/pico-pi-imx7d_defconfig | 1 -
> configs/sheevaplug_defconfig | 1 -
> configs/stm32mp15_dhsom.config | 1 -
> configs/tbs2910_defconfig | 1 -
> configs/turris_1x_nor_defconfig | 1 -
> configs/turris_1x_sdcard_defconfig | 1 -
> configs/turris_omnia_defconfig | 1 -
> configs/udoo_neo_defconfig | 1 -
> configs/vf610twr_defconfig | 1 -
> configs/vf610twr_nand_defconfig | 1 -
> configs/warp7_bl33_defconfig | 1 -
> configs/warp7_defconfig | 1 -
> lib/efi_loader/Kconfig | 6 +++---
> 46 files changed, 5 insertions(+), 56 deletions(-)
>
> diff --git a/Kconfig b/Kconfig
> index c883f115459..d0c0a6a1d53 100644
> --- a/Kconfig
> +++ b/Kconfig
> @@ -535,19 +535,11 @@ config BUILD_TARGET
> special image will be automatically built upon calling
> make / buildman.
>
> -config HAS_BOARD_SIZE_LIMIT
> - bool "Define a maximum size for the U-Boot image"
> - depends on !COMPILE_TEST
> - default y if RCAR_32 || RCAR_64
> - help
> - In some cases, we need to enforce a hard limit on how big the U-Boot
> - image itself can be.
> -
> config BOARD_SIZE_LIMIT
> int "Maximum size of the U-Boot image in bytes"
> + default 0
The first match is used as default. Therefore the generic default must
be last.
Otherwise looks good to me.
Best regards
Heinrich
> default 524288 if RCAR_32
> default 1048576 if RCAR_64
> - depends on HAS_BOARD_SIZE_LIMIT
> help
> Maximum size of the U-Boot image. When defined, the build system
> checks that the actual size does not exceed it. This does not
> diff --git a/cmd/Kconfig b/cmd/Kconfig
> index b3b5be1ea79..99d91e9e5a9 100644
> --- a/cmd/Kconfig
> +++ b/cmd/Kconfig
> @@ -2331,7 +2331,7 @@ config CMD_EFIDEBUG
>
> config CMD_EFICONFIG
> bool "eficonfig - provide menu-driven uefi variables maintenance interface"
> - default y if !HAS_BOARD_SIZE_LIMIT
> + default y if BOARD_SIZE_LIMIT = 0
> depends on EFI_BOOTMGR
> select MENU
> help
> diff --git a/configs/bk4r1_defconfig b/configs/bk4r1_defconfig
> index fd3b6188776..ca63cf71db8 100644
> --- a/configs/bk4r1_defconfig
> +++ b/configs/bk4r1_defconfig
> @@ -18,7 +18,6 @@ CONFIG_TARGET_BK4R1=y
> CONFIG_SYS_MEMTEST_START=0x80010000
> CONFIG_SYS_MEMTEST_END=0x87c00000
> CONFIG_LTO=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=520192
> # CONFIG_EFI_LOADER is not set
> CONFIG_FIT=y
> diff --git a/configs/chromebook_link_defconfig b/configs/chromebook_link_defconfig
> index b5b3851a010..9bdeb604292 100644
> --- a/configs/chromebook_link_defconfig
> +++ b/configs/chromebook_link_defconfig
> @@ -15,7 +15,6 @@ CONFIG_DEBUG_UART=y
> CONFIG_HAVE_MRC=y
> CONFIG_SMP=y
> CONFIG_HAVE_VGA_BIOS=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=630000
> # CONFIG_EFI_LOADER is not set
> CONFIG_FIT=y
> diff --git a/configs/colibri_vf_defconfig b/configs/colibri_vf_defconfig
> index 1364fe45291..9c3077cc16f 100644
> --- a/configs/colibri_vf_defconfig
> +++ b/configs/colibri_vf_defconfig
> @@ -15,7 +15,6 @@ CONFIG_TARGET_COLIBRI_VF=y
> CONFIG_SYS_MEMTEST_START=0x80010000
> CONFIG_SYS_MEMTEST_END=0x87c00000
> CONFIG_ENV_VARS_UBOOT_CONFIG=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=520192
> # CONFIG_EFI_LOADER is not set
> CONFIG_BOOTDELAY=1
> diff --git a/configs/ea-lpc3250devkitv2_defconfig b/configs/ea-lpc3250devkitv2_defconfig
> index c3af7afced1..5a3cdb45f7c 100644
> --- a/configs/ea-lpc3250devkitv2_defconfig
> +++ b/configs/ea-lpc3250devkitv2_defconfig
> @@ -12,7 +12,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80000f20
> CONFIG_TARGET_EA_LPC3250DEVKITV2=y
> CONFIG_DEFAULT_DEVICE_TREE="lpc3250-ea3250"
> CONFIG_SYS_LOAD_ADDR=0x80100000
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=1048575
> CONFIG_DISTRO_DEFAULTS=y
> # CONFIG_AUTOBOOT is not set
> diff --git a/configs/gardena-smart-gateway-mt7688_defconfig b/configs/gardena-smart-gateway-mt7688_defconfig
> index 3c2bcc6a3c4..39e3cd04251 100644
> --- a/configs/gardena-smart-gateway-mt7688_defconfig
> +++ b/configs/gardena-smart-gateway-mt7688_defconfig
> @@ -27,7 +27,6 @@ CONFIG_RESTORE_EXCEPTION_VECTOR_BASE=y
> # CONFIG_MIPS_BOOT_ENV_LEGACY is not set
> CONFIG_MIPS_BOOT_FDT=y
> CONFIG_ENV_VARS_UBOOT_CONFIG=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=655360
> CONFIG_FIT=y
> CONFIG_FIT_SIGNATURE=y
> diff --git a/configs/guruplug_defconfig b/configs/guruplug_defconfig
> index e046a5ee8b1..a8697113cd3 100644
> --- a/configs/guruplug_defconfig
> +++ b/configs/guruplug_defconfig
> @@ -13,7 +13,6 @@ CONFIG_ENV_OFFSET=0xE0000
> CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-guruplug-server-plus"
> CONFIG_SYS_LOAD_ADDR=0x800000
> CONFIG_IDENT_STRING="\nMarvell-GuruPlug"
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=917504
> CONFIG_BOOTDELAY=3
> CONFIG_USE_BOOTCOMMAND=y
> diff --git a/configs/imx28_btt3_defconfig b/configs/imx28_btt3_defconfig
> index 07c805faa2f..0efbea20109 100644
> --- a/configs/imx28_btt3_defconfig
> +++ b/configs/imx28_btt3_defconfig
> @@ -31,7 +31,6 @@ CONFIG_ENV_OFFSET_REDUND=0x90000
> CONFIG_SPL_SPI_FLASH_SUPPORT=y
> CONFIG_SPL_SPI=y
> CONFIG_SPL_PAYLOAD="u-boot.img"
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=458752
> CONFIG_TIMESTAMP=y
> CONFIG_FIT=y
> diff --git a/configs/imx28_xea_defconfig b/configs/imx28_xea_defconfig
> index 8715893bbcc..9a54efdb8da 100644
> --- a/configs/imx28_xea_defconfig
> +++ b/configs/imx28_xea_defconfig
> @@ -29,7 +29,6 @@ CONFIG_ENV_OFFSET_REDUND=0x90000
> CONFIG_SPL_SPI_FLASH_SUPPORT=y
> CONFIG_SPL_SPI=y
> CONFIG_SPL_PAYLOAD="u-boot.img"
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=458752
> CONFIG_TIMESTAMP=y
> CONFIG_FIT=y
> diff --git a/configs/legoev3_defconfig b/configs/legoev3_defconfig
> index dee19a95d55..571ff928029 100644
> --- a/configs/legoev3_defconfig
> +++ b/configs/legoev3_defconfig
> @@ -14,7 +14,6 @@ CONFIG_ENV_SIZE=0x4000
> CONFIG_DEFAULT_DEVICE_TREE="da850-lego-ev3"
> CONFIG_SYS_LOAD_ADDR=0xc0700000
> CONFIG_LTO=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=262144
> CONFIG_DYNAMIC_SYS_CLK_FREQ=y
> CONFIG_BOOTDELAY=0
> diff --git a/configs/linkit-smart-7688_defconfig b/configs/linkit-smart-7688_defconfig
> index 1602ff5b73a..e2f232d549b 100644
> --- a/configs/linkit-smart-7688_defconfig
> +++ b/configs/linkit-smart-7688_defconfig
> @@ -23,7 +23,6 @@ CONFIG_MIPS_CACHE_DISABLE=y
> CONFIG_RESTORE_EXCEPTION_VECTOR_BASE=y
> # CONFIG_MIPS_BOOT_ENV_LEGACY is not set
> CONFIG_MIPS_BOOT_FDT=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=524288
> CONFIG_FIT=y
> CONFIG_FIT_SIGNATURE=y
> diff --git a/configs/lschlv2_defconfig b/configs/lschlv2_defconfig
> index 3a53d49ba83..b296feeec1b 100644
> --- a/configs/lschlv2_defconfig
> +++ b/configs/lschlv2_defconfig
> @@ -18,7 +18,6 @@ CONFIG_DM_GPIO=y
> CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-lschlv2"
> CONFIG_SYS_LOAD_ADDR=0x800000
> CONFIG_IDENT_STRING=" LS-CHLv2"
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=393216
> # CONFIG_BOOTSTD is not set
> CONFIG_DISTRO_DEFAULTS=y
> diff --git a/configs/lsxhl_defconfig b/configs/lsxhl_defconfig
> index 83a0a6f5415..ff1ce7a79cc 100644
> --- a/configs/lsxhl_defconfig
> +++ b/configs/lsxhl_defconfig
> @@ -19,7 +19,6 @@ CONFIG_DM_GPIO=y
> CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-lsxhl"
> CONFIG_SYS_LOAD_ADDR=0x800000
> CONFIG_IDENT_STRING=" LS-XHL"
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=393216
> # CONFIG_BOOTSTD is not set
> CONFIG_DISTRO_DEFAULTS=y
> diff --git a/configs/lxr2_defconfig b/configs/lxr2_defconfig
> index f2afed1c4ba..c9852fb6470 100644
> --- a/configs/lxr2_defconfig
> +++ b/configs/lxr2_defconfig
> @@ -26,7 +26,6 @@ CONFIG_SPL_LIBDISK_SUPPORT=y
> CONFIG_SPL_SPI_FLASH_SUPPORT=y
> CONFIG_SPL_SPI=y
> CONFIG_LTO=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=715766
> CONFIG_FIT=y
> CONFIG_SPL_FIT_PRINT=y
> diff --git a/configs/mx51evk_defconfig b/configs/mx51evk_defconfig
> index bcbef81d1d4..14b7e80c86b 100644
> --- a/configs/mx51evk_defconfig
> +++ b/configs/mx51evk_defconfig
> @@ -10,7 +10,6 @@ CONFIG_DM_GPIO=y
> CONFIG_DEFAULT_DEVICE_TREE="imx51-babbage"
> CONFIG_SYS_LOAD_ADDR=0x92000000
> # CONFIG_CMD_BMODE is not set
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=785408
> CONFIG_USE_BOOTCOMMAND=y
> CONFIG_BOOTCOMMAND="mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else run netboot; fi"
> diff --git a/configs/mx53loco_defconfig b/configs/mx53loco_defconfig
> index 1f7da84fbea..0413e2ee55a 100644
> --- a/configs/mx53loco_defconfig
> +++ b/configs/mx53loco_defconfig
> @@ -11,7 +11,6 @@ CONFIG_DM_GPIO=y
> CONFIG_DEFAULT_DEVICE_TREE="imx53-qsb"
> CONFIG_SYS_LOAD_ADDR=0x72000000
> # CONFIG_CMD_BMODE is not set
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=785408
> CONFIG_SUPPORT_RAW_INITRD=y
> CONFIG_USE_BOOTCOMMAND=y
> diff --git a/configs/mx6sabresd_defconfig b/configs/mx6sabresd_defconfig
> index 75a655a0e0d..9c5105883a0 100644
> --- a/configs/mx6sabresd_defconfig
> +++ b/configs/mx6sabresd_defconfig
> @@ -20,7 +20,6 @@ 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
> diff --git a/configs/mx7ulp_com_defconfig b/configs/mx7ulp_com_defconfig
> index a49cb2a728f..22ceae1c0ba 100644
> --- a/configs/mx7ulp_com_defconfig
> +++ b/configs/mx7ulp_com_defconfig
> @@ -12,7 +12,6 @@ CONFIG_LDO_ENABLED_MODE=y
> CONFIG_TARGET_MX7ULP_COM=y
> CONFIG_SYS_BOOTM_LEN=0x1000000
> CONFIG_SYS_LOAD_ADDR=0x60800000
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=785408
> CONFIG_USE_BOOTCOMMAND=y
> CONFIG_BOOTCOMMAND="if run loadimage; then run mmcboot; fi"
> diff --git a/configs/openrd_base_defconfig b/configs/openrd_base_defconfig
> index cfad5fb037b..6811c9a29da 100644
> --- a/configs/openrd_base_defconfig
> +++ b/configs/openrd_base_defconfig
> @@ -16,7 +16,6 @@ CONFIG_ENV_OFFSET=0x80000
> CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-openrd-base"
> CONFIG_SYS_LOAD_ADDR=0x800000
> CONFIG_IDENT_STRING="\nOpenRD-Base"
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=524288
> CONFIG_BOOTSTD_FULL=y
> CONFIG_BOOTDELAY=3
> diff --git a/configs/openrd_client_defconfig b/configs/openrd_client_defconfig
> index e0a393e478c..8b745c8d5e2 100644
> --- a/configs/openrd_client_defconfig
> +++ b/configs/openrd_client_defconfig
> @@ -17,7 +17,6 @@ CONFIG_ENV_OFFSET=0x80000
> CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-openrd-client"
> CONFIG_SYS_LOAD_ADDR=0x800000
> CONFIG_IDENT_STRING="\nOpenRD-Client"
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=524288
> CONFIG_BOOTSTD_FULL=y
> CONFIG_BOOTDELAY=3
> diff --git a/configs/openrd_ultimate_defconfig b/configs/openrd_ultimate_defconfig
> index 23415ef12ee..a14fb130ffe 100644
> --- a/configs/openrd_ultimate_defconfig
> +++ b/configs/openrd_ultimate_defconfig
> @@ -17,7 +17,6 @@ CONFIG_ENV_OFFSET=0x80000
> CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-openrd-ultimate"
> CONFIG_SYS_LOAD_ADDR=0x800000
> CONFIG_IDENT_STRING="\nOpenRD-Ultimate"
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=524288
> CONFIG_BOOTSTD_FULL=y
> CONFIG_BOOTDELAY=3
> diff --git a/configs/pcm052_defconfig b/configs/pcm052_defconfig
> index 64f5f777e5c..434495bf417 100644
> --- a/configs/pcm052_defconfig
> +++ b/configs/pcm052_defconfig
> @@ -14,7 +14,6 @@ CONFIG_ENV_OFFSET_REDUND=0xC0000
> CONFIG_TARGET_PCM052=y
> CONFIG_SYS_MEMTEST_START=0x80010000
> CONFIG_SYS_MEMTEST_END=0x87c00000
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=520192
> # CONFIG_EFI_LOADER is not set
> CONFIG_BOOTDELAY=3
> diff --git a/configs/pico-dwarf-imx6ul_defconfig b/configs/pico-dwarf-imx6ul_defconfig
> index e1f6e6f91f2..296095f0103 100644
> --- a/configs/pico-dwarf-imx6ul_defconfig
> +++ b/configs/pico-dwarf-imx6ul_defconfig
> @@ -19,7 +19,6 @@ CONFIG_SPL=y
> CONFIG_SPL_LIBDISK_SUPPORT=y
> CONFIG_SYS_MEMTEST_START=0x80000000
> CONFIG_SYS_MEMTEST_END=0x88000000
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=715776
> CONFIG_DISTRO_DEFAULTS=y
> CONFIG_BOOTDELAY=3
> diff --git a/configs/pico-dwarf-imx7d_defconfig b/configs/pico-dwarf-imx7d_defconfig
> index c1389ac4066..cc9cead2e0e 100644
> --- a/configs/pico-dwarf-imx7d_defconfig
> +++ b/configs/pico-dwarf-imx7d_defconfig
> @@ -19,7 +19,6 @@ CONFIG_SPL=y
> CONFIG_ARMV7_BOOT_SEC_DEFAULT=y
> CONFIG_IMX_RDC=y
> CONFIG_IMX_BOOTAUX=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=715776
> CONFIG_DISTRO_DEFAULTS=y
> CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
> diff --git a/configs/pico-hobbit-imx6ul_defconfig b/configs/pico-hobbit-imx6ul_defconfig
> index 137541d373a..6ef97863ce9 100644
> --- a/configs/pico-hobbit-imx6ul_defconfig
> +++ b/configs/pico-hobbit-imx6ul_defconfig
> @@ -19,7 +19,6 @@ CONFIG_SPL=y
> CONFIG_SPL_LIBDISK_SUPPORT=y
> CONFIG_SYS_MEMTEST_START=0x80000000
> CONFIG_SYS_MEMTEST_END=0x88000000
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=715776
> CONFIG_DISTRO_DEFAULTS=y
> CONFIG_BOOTDELAY=3
> diff --git a/configs/pico-hobbit-imx7d_defconfig b/configs/pico-hobbit-imx7d_defconfig
> index 72e1a3bccc1..34ad3627193 100644
> --- a/configs/pico-hobbit-imx7d_defconfig
> +++ b/configs/pico-hobbit-imx7d_defconfig
> @@ -19,7 +19,6 @@ CONFIG_SPL=y
> CONFIG_ARMV7_BOOT_SEC_DEFAULT=y
> CONFIG_IMX_RDC=y
> CONFIG_IMX_BOOTAUX=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=715776
> CONFIG_DISTRO_DEFAULTS=y
> CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
> diff --git a/configs/pico-imx6_defconfig b/configs/pico-imx6_defconfig
> index 6f46d9bf8a1..139fa6e863c 100644
> --- a/configs/pico-imx6_defconfig
> +++ b/configs/pico-imx6_defconfig
> @@ -16,7 +16,6 @@ CONFIG_SPL_MMC=y
> CONFIG_SPL_SERIAL=y
> CONFIG_SPL=y
> CONFIG_SPL_LIBDISK_SUPPORT=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=715776
> CONFIG_FIT=y
> CONFIG_SPL_FIT_PRINT=y
> diff --git a/configs/pico-imx6ul_defconfig b/configs/pico-imx6ul_defconfig
> index 70b79622be1..2f9fa4911fc 100644
> --- a/configs/pico-imx6ul_defconfig
> +++ b/configs/pico-imx6ul_defconfig
> @@ -19,7 +19,6 @@ CONFIG_SPL=y
> CONFIG_SPL_LIBDISK_SUPPORT=y
> CONFIG_SYS_MEMTEST_START=0x80000000
> CONFIG_SYS_MEMTEST_END=0x88000000
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=715776
> CONFIG_DISTRO_DEFAULTS=y
> CONFIG_BOOTDELAY=3
> diff --git a/configs/pico-imx7d_bl33_defconfig b/configs/pico-imx7d_bl33_defconfig
> index b5485bf8d0b..ff9b9104f9b 100644
> --- a/configs/pico-imx7d_bl33_defconfig
> +++ b/configs/pico-imx7d_bl33_defconfig
> @@ -19,7 +19,6 @@ CONFIG_SPL=y
> CONFIG_ARMV7_BOOT_SEC_DEFAULT=y
> CONFIG_SYS_MEMTEST_START=0x80000000
> CONFIG_SYS_MEMTEST_END=0xa0000000
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=715776
> CONFIG_FIT=y
> CONFIG_FIT_SIGNATURE=y
> diff --git a/configs/pico-imx7d_defconfig b/configs/pico-imx7d_defconfig
> index 4707062053b..a55a293fda5 100644
> --- a/configs/pico-imx7d_defconfig
> +++ b/configs/pico-imx7d_defconfig
> @@ -19,7 +19,6 @@ CONFIG_SPL=y
> CONFIG_ARMV7_BOOT_SEC_DEFAULT=y
> CONFIG_IMX_RDC=y
> CONFIG_IMX_BOOTAUX=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=715776
> CONFIG_DISTRO_DEFAULTS=y
> CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
> diff --git a/configs/pico-nymph-imx7d_defconfig b/configs/pico-nymph-imx7d_defconfig
> index c1389ac4066..cc9cead2e0e 100644
> --- a/configs/pico-nymph-imx7d_defconfig
> +++ b/configs/pico-nymph-imx7d_defconfig
> @@ -19,7 +19,6 @@ CONFIG_SPL=y
> CONFIG_ARMV7_BOOT_SEC_DEFAULT=y
> CONFIG_IMX_RDC=y
> CONFIG_IMX_BOOTAUX=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=715776
> CONFIG_DISTRO_DEFAULTS=y
> CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
> diff --git a/configs/pico-pi-imx6ul_defconfig b/configs/pico-pi-imx6ul_defconfig
> index 40db7e23797..99abd245db7 100644
> --- a/configs/pico-pi-imx6ul_defconfig
> +++ b/configs/pico-pi-imx6ul_defconfig
> @@ -19,7 +19,6 @@ CONFIG_SPL=y
> CONFIG_SPL_LIBDISK_SUPPORT=y
> CONFIG_SYS_MEMTEST_START=0x80000000
> CONFIG_SYS_MEMTEST_END=0x88000000
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=715776
> CONFIG_DISTRO_DEFAULTS=y
> CONFIG_BOOTDELAY=3
> diff --git a/configs/pico-pi-imx7d_defconfig b/configs/pico-pi-imx7d_defconfig
> index 26fccf90db7..1b68ba18463 100644
> --- a/configs/pico-pi-imx7d_defconfig
> +++ b/configs/pico-pi-imx7d_defconfig
> @@ -19,7 +19,6 @@ CONFIG_SPL=y
> CONFIG_ARMV7_BOOT_SEC_DEFAULT=y
> CONFIG_IMX_RDC=y
> CONFIG_IMX_BOOTAUX=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=715776
> CONFIG_DISTRO_DEFAULTS=y
> CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
> diff --git a/configs/sheevaplug_defconfig b/configs/sheevaplug_defconfig
> index a7f6c73ecba..a7bd54c37cd 100644
> --- a/configs/sheevaplug_defconfig
> +++ b/configs/sheevaplug_defconfig
> @@ -17,7 +17,6 @@ CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-sheevaplug"
> CONFIG_SYS_LOAD_ADDR=0x800000
> CONFIG_IDENT_STRING="\nMarvell-Sheevaplug"
> CONFIG_LTO=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=524288
> CONFIG_BOOTSTD_FULL=y
> CONFIG_BOOTDELAY=3
> diff --git a/configs/stm32mp15_dhsom.config b/configs/stm32mp15_dhsom.config
> index 565b49584e3..52b2215fc6c 100644
> --- a/configs/stm32mp15_dhsom.config
> +++ b/configs/stm32mp15_dhsom.config
> @@ -21,7 +21,6 @@ CONFIG_CONSOLE_MUX=y
> CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc0100000
> CONFIG_DM_HWSPINLOCK=y
> CONFIG_DM_REGULATOR_STM32_VREFBUF=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
> CONFIG_HWSPINLOCK_STM32=y
> CONFIG_KS8851_MLL=y
> diff --git a/configs/tbs2910_defconfig b/configs/tbs2910_defconfig
> index 070dce234d6..37532bf2686 100644
> --- a/configs/tbs2910_defconfig
> +++ b/configs/tbs2910_defconfig
> @@ -15,7 +15,6 @@ CONFIG_AHCI=y
> CONFIG_SYS_MEMTEST_START=0x10000000
> CONFIG_SYS_MEMTEST_END=0x2f400000
> CONFIG_LTO=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=392192
> # CONFIG_EFI_LOADER is not set
> # CONFIG_BOOTSTD is not set
> diff --git a/configs/turris_1x_nor_defconfig b/configs/turris_1x_nor_defconfig
> index cc7d4a1e0d6..df2b781aa1a 100644
> --- a/configs/turris_1x_nor_defconfig
> +++ b/configs/turris_1x_nor_defconfig
> @@ -21,7 +21,6 @@ CONFIG_PCIE2=y
> CONFIG_PCIE3=y
> CONFIG_OPTIMIZE_INLINING=y
> CONFIG_ENV_VARS_UBOOT_CONFIG=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=786432
> CONFIG_MP=y
> CONFIG_FIT=y
> diff --git a/configs/turris_1x_sdcard_defconfig b/configs/turris_1x_sdcard_defconfig
> index ee18cc21443..77bf6f5f065 100644
> --- a/configs/turris_1x_sdcard_defconfig
> +++ b/configs/turris_1x_sdcard_defconfig
> @@ -30,7 +30,6 @@ CONFIG_OF_BOARD_FIXUP=y
> CONFIG_PCIE1=y
> CONFIG_PCIE2=y
> CONFIG_PCIE3=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=1048576
> CONFIG_MP=y
> CONFIG_FIT=y
> diff --git a/configs/turris_omnia_defconfig b/configs/turris_omnia_defconfig
> index de39e19ec6d..4461ceeaaf3 100644
> --- a/configs/turris_omnia_defconfig
> +++ b/configs/turris_omnia_defconfig
> @@ -36,7 +36,6 @@ CONFIG_OF_BOARD_FIXUP=y
> CONFIG_SYS_MEMTEST_START=0x00800000
> CONFIG_SYS_MEMTEST_END=0x00ffffff
> CONFIG_LTO=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=983040
> CONFIG_FIT=y
> CONFIG_FIT_VERBOSE=y
> diff --git a/configs/udoo_neo_defconfig b/configs/udoo_neo_defconfig
> index d4fb271e03a..ef5f6b207e6 100644
> --- a/configs/udoo_neo_defconfig
> +++ b/configs/udoo_neo_defconfig
> @@ -19,7 +19,6 @@ CONFIG_SPL=y
> CONFIG_SPL_LIBDISK_SUPPORT=y
> # CONFIG_CMD_BMODE is not set
> CONFIG_LTO=y
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=523264
> CONFIG_DISTRO_DEFAULTS=y
> CONFIG_BOOTCOMMAND="run findfdt; run distro_bootcmd"
> diff --git a/configs/vf610twr_defconfig b/configs/vf610twr_defconfig
> index 556190728e1..b16b1522d1a 100644
> --- a/configs/vf610twr_defconfig
> +++ b/configs/vf610twr_defconfig
> @@ -12,7 +12,6 @@ CONFIG_DEFAULT_DEVICE_TREE="vf610-twr"
> CONFIG_SYS_LOAD_ADDR=0x82000000
> CONFIG_SYS_MEMTEST_START=0x80010000
> CONFIG_SYS_MEMTEST_END=0x87c00000
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=520192
> CONFIG_BOOTDELAY=3
> CONFIG_USE_BOOTCOMMAND=y
> diff --git a/configs/vf610twr_nand_defconfig b/configs/vf610twr_nand_defconfig
> index 7fe9d822110..31b1468650e 100644
> --- a/configs/vf610twr_nand_defconfig
> +++ b/configs/vf610twr_nand_defconfig
> @@ -12,7 +12,6 @@ CONFIG_DEFAULT_DEVICE_TREE="vf610-twr"
> CONFIG_SYS_LOAD_ADDR=0x82000000
> CONFIG_SYS_MEMTEST_START=0x80010000
> CONFIG_SYS_MEMTEST_END=0x87c00000
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=520192
> CONFIG_BOOTDELAY=3
> CONFIG_USE_BOOTCOMMAND=y
> diff --git a/configs/warp7_bl33_defconfig b/configs/warp7_bl33_defconfig
> index 5a94062f5e2..eb047236f87 100644
> --- a/configs/warp7_bl33_defconfig
> +++ b/configs/warp7_bl33_defconfig
> @@ -11,7 +11,6 @@ CONFIG_ARMV7_BOOT_SEC_DEFAULT=y
> CONFIG_IMX_HAB=y
> CONFIG_SYS_MEMTEST_START=0x80000000
> CONFIG_SYS_MEMTEST_END=0xa0000000
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=785408
> CONFIG_FIT=y
> CONFIG_FIT_SIGNATURE=y
> diff --git a/configs/warp7_defconfig b/configs/warp7_defconfig
> index 03d68aa9a3f..22f611f4ccd 100644
> --- a/configs/warp7_defconfig
> +++ b/configs/warp7_defconfig
> @@ -14,7 +14,6 @@ CONFIG_IMX_BOOTAUX=y
> CONFIG_IMX_HAB=y
> CONFIG_SYS_MEMTEST_START=0x80000000
> CONFIG_SYS_MEMTEST_END=0xa0000000
> -CONFIG_HAS_BOARD_SIZE_LIMIT=y
> CONFIG_BOARD_SIZE_LIMIT=785408
> CONFIG_FIT=y
> CONFIG_FIT_VERBOSE=y
> diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> index c2aa88f59fb..36eed766d31 100644
> --- a/lib/efi_loader/Kconfig
> +++ b/lib/efi_loader/Kconfig
> @@ -74,7 +74,7 @@ config EFI_SIGNATURE_SUPPORT
>
> config EFI_DEBUG_SUPPORT
> bool "EFI Debug Support"
> - default y if !HAS_BOARD_SIZE_LIMIT
> + default y if BOARD_SIZE_LIMIT = 0
> help
> Select this option if you want to setup the EFI Debug Support
> Table and the EFI_SYSTEM_TABLE_POINTER which is used by the debug
> @@ -396,7 +396,7 @@ config EFI_DT_FIXUP
>
> config EFI_LOADER_HII
> bool "HII protocols"
> - default y if !HAS_BOARD_SIZE_LIMIT
> + default y if BOARD_SIZE_LIMIT = 0
> help
> The Human Interface Infrastructure is a complicated framework that
> allows UEFI applications to draw fancy menus and hook strings using
> @@ -416,7 +416,7 @@ if EFI_UNICODE_COLLATION_PROTOCOL2
>
> config EFI_UNICODE_CAPITALIZATION
> bool "Support Unicode capitalization"
> - default y if !HAS_BOARD_SIZE_LIMIT
> + default y if BOARD_SIZE_LIMIT = 0
> help
> Select this option to enable correct handling of the capitalization of
> Unicode codepoints in the range 0x0000-0xffff. If this option is not
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [RFC PATCH v1 3/3] Image size checks: Move all configs in one place
2025-07-31 11:40 ` [RFC PATCH v1 3/3] Image size checks: Move all configs in one place Philip Oberfichtner
@ 2025-07-31 12:14 ` Heinrich Schuchardt
2025-08-07 10:28 ` Philip Oberfichtner
0 siblings, 1 reply; 7+ messages in thread
From: Heinrich Schuchardt @ 2025-07-31 12:14 UTC (permalink / raw)
To: Philip Oberfichtner
Cc: Andre Przywara, Anshul Dalal, Dario Binacchi, Gary Bisson,
Greg Malysa, Ilias Apalodimas, Jerome Forissier, Marek Vasut,
Nathan Barrett-Morrison, Oliver Gaskell, Paul Barker,
Paul Kocialkowski, Peng Fan, Quentin Schulz, Simon Glass,
Tom Rini, Trevor Woerner, Ye Li, u-boot
On 31.07.25 13:40, Philip Oberfichtner wrote:
> How image size limiting works in U-Boot should be easier to grasp if we
> have all related options in one place.
>
> Signed-off-by: Philip Oberfichtner <pro@denx.de>
> ---
> Kconfig | 59 ++++++++++++++++++++++++++++++++++++++++++
> common/spl/Kconfig | 38 ---------------------------
> common/spl/Kconfig.tpl | 7 -----
> common/spl/Kconfig.vpl | 7 -----
> 4 files changed, 59 insertions(+), 52 deletions(-)
>
> diff --git a/Kconfig b/Kconfig
> index d0c0a6a1d53..6435a4c3bcc 100644
> --- a/Kconfig
> +++ b/Kconfig
> @@ -535,6 +535,8 @@ config BUILD_TARGET
> special image will be automatically built upon calling
> make / buildman.
>
> +menu "Image size limits"
> +
> config BOARD_SIZE_LIMIT
> int "Maximum size of the U-Boot image in bytes"
> default 0
> @@ -546,6 +548,63 @@ config BOARD_SIZE_LIMIT
> include SPL nor TPL, on platforms that use that functionality, they
> have a separate option to restict size.
When reposting, please, rebase on by patch to fix the 'restict' typo.
>
> +config SPL_SIZE_LIMIT
> + depends on SPL
> + hex "Maximum size of SPL image"
> + default 0x11000 if ARCH_MX6 && !MX6_OCRAM_256KB
> + default 0x31000 if ARCH_MX6 && MX6_OCRAM_256KB
This can be simplified:
default 0x31000 if ARCH_MX6 && MX6_OCRAM_256KB
default 0x11000 if ARCH_MX6
Best regards
Heinrich
> + default 0x30000 if ARCH_MVEBU && ARMADA_32BIT
> + default 0x0
> + help
> + Specifies the maximum length of the U-Boot SPL image.
> + If this value is zero, it is ignored.
> +
> +config SPL_SIZE_LIMIT_SUBTRACT_GD
> + bool "SPL image size check: provide space for global data"
> + depends on SPL_SIZE_LIMIT > 0
> + help
> + If enabled, aligned size of global data is reserved in
> + SPL_SIZE_LIMIT check to ensure such an image does not overflow SRAM
> + if SPL_SIZE_LIMIT describes the size of SRAM available for SPL when
> + pre-reloc global data is put into this SRAM, too.
> +
> +config SPL_SIZE_LIMIT_SUBTRACT_MALLOC
> + bool "SPL image size check: provide space for malloc() pool before relocation"
> + depends on SPL_SIZE_LIMIT > 0
> + help
> + If enabled, SPL_SYS_MALLOC_F_LEN is reserved in SPL_SIZE_LIMIT check
> + to ensure such an image does not overflow SRAM if SPL_SIZE_LIMIT
> + describes the size of SRAM available for SPL when pre-reloc malloc
> + pool is put into this SRAM, too.
> +
> +config SPL_SIZE_LIMIT_PROVIDE_STACK
> + hex "SPL image size check: provide stack space before relocation"
> + depends on SPL_SIZE_LIMIT > 0
> + default 0x0
> + help
> + If set, this size is reserved in SPL_SIZE_LIMIT check to ensure such
> + an image does not overflow SRAM if SPL_SIZE_LIMIT describes the size
> + of SRAM available for SPL when the stack required before reolcation
> + uses this SRAM, too.
> +
> +config TPL_SIZE_LIMIT
> + depends on TPL
> + hex "Maximum size of TPL image"
> + default 0x0
> + help
> + Specifies the maximum length of the U-Boot TPL image.
> + If this value is zero, it is ignored.
> +
> +config VPL_SIZE_LIMIT
> + depends on VPL
> + hex "Maximum size of VPL image"
> + default 0x0
> + help
> + Specifies the maximum length of the U-Boot VPL image.
> + If this value is zero, it is ignored.
> +
> +endmenu
> +
> config SYS_CUSTOM_LDSCRIPT
> bool "Use a custom location for the U-Boot linker script"
> depends on !COMPILE_TEST
> diff --git a/common/spl/Kconfig b/common/spl/Kconfig
> index ab05536bd02..87a56bd8f8a 100644
> --- a/common/spl/Kconfig
> +++ b/common/spl/Kconfig
> @@ -36,44 +36,6 @@ config SPL_FRAMEWORK_BOARD_INIT_F
> - initialize the serial (preloader_console_init)
> Unless you want to provide your own board_init_f, you should say Y.
>
> -config SPL_SIZE_LIMIT
> - hex "Maximum size of SPL image"
> - default 0x11000 if ARCH_MX6 && !MX6_OCRAM_256KB
> - default 0x31000 if ARCH_MX6 && MX6_OCRAM_256KB
> - default 0x30000 if ARCH_MVEBU && ARMADA_32BIT
> - default 0x0
> - help
> - Specifies the maximum length of the U-Boot SPL image.
> - If this value is zero, it is ignored.
> -
> -config SPL_SIZE_LIMIT_SUBTRACT_GD
> - bool "SPL image size check: provide space for global data"
> - depends on SPL_SIZE_LIMIT > 0
> - help
> - If enabled, aligned size of global data is reserved in
> - SPL_SIZE_LIMIT check to ensure such an image does not overflow SRAM
> - if SPL_SIZE_LIMIT describes the size of SRAM available for SPL when
> - pre-reloc global data is put into this SRAM, too.
> -
> -config SPL_SIZE_LIMIT_SUBTRACT_MALLOC
> - bool "SPL image size check: provide space for malloc() pool before relocation"
> - depends on SPL_SIZE_LIMIT > 0
> - help
> - If enabled, SPL_SYS_MALLOC_F_LEN is reserved in SPL_SIZE_LIMIT check
> - to ensure such an image does not overflow SRAM if SPL_SIZE_LIMIT
> - describes the size of SRAM available for SPL when pre-reloc malloc
> - pool is put into this SRAM, too.
> -
> -config SPL_SIZE_LIMIT_PROVIDE_STACK
> - hex "SPL image size check: provide stack space before relocation"
> - depends on SPL_SIZE_LIMIT > 0
> - default 0x0
> - help
> - If set, this size is reserved in SPL_SIZE_LIMIT check to ensure such
> - an image does not overflow SRAM if SPL_SIZE_LIMIT describes the size
> - of SRAM available for SPL when the stack required before reolcation
> - uses this SRAM, too.
> -
> config SPL_MAX_SIZE
> hex "Maximum size of the SPL image, excluding BSS"
> default 0x30000 if ARCH_MX6 && MX6_OCRAM_256KB
> diff --git a/common/spl/Kconfig.tpl b/common/spl/Kconfig.tpl
> index a535b61ecd3..515bbeec685 100644
> --- a/common/spl/Kconfig.tpl
> +++ b/common/spl/Kconfig.tpl
> @@ -1,13 +1,6 @@
> menu "TPL configuration options"
> depends on TPL
>
> -config TPL_SIZE_LIMIT
> - hex "Maximum size of TPL image"
> - default 0x0
> - help
> - Specifies the maximum length of the U-Boot TPL image.
> - If this value is zero, it is ignored.
> -
> config TPL_BINMAN_SYMBOLS
> bool "Support binman symbols in TPL"
> depends on TPL_FRAMEWORK && BINMAN
> diff --git a/common/spl/Kconfig.vpl b/common/spl/Kconfig.vpl
> index 434562443ac..739f2805315 100644
> --- a/common/spl/Kconfig.vpl
> +++ b/common/spl/Kconfig.vpl
> @@ -220,13 +220,6 @@ config VPL_SERIAL
> Enable support for serial in VPL. See SPL_SERIAL for
> details.
>
> -config VPL_SIZE_LIMIT
> - hex "Maximum size of VPL image"
> - default 0x0
> - help
> - Specifies the maximum length of the U-Boot VPL image.
> - If this value is zero, it is ignored.
> -
> config VPL_SPI
> bool "Support SPI drivers"
> help
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [RFC PATCH v1 3/3] Image size checks: Move all configs in one place
2025-07-31 12:14 ` Heinrich Schuchardt
@ 2025-08-07 10:28 ` Philip Oberfichtner
0 siblings, 0 replies; 7+ messages in thread
From: Philip Oberfichtner @ 2025-08-07 10:28 UTC (permalink / raw)
To: Heinrich Schuchardt; +Cc: u-boot
Hi Heinrich,
Thank you for the review. I addressed all the mentioned points in V2.
Best regards,
Philip
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-08-07 10:28 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-31 11:40 [RFC PATCH v1 0/3] Simplify image size checks Philip Oberfichtner
2025-07-31 11:40 ` [RFC PATCH v1 1/3] Image size checks: Simplify Makefile rules Philip Oberfichtner
2025-07-31 11:40 ` [RFC PATCH v1 2/3] Image size checks: Remove HAS_BOARD_SIZE_LIMIT Philip Oberfichtner
2025-07-31 12:09 ` Heinrich Schuchardt
2025-07-31 11:40 ` [RFC PATCH v1 3/3] Image size checks: Move all configs in one place Philip Oberfichtner
2025-07-31 12:14 ` Heinrich Schuchardt
2025-08-07 10:28 ` Philip Oberfichtner
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.