On i.MX8M(Q/M/N/P), barebox PBL is loaded 0x1000 bytes into ITCM at address 0x7e00_1000. ITCM is 128K followed by 128K of DTCM. Therefore, in total, barebox PBL may not exceed 0x3f000. Now that we have a common macro for defining boards, let's add a MAX_PBL_MEMORY_SIZE_$(entrypoint) into it, so check that we don't exceed this size at runtime. Boards that trip over this, should consider using get_builtin_firmware_ext to offload binaries into barebox proper. Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> --- images/Makefile.imx | 1 + 1 file changed, 1 insertion(+) diff --git a/images/Makefile.imx b/images/Makefile.imx index 50f0a64b3091..ca09853c4b6e 100644 --- a/images/Makefile.imx +++ b/images/Makefile.imx @@ -26,6 +26,7 @@ $(eval ifeq ($($(strip $(1))), y) pblb-y += $(strip $(2)) CFG_$(strip $(2)).pblb.imximg = $(board)/$(strip $(3)).imxcfg + MAX_PBL_MEMORY_SIZE_$(strip $(2)) = 0x3f000 FILE_barebox-$(strip $(4)).img = $(strip $(2)).pblb.pimximg FILE_barebox-$(strip $(4))-s.img = $(strip $(2)).pblb.psimximg image-y += barebox-$(strip $(4)).img -- 2.39.2