[coreboot-gerrit] New patch to review for coreboot: build system: establish priority levels for CBFS file additions

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Wed Nov 25 19:28:57 CET 2015


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

-gerrit

commit 844552d5a710bbaba612519f84d8599fef2e2a9c
Author: Patrick Georgi <pgeorgi at chromium.org>
Date:   Wed Nov 25 17:04:17 2015 +0100

    build system: establish priority levels for CBFS file additions
    
    Add files with fixed positions, then files with alignment requirements
    and finally those that can reside everywhere to prevent the most obvious
    collisions.
    This isn't perfect yet (the "aligned" group may need some additional
    sorting), but should avoid the worst instances ("free floating" files
    allocating space required by fixed location files, for example).
    
    Change-Id: I871e1a92ad90e63fc4e299fe1b228b4b00a35930
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
---
 Makefile.inc | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/Makefile.inc b/Makefile.inc
index 7fe1e17..450a258 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -238,11 +238,16 @@ cbfs-files-handler= \
 				$(info ERROR: It is not allowed to specify both alignment and position for $($(2)-file)) \
 				$(eval FAILBUILD:=1) \
 			)) \
+		$(eval _cbfs-bucket:=regular ) \
+		$(if $(strip $($(2)-position)), \
+			$(eval _cbfs-bucket:=fixed)) \
+		$(if $(strip $($(2)-align)), \
+			$(eval _cbfs-bucket:=aligned)) \
 		$(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)|$(strip $($(2)-position))|$($(2)-align))\
+		$(eval cbfs-files-$(_cbfs-bucket) += $(tmp-cbfs-file)|$(2)|$($(2)-type)|$($(2)-compression)|$(strip $($(2)-position))|$($(2)-align))\
 		$(eval $(2)-name:=) \
 		$(eval $(2)-type:=) \
 		$(eval $(2)-compression:=) \
@@ -569,6 +574,7 @@ cbfs-add-cmd = \
 	       $(if $(filter-out stage,$(call extract_nth,3,$(file))),-t $(call extract_nth,3,$(file))) \
 	       $(if $(call extract_nth,4,$(file)),-c $(call extract_nth,4,$(file)))
 
+cbfs-files=$(cbfs-files-fixed) $(cbfs-files-aligned) $(cbfs-files-regular)
 ifneq ($(CONFIG_UPDATE_IMAGE),y)
 prebuild-files = \
 	       $(foreach file,$(cbfs-files), \



More information about the coreboot-gerrit mailing list