From ae5f8a0751a060a5a8f2e6202c846dd45f8257a2 Mon Sep 17 00:00:00 2001 From: Furquan Shaikh Date: Sat, 21 Nov 2020 22:21:42 -0800 Subject: Makefile: Allow platform to provide additional params for add cmd This change adds optional CBFSTOOL_ADD_CMD_OPTIONS that can be used by arch/SoC/mainboard Makefiles to supply any additional arguments that need to be passed into cbfstool when using cbfstool add command. This is useful when platform wants to add these parameters depending upon some arch/SoC/mainboard specific configs. Immediate use case is the fast SPI controller on Intel platforms adding arguments for extended window base and size. BUG=b:171534504 Change-Id: I2f48bc3f494d9a5da7e99b530a39d6078b4a881c Signed-off-by: Furquan Shaikh Reviewed-on: https://review.coreboot.org/c/coreboot/+/47884 Reviewed-by: Tim Wawrzynczak Tested-by: build bot (Jenkins) --- Makefile.inc | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'Makefile.inc') diff --git a/Makefile.inc b/Makefile.inc index 420ce515ce37..8cba96be4f77 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -833,6 +833,10 @@ endif # cbfs-add-cmd-for-region # $(call cbfs-add-cmd-for-region,file in extract_nth format,region name) +# +# CBFSTOOL_ADD_CMD_OPTIONS can be used by arch/SoC/mainboard to supply +# add commands with any additional arguments for cbfstool. +# Example: --ext-win-base --ext-win-size define cbfs-add-cmd-for-region $(CBFSTOOL) $@.tmp \ add$(if $(filter stage,$(call extract_nth,3,$(1))),-stage)$(if \ @@ -847,8 +851,8 @@ define cbfs-add-cmd-for-region -r $(2) \ $(if $(call extract_nth,6,$(1)),-a $(call extract_nth,6,$(file)), \ $(if $(call extract_nth,5,$(file)),-b $(call extract_nth,5,$(file)))) \ - $(call extract_nth,7,$(1)) - + $(call extract_nth,7,$(1)) \ + $(CBFSTOOL_ADD_CMD_OPTIONS) endef # Empty line before endef is necessary so cbfs-add-cmd-for-region ends in a @@ -1083,7 +1087,8 @@ ifeq ($(CONFIG_ARCH_X86),y) $(TXTIBB) \ $(CBNTIBB) \ -b -$(call file-size,$(objcbfs)/bootblock.bin) $(cbfs-autogen-attributes) \ - $(TS_OPTIONS) + $(TS_OPTIONS) \ + $(CBFSTOOL_ADD_CMD_OPTIONS) else # ifeq ($(CONFIG_ARCH_X86),y) $(CBFSTOOL) $@.tmp write -u \ -r BOOTBLOCK \ @@ -1095,10 +1100,11 @@ else # ifeq ($(CONFIG_ARCH_X86),y) -f $@.tmp.2 \ -n "header pointer" \ -t "cbfs header" \ - -b -4 + -b -4 \ + $(CBFSTOOL_ADD_CMD_OPTIONS) rm -f $@.tmp.2 endif # ifeq ($(CONFIG_ARCH_X86),y) - $(CBFSTOOL) $@.tmp add-master-header $(TS_OPTIONS) + $(CBFSTOOL) $@.tmp add-master-header $(TS_OPTIONS) $(CBFSTOOL_ADD_CMD_OPTIONS) $(prebuild-files) true mv $@.tmp $@ else # ifneq ($(CONFIG_UPDATE_IMAGE),y) -- cgit v1.2.3