summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
authorYu-Ping Wu <yupingso@chromium.org>2022-05-20 17:36:46 +0800
committerJulius Werner <jwerner@chromium.org>2022-05-27 01:46:24 +0000
commit471eda5ae183b7c2add94529e9b8fc627a155392 (patch)
tree76c3fb492af6b86b3498867e0a4cdb088b1c73e8 /src/arch
parenta182faeb88a0b2313ac83371fdefd6ca0d30bb8d (diff)
downloadcoreboot-471eda5ae183b7c2add94529e9b8fc627a155392.tar.gz
Makefile.inc: Add bootblock to CBFS before others
With CBFS verification, cbfstool (CB:41121) needs bootblock to be present in coreboot.pre in order to locate the metadata hash stored in it. Therefore we have to ensure that bootblock is added to CBFS before other CBFS files are added. To solve the problem, create the 'add_bootblock' function, and call it in the coreboot.pre recipe. Because bootblock.bin is now a prerequisite of coreboot.pre, it will get built even if CONFIG_BOOTBLOCK_IN_CBFS=n. BUG=b:233263447 TEST=emerge-guybrush coreboot TEST=emerge-corsola coreboot chromeos-bootimage TEST=cbfstool image-kingler.bin print -v TEST=Kingler booted successfully BRANCH=none Change-Id: I385deb8231e44310ee139c3f69f449e75b92b2be Signed-off-by: Yu-Ping Wu <yupingso@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/64547 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/x86/Makefile.inc10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc
index 02ee902e38..eaced1f220 100644
--- a/src/arch/x86/Makefile.inc
+++ b/src/arch/x86/Makefile.inc
@@ -102,15 +102,11 @@ else
$(eval $(call early_x86_stage,bootblock,elf64-x86-64))
endif
-ifneq ($(CONFIG_UPDATE_IMAGE),y)
ifeq ($(CONFIG_BOOTBLOCK_IN_CBFS),y)
-$(call add_intermediate, add_bootblock, $(objcbfs)/bootblock.bin)
- @printf " CBFS $(subst $(obj)/,,$(@))\n"
- $(CBFSTOOL) $< add -f $(objcbfs)/bootblock.bin -n bootblock -t bootblock $(TXTIBB) -b -$(call file-size,$(objcbfs)/bootblock.bin) \
+add_bootblock = \
+ $(CBFSTOOL) $(1) add -f $(2) -n bootblock -t bootblock $(TXTIBB) \
+ -b -$(call file-size,$(2)) \
$(cbfs-autogen-attributes) $(TS_OPTIONS) $(CBFSTOOL_ADD_CMD_OPTIONS)
-else # Make sure the bootblock gets build, if only for buildtesting
-$(call add_intermediate, gen_bootblock, $(objcbfs)/bootblock.bin)
-endif
endif
$(call src-to-obj,bootblock,$(dir)/walkcbfs.S): $(obj)/fmap_config.h