[PATCH] Kconfig: Use hex values for CONFIG_{SPL,TPL}_SIZE_LIMIT

CONFIG_{SPL,TPL}_SIZE_LIMIT are defined as hex (SPL_SIZE_LIMIT was converted in b51882d0 ("spl: Convert CONFIG_SPL_SIZE_LIMIT to hex"), but there are still places that reference integer values. Change those to hex as well. Also, update the Makefile to check for 0x0 instead of 0.
This also fixes the following build error when CONFIG_SPL_SIZE_LIMIT is set by menuconfig to 0x0: ... spl/u-boot-spl.bin exceeds file size limit: limit: 0 bytes actual: 0x80f0 bytes excess: 0x80f0 bytes
Signed-off-by: Ovidiu Panait ovidiu.panait@windriver.com ---
Makefile | 4 ++-- common/spl/Kconfig | 8 ++++---- configs/firefly-rk3288_defconfig | 2 +- configs/imxrt1020-evk_defconfig | 2 +- configs/imxrt1050-evk_defconfig | 2 +- configs/tinker-s-rk3288_defconfig | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/Makefile b/Makefile index dd98b43031..0ccbe3ed42 100644 --- a/Makefile +++ b/Makefile @@ -859,13 +859,13 @@ else BOARD_SIZE_CHECK = endif
-ifneq ($(CONFIG_SPL_SIZE_LIMIT),0) +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),0) +ifneq ($(CONFIG_TPL_SIZE_LIMIT),0x0) TPL_SIZE_CHECK = @$(call size_check,$@,$(CONFIG_TPL_SIZE_LIMIT)) else TPL_SIZE_CHECK = diff --git a/common/spl/Kconfig b/common/spl/Kconfig index af8255a8d6..9367c74b54 100644 --- a/common/spl/Kconfig +++ b/common/spl/Kconfig @@ -37,9 +37,9 @@ config SPL_FRAMEWORK_BOARD_INIT_F config SPL_SIZE_LIMIT hex "Maximum size of SPL image" depends on SPL - default 69632 if ARCH_MX6 && !MX6_OCRAM_256KB - default 200704 if ARCH_MX6 && MX6_OCRAM_256KB - default 0 + default 0x11000 if ARCH_MX6 && !MX6_OCRAM_256KB + default 0x31000 if ARCH_MX6 && MX6_OCRAM_256KB + default 0x0 help Specifies the maximum length of the U-Boot SPL image. If this value is zero, it is ignored. @@ -1334,7 +1334,7 @@ if TPL config TPL_SIZE_LIMIT hex "Maximum size of TPL image" depends on TPL - default 0 + default 0x0 help Specifies the maximum length of the U-Boot TPL image. If this value is zero, it is ignored. diff --git a/configs/firefly-rk3288_defconfig b/configs/firefly-rk3288_defconfig index 534358f78a..0d504944be 100644 --- a/configs/firefly-rk3288_defconfig +++ b/configs/firefly-rk3288_defconfig @@ -6,7 +6,7 @@ CONFIG_ENV_OFFSET=0x3F8000 CONFIG_ROCKCHIP_RK3288=y CONFIG_TARGET_FIREFLY_RK3288=y CONFIG_SPL_STACK_R_ADDR=0x80000 -CONFIG_SPL_SIZE_LIMIT=262144 +CONFIG_SPL_SIZE_LIMIT=0x40000 CONFIG_DEBUG_UART_BASE=0xff690000 CONFIG_DEBUG_UART_CLOCK=24000000 CONFIG_DEFAULT_DEVICE_TREE="rk3288-firefly" diff --git a/configs/imxrt1020-evk_defconfig b/configs/imxrt1020-evk_defconfig index 61f99e9de6..9bddb69cd4 100644 --- a/configs/imxrt1020-evk_defconfig +++ b/configs/imxrt1020-evk_defconfig @@ -12,7 +12,7 @@ CONFIG_SPL_TEXT_BASE=0x20209000 CONFIG_TARGET_IMXRT1020_EVK=y CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y -CONFIG_SPL_SIZE_LIMIT=131072 +CONFIG_SPL_SIZE_LIMIT=0x20000 CONFIG_SPL=y CONFIG_DEFAULT_DEVICE_TREE="imxrt1020-evk" CONFIG_DISTRO_DEFAULTS=y diff --git a/configs/imxrt1050-evk_defconfig b/configs/imxrt1050-evk_defconfig index 3f7b670459..a1f9d38cf5 100644 --- a/configs/imxrt1050-evk_defconfig +++ b/configs/imxrt1050-evk_defconfig @@ -14,7 +14,7 @@ CONFIG_SPL_TEXT_BASE=0x20209000 CONFIG_TARGET_IMXRT1050_EVK=y CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y -CONFIG_SPL_SIZE_LIMIT=131072 +CONFIG_SPL_SIZE_LIMIT=0x20000 CONFIG_SPL=y CONFIG_DEFAULT_DEVICE_TREE="imxrt1050-evk" CONFIG_DISTRO_DEFAULTS=y diff --git a/configs/tinker-s-rk3288_defconfig b/configs/tinker-s-rk3288_defconfig index 68411d863b..94ddfd4d24 100644 --- a/configs/tinker-s-rk3288_defconfig +++ b/configs/tinker-s-rk3288_defconfig @@ -7,7 +7,7 @@ CONFIG_NR_DRAM_BANKS=1 CONFIG_ROCKCHIP_RK3288=y CONFIG_TARGET_TINKER_RK3288=y CONFIG_SPL_STACK_R_ADDR=0x800000 -CONFIG_SPL_SIZE_LIMIT=307200 +CONFIG_SPL_SIZE_LIMIT=0x4B000 CONFIG_DEBUG_UART_BASE=0xff690000 CONFIG_DEBUG_UART_CLOCK=24000000 CONFIG_DEFAULT_DEVICE_TREE="rk3288-tinker-s"

