[coreboot-gerrit] Patch set updated for coreboot: 6674c86 build system: allow defining alignment for cbfs-files

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Thu Dec 18 19:06:51 CET 2014


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7728

-gerrit

commit 6674c86ff3e3fa3f3c228b395691ae028bffe152
Author: Patrick Georgi <pgeorgi at google.com>
Date:   Tue Dec 9 12:49:21 2014 +0100

    build system: allow defining alignment for cbfs-files
    
    Just set $(filename)-align to the desired alignment,
    and the build system will figure it out using
    cbfstool locate.
    
    Change-Id: I44369d947888041c21ff51ae49f9aacf510918a0
    Signed-off-by: Patrick Georgi <pgeorgi at google.com>
---
 Makefile.inc | 26 ++++++++++++++++++--------
 1 file changed, 18 insertions(+), 8 deletions(-)

diff --git a/Makefile.inc b/Makefile.inc
index 880c38d..c9da7f8 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -208,16 +208,22 @@ cbfs-files-handler= \
 				$(info This build configuration requires $($(2)-required)) \
 				$(eval FAILBUILD:=1) \
 			)) \
+		$(if $(strip $($(2)-align)), \
+			$(if $(strip $($(2)-position)), \
+				$(info ERROR: It is not allowed to specify both alignment and position for $($(2)-file)) \
+				$(eval FAILBUILD:=1) \
+			)) \
 		$(if $(tmp-cbfs-method), \
 			$(eval tmp-old-cbfs-file:=$(tmp-cbfs-file)) \
 			$(eval tmp-cbfs-file:=$(shell mkdir -p $(obj)/mainboard/$(MAINBOARDDIR); mktemp $(obj)/mainboard/$(MAINBOARDDIR)/cbfs-file.XXXXXX).out) \
 			$(call cbfs-files-processor-$(tmp-cbfs-method),$(tmp-old-cbfs-file),$(tmp-cbfs-file))) \
-		$(eval cbfs-files += $(tmp-cbfs-file)|$(2)|$($(2)-type)|$($(2)-compression)|$($(2)-position)) \
+		$(eval cbfs-files += $(tmp-cbfs-file)|$(2)|$($(2)-type)|$($(2)-compression)|$(split $($(2)-position))|$($(2)-align))\
 		$(eval $(2)-name:=) \
 		$(eval $(2)-type:=) \
 		$(eval $(2)-compression:=) \
 		$(eval $(2)-position:=) \
-		$(eval $(2)-required:=)
+		$(eval $(2)-required:=) \
+		$(eval $(2)-align:=)
 
 #######################################################################
 # a variety of flags for our build
@@ -509,16 +515,20 @@ ifeq ($(CONFIG_PAYLOAD_GRUB2),y)
 COREBOOT_ROM_DEPENDENCIES+=grub2
 endif
 
-extract_nth=$(word $(1), $(subst |, ,$(2)))
+extract_nth=$(patsubst -%-,%,$(word $(1), $(subst |,- -,-$(2)-)))
 
-ifneq ($(CONFIG_UPDATE_IMAGE),y)
-prebuild-files = \
-	       $(foreach file,$(cbfs-files), \
+cbfs-add-cmd = \
 	       $(CBFSTOOL) $@.tmp \
 	       add$(if $(filter stage,$(call extract_nth,3,$(file))),-stage)$(if $(filter payload,$(call extract_nth,3,$(file))),-payload) \
 	       -f $(call extract_nth,1,$(file)) \
-	       -n $(call extract_nth,2,$(file)) $(if $(filter-out stage,$(call extract_nth,3,$(file))),-t $(call extract_nth,3,$(file))) \
-	       $(if $(call extract_nth,4,$(file)),-b $(call extract_nth,4,$(file))) &&)
+	       -n $(call extract_nth,2,$(file)) $(if $(filter-out stage,$(call extract_nth,3,$(file))),-t $(call extract_nth,3,$(file)))
+
+ifneq ($(CONFIG_UPDATE_IMAGE),y)
+prebuild-files = \
+	       $(foreach file,$(cbfs-files), \
+	       $(if $(call extract_nth,6,$(file)),$(CBFSTOOL) $@.tmp locate -f $(call extract_nth,1,$(file)) -n $(call extract_nth,2,$(file)) -a $(call extract_nth,6,$(file))|xargs -i \
+	       $(cbfs-add-cmd) -b {} &&,\
+	       $(cbfs-add-cmd) $(if $(call extract_nth,5,$(file)),-b $(call extract_nth,5,$(file))) &&))
 prebuilt-files = $(foreach file,$(cbfs-files), $(call extract_nth,1,$(file)))
 
 $(obj)/coreboot.pre1: $(objcbfs)/bootblock.bin $$(prebuilt-files) $(CBFSTOOL) $$(cpu_ucode_cbfs_file)



More information about the coreboot-gerrit mailing list