Patrick Georgi (pgeorgi@google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10004
-gerrit
commit 03599be7ca70e15cbb206c294d38ba8e9fd21053 Author: Patrick Georgi pgeorgi@chromium.org Date: Mon Apr 27 18:09:22 2015 +0200
vboot2: Build verstage archive, then use that for building the stage
This slightly streamlines integrating the vboot2 library and prepares for merging verstage and bootblock on selected devices.
Change-Id: I2163d1411d0c0c6bf80bce64796e1b6a5a02b802 Signed-off-by: Patrick Georgi pgeorgi@chromium.org --- Makefile.inc | 4 ++++ src/arch/arm/Makefile.inc | 4 ++-- src/arch/arm64/Makefile.inc | 4 ++-- src/vendorcode/google/chromeos/vboot2/Makefile.inc | 2 ++ 4 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/Makefile.inc b/Makefile.inc index e9cb920..7a24c27 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -361,6 +361,10 @@ $(obj)/%.bootblock.o $(abspath $(obj))/%.bootblock.o: $(obj)/%.c $(obj)/config.h @printf " CC $(subst $(obj)/,,$(@))\n" $(CC_bootblock) -MMD $(CFLAGS_bootblock) $(CPPFLAGS_bootblock) $(bootblock-c-ccopts) -c -o $@ $<
+$(objgenerated)/libverstage.a: $$(verstage-objs) + rm -f $@ + ar rcsT $@ $^ + ####################################################################### # Clean up rules clean-abuild: diff --git a/src/arch/arm/Makefile.inc b/src/arch/arm/Makefile.inc index d25bc2e..c6c38d5 100644 --- a/src/arch/arm/Makefile.inc +++ b/src/arch/arm/Makefile.inc @@ -73,9 +73,9 @@ endif # CONFIG_ARCH_BOOTBLOCK_ARM # verification stage ###############################################################################
-$(objcbfs)/verstage.debug: $$(verstage-objs) $(obj)/mainboard/$(MAINBOARDDIR)/memlayout.verstage.ld $$(VB2_LIB) +$(objcbfs)/verstage.debug: $(objgenerated)/libverstage.a $(obj)/mainboard/$(MAINBOARDDIR)/memlayout.verstage.ld @printf " LINK $(subst $(obj)/,,$(@))\n" - $(LD_verstage) --gc-sections -static -o $@ -L$(obj) -T $(obj)/mainboard/$(MAINBOARDDIR)/memlayout.verstage.ld --start-group $(verstage-objs) --end-group + $(LD_verstage) --gc-sections -static -o $@ -L$(obj) -T $(obj)/mainboard/$(MAINBOARDDIR)/memlayout.verstage.ld --start-group $(objgenerated)/libverstage.a --end-group
verstage-y += div0.c verstage-y += eabi_compat.c diff --git a/src/arch/arm64/Makefile.inc b/src/arch/arm64/Makefile.inc index 7d36bf4..adaba8e 100644 --- a/src/arch/arm64/Makefile.inc +++ b/src/arch/arm64/Makefile.inc @@ -84,9 +84,9 @@ endif # CONFIG_ARCH_BOOTBLOCK_ARM64
ifeq ($(CONFIG_ARCH_VERSTAGE_ARM64),y)
-$(objcbfs)/verstage.debug: $$(verstage-objs) $$(VB2_LIB) $(obj)/mainboard/$(MAINBOARDDIR)/memlayout.verstage.ld $(obj)/config.h +$(objcbfs)/verstage.debug: $(objgenerated)/libverstage.a $(obj)/mainboard/$(MAINBOARDDIR)/memlayout.verstage.ld $(obj)/config.h @printf " LINK $(subst $(obj)/,,$(@))\n" - $(LD_verstage) --gc-sections -static -o $@ -L$(obj) --start-group $(verstage-objs) $(VBS_LIB) --end-group -T $(obj)/mainboard/$(MAINBOARDDIR)/memlayout.verstage.ld + $(LD_verstage) --gc-sections -static -o $@ -L$(obj) --start-group $(objgenerated)/libverstage.a --end-group -T $(obj)/mainboard/$(MAINBOARDDIR)/memlayout.verstage.ld
verstage-$(CONFIG_EARLY_CONSOLE) += early_console.c verstage-y += div0.c diff --git a/src/vendorcode/google/chromeos/vboot2/Makefile.inc b/src/vendorcode/google/chromeos/vboot2/Makefile.inc index 062f12e..5e24788 100644 --- a/src/vendorcode/google/chromeos/vboot2/Makefile.inc +++ b/src/vendorcode/google/chromeos/vboot2/Makefile.inc @@ -56,6 +56,8 @@ $(VB2_LIB): $(obj)/config.h fwlib20
VERSTAGE_ELF = $(objcbfs)/verstage.elf +verstage-srcs += $(VB2_LIB) + cbfs-files-y += $(call strip_quotes,$(CONFIG_CBFS_PREFIX))/verstage fallback/verstage-file = $(VERSTAGE_ELF) fallback/verstage-type = stage