[U-Boot] [PATCH] imx: Create distinct pre-processed mkimage config files
Stefano Babic
sbabic at denx.de
Sun Apr 15 10:23:20 UTC 2018
On 07/04/2018 02:11, Trent Piepho wrote:
> 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 at nxp.com>
> Cc: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
> Cc: Fabio Estevam <fabio.estevam at nxp.com>
> Signed-off-by: Trent Piepho <tpiepho at impinj.com>
> ---
> arch/arm/mach-imx/Makefile | 15 ++++++++-------
> 1 file changed, 8 insertions(+), 7 deletions(-)
>
> diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> index 95a542fa01..306f779392 100644
> --- a/arch/arm/mach-imx/Makefile
> +++ b/arch/arm/mach-imx/Makefile
> @@ -78,9 +78,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)
>
> @@ -88,7 +90,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)
> @@ -96,16 +98,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) \
> @@ -133,7 +134,7 @@ 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)
>
> obj-$(CONFIG_ARM64) += sip.o
>
>
Applied to u-boot-imx, thanks !
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
More information about the U-Boot
mailing list