summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2019-02-19 13:10:17 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2019-03-07 08:27:17 +0100
commit9e72ea7a006cd0931913dd958746963961479a4a (patch)
treeefe71c00a83a0721b225fa512bb916c182352475
parent25de30638a2859f9e07c61821cdc71906b7169b8 (diff)
downloadbarebox-9e72ea7a006cd0931913dd958746963961479a4a.tar.gz
barebox-9e72ea7a006cd0931913dd958746963961479a4a.tar.xz
images: pbl: verify CONFIG_BAREBOX_MAX_IMAGE_SIZE is not exceeded
For platforms such as the at91, the boot ROM imposes an upper limit on barebox file size. Prior to 5a1a5ed253 ("ARM: images: use piggydata"), BAREBOX_MAX_PBLX_SIZE seems to have been the way to go for limiting the size of the final barebox binary when using the PBL. With pblx removed, this variable is of no use, so have the existing BAREBOX_MAX_IMAGE_SIZE replace its functionality. Currently BAREBOX_MAX_IMAGE_SIZE is only checked against in the non-PBL case, so add a check in the PBL case as well. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/configs/am335x_mlo_defconfig2
-rw-r--r--common/Kconfig10
-rw-r--r--images/Makefile1
3 files changed, 2 insertions, 11 deletions
diff --git a/arch/arm/configs/am335x_mlo_defconfig b/arch/arm/configs/am335x_mlo_defconfig
index b58b71a859..d6909154c4 100644
--- a/arch/arm/configs/am335x_mlo_defconfig
+++ b/arch/arm/configs/am335x_mlo_defconfig
@@ -8,7 +8,7 @@ CONFIG_MACH_PHYTEC_SOM_AM335X=y
CONFIG_THUMB2_BAREBOX=y
# CONFIG_MEMINFO is not set
CONFIG_MMU=y
-CONFIG_BAREBOX_MAX_PBLX_SIZE=0x1b400
+CONFIG_BAREBOX_MAX_IMAGE_SIZE=0x1b400
CONFIG_MALLOC_SIZE=0x0
CONFIG_MALLOC_TLSF=y
CONFIG_RELOCATABLE=y
diff --git a/common/Kconfig b/common/Kconfig
index 21b33f06f7..42769333fe 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -245,16 +245,6 @@ config BAREBOX_MAX_BARE_INIT_SIZE
this will allow your bare_init to fit in SRAM as example
ARCH can overwrite it via ARCH_BAREBOX_MAX_BARE_INIT_SIZE
-config BAREBOX_MAX_PBLX_SIZE
- depends on PBL_MULTI_IMAGES
- depends on IMAGE_COMPRESSION
- prompt "Maximum PBLX size"
- hex
- default 0xffffffff
- help
- Define the maximum size of the PBLX image.
- The pblx is a self extracting barebox binary.
-
config HAVE_CONFIGURABLE_MEMORY_LAYOUT
bool
diff --git a/images/Makefile b/images/Makefile
index 4e82dc92ee..59b81f9b6d 100644
--- a/images/Makefile
+++ b/images/Makefile
@@ -66,6 +66,7 @@ $(obj)/%.pbl: $(pbl-lds) $(barebox-pbl-common) $(obj)/piggy.o FORCE
$(obj)/%.pblb: $(obj)/%.pbl FORCE
$(call if_changed,objcopy_bin,$(*F))
+ $(call cmd,check_file_size,$@,$(CONFIG_BAREBOX_MAX_IMAGE_SIZE))
$(obj)/%.s: $(obj)/% FORCE
$(call if_changed,disasm)