Hi Ovidiu,
On Fri, 25 Sep 2020 at 12:15, Ovidiu Panait ovidiu.panait@windriver.com wrote:
CONFIG_{SPL,TPL}_SIZE_LIMIT are defined as hex (SPL_SIZE_LIMIT was converted in b51882d0 ("spl: Convert CONFIG_SPL_SIZE_LIMIT to hex"), but there are still places that reference integer values. Change those to hex as well. Also, update the Makefile to check for 0x0 instead of 0.
This also fixes the following build error when CONFIG_SPL_SIZE_LIMIT is set by menuconfig to 0x0: ... spl/u-boot-spl.bin exceeds file size limit: limit: 0 bytes actual: 0x80f0 bytes excess: 0x80f0 bytes
Signed-off-by: Ovidiu Panait ovidiu.panait@windriver.com
Makefile | 4 ++-- common/spl/Kconfig | 8 ++++---- configs/firefly-rk3288_defconfig | 2 +- configs/imxrt1020-evk_defconfig | 2 +- configs/imxrt1050-evk_defconfig | 2 +- configs/tinker-s-rk3288_defconfig | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org
diff --git a/Makefile b/Makefile index dd98b43031..0ccbe3ed42 100644 --- a/Makefile +++ b/Makefile @@ -859,13 +859,13 @@ else BOARD_SIZE_CHECK = endif
-ifneq ($(CONFIG_SPL_SIZE_LIMIT),0) +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),0) +ifneq ($(CONFIG_TPL_SIZE_LIMIT),0x0) TPL_SIZE_CHECK = @$(call size_check,$@,$(CONFIG_TPL_SIZE_LIMIT)) else TPL_SIZE_CHECK = diff --git a/common/spl/Kconfig b/common/spl/Kconfig index af8255a8d6..9367c74b54 100644 --- a/common/spl/Kconfig +++ b/common/spl/Kconfig @@ -37,9 +37,9 @@ config SPL_FRAMEWORK_BOARD_INIT_F config SPL_SIZE_LIMIT hex "Maximum size of SPL image" depends on SPL
default 69632 if ARCH_MX6 && !MX6_OCRAM_256KB
default 200704 if ARCH_MX6 && MX6_OCRAM_256KB
default 0
default 0x11000 if ARCH_MX6 && !MX6_OCRAM_256KB
default 0x31000 if ARCH_MX6 && MX6_OCRAM_256KB
default 0x0 help Specifies the maximum length of the U-Boot SPL image. If this value is zero, it is ignored.
@@ -1334,7 +1334,7 @@ if TPL config TPL_SIZE_LIMIT hex "Maximum size of TPL image" depends on TPL
default 0
default 0x0
That seems a bit like obfuscation to me, but OK.
help Specifies the maximum length of the U-Boot TPL image. If this value is zero, it is ignored.
Regards, Simon

On Fri, Sep 25, 2020 at 09:12:56PM +0300, Ovidiu Panait wrote:
CONFIG_{SPL,TPL}_SIZE_LIMIT are defined as hex (SPL_SIZE_LIMIT was converted in b51882d0 ("spl: Convert CONFIG_SPL_SIZE_LIMIT to hex"), but there are still places that reference integer values. Change those to hex as well. Also, update the Makefile to check for 0x0 instead of 0.
This also fixes the following build error when CONFIG_SPL_SIZE_LIMIT is set by menuconfig to 0x0: ... spl/u-boot-spl.bin exceeds file size limit: limit: 0 bytes actual: 0x80f0 bytes excess: 0x80f0 bytes
Signed-off-by: Ovidiu Panait ovidiu.panait@windriver.com Reviewed-by: Simon Glass sjg@chromium.org
Applied to u-boot/master, thanks!
participants (3)
-
Ovidiu Panait
-
Simon Glass
-
Tom Rini