| From 27a2cd6a1980adf3002412678c8fdec6528dc47d Mon Sep 17 00:00:00 2001 |
| From: Trent Piepho <tpiepho@impinj.com> |
| Date: Fri, 6 Apr 2018 17:11:27 -0700 |
| Subject: [PATCH] imx: Create distinct pre-processed mkimage config files |
| |
| Each imx image is created by a separate sub-make and during this process |
| the mkimage config file is run though cpp. |
| |
| The cpp output is to the same file no matter what imx image is being |
| created. |
| |
| This means if two imx images are generated in parallel they will attempt |
| to independently produce the same pre-processed mkimage config file at |
| the same time. |
| |
| Avoid the problem by making the pre-processed config file name unique |
| based on the imx image it will be used in. This way each image will |
| create a unique config file and they won't clobber each other when run |
| in parallel. |
| |
| This should fixed the build bug referenced in b5b0e4e3 ("imximage: |
| Remove failure when no IVT offset is found"). |
| |
| Cc: Breno Lima <breno.lima@nxp.com> |
| Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> |
| Cc: Fabio Estevam <fabio.estevam@nxp.com> |
| Signed-off-by: Trent Piepho <tpiepho@impinj.com> |
| Tested-by: Fabio Estevam <fabio.estevam@nxp.com> |
| [fabio: Adapted to imx_v2017.03_4.9.11_1.0.0_ga] |
| Signed-off-by: Fabio Estevam <festevam@gmail.com> |
| --- |
| arch/arm/imx-common/Makefile | 15 ++++++++------- |
| 1 file changed, 8 insertions(+), 7 deletions(-) |
| |
| diff --git a/arch/arm/imx-common/Makefile b/arch/arm/imx-common/Makefile |
| index d862258..f1bae8d 100644 |
| --- a/arch/arm/imx-common/Makefile |
| +++ b/arch/arm/imx-common/Makefile |
| @@ -69,9 +69,11 @@ endif |
| quiet_cmd_cpp_cfg = CFGS $@ |
| cmd_cpp_cfg = $(CPP) $(cpp_flags) -x c -o $@ $< |
| |
| -IMX_CONFIG = $(CONFIG_IMX_CONFIG:"%"=%).cfgtmp |
| +# mkimage source config file |
| +IMX_CONFIG = $(CONFIG_IMX_CONFIG:"%"=%) |
| |
| -$(IMX_CONFIG): %.cfgtmp: % FORCE |
| +# How to create a cpp processed config file, they all use the same source |
| +%.cfgout: $(IMX_CONFIG) FORCE |
| $(Q)mkdir -p $(dir $@) |
| $(call if_changed_dep,cpp_cfg) |
| |
| @@ -79,7 +81,7 @@ MKIMAGEFLAGS_u-boot.imx = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) -T imxim |
| -e $(CONFIG_SYS_TEXT_BASE) |
| u-boot.imx: MKIMAGEOUTPUT = u-boot.imx.log |
| |
| -u-boot.imx: u-boot.bin $(IMX_CONFIG) $(PLUGIN).bin FORCE |
| +u-boot.imx: u-boot.bin u-boot.cfgout $(PLUGIN).bin FORCE |
| $(call if_changed,mkimage) |
| |
| ifeq ($(CONFIG_OF_SEPARATE),y) |
| @@ -87,16 +89,15 @@ MKIMAGEFLAGS_u-boot-dtb.imx = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) -T i |
| -e $(CONFIG_SYS_TEXT_BASE) |
| u-boot-dtb.imx: MKIMAGEOUTPUT = u-boot-dtb.imx.log |
| |
| -u-boot-dtb.imx: u-boot-dtb.bin $(IMX_CONFIG) $(PLUGIN).bin FORCE |
| +u-boot-dtb.imx: u-boot-dtb.bin u-boot-dtb.cfgout $(PLUGIN).bin FORCE |
| $(call if_changed,mkimage) |
| endif |
| |
| MKIMAGEFLAGS_SPL = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) -T imximage \ |
| -e $(CONFIG_SPL_TEXT_BASE) |
| - |
| SPL: MKIMAGEOUTPUT = SPL.log |
| |
| -SPL: spl/u-boot-spl.bin $(IMX_CONFIG) $(PLUGIN).bin FORCE |
| +SPL: spl/u-boot-spl.bin spl/u-boot-spl.cfgout $(PLUGIN).bin FORCE |
| $(call if_changed,mkimage) |
| |
| MKIMAGEFLAGS_u-boot.uim = -A arm -O U-Boot -a $(CONFIG_SYS_TEXT_BASE) \ |
| @@ -124,4 +125,4 @@ cmd_u-boot-nand-spl_imx = (printf '\000\000\000\000\106\103\102\040\001' && \ |
| spl/u-boot-nand-spl.imx: SPL FORCE |
| $(call if_changed,u-boot-nand-spl_imx) |
| |
| -targets += $(addprefix ../../../,$(IMX_CONFIG) SPL u-boot.uim spl/u-boot-nand-spl.imx) |
| +targets += $(addprefix ../../../,SPL spl/u-boot-spl.cfgout u-boot-dtb.cfgout u-boot.cfgout u-boot.uim spl/u-boot-nand-spl.imx) |
| -- |
| 2.7.4 |
| |