From e3d2d6fd70ed932c98ac19f6294cb610d27fa7bf Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Wed, 7 Oct 2015 15:31:35 -0500 Subject: [PATCH] vboot: allow more flexibility when adding verstage When a separate verstage is employed the verstage file was just being added through the cbfs-files mechanism. However, that doesn't allow one to specify other flags that aren't supported that an architecture may require. The x86 architecture is one of those entities in that it needs its verstage to be XIP. To that end provide a mechanism for adding verstage with options. BUG=chrome-os-partner:44827 BRANCH=None TEST=Built and booted glados using his mechansim on x86. Change-Id: Iaba053a55a4d84d8455026e7d6fa548744edaa28 Signed-off-by: Aaron Durbin Reviewed-on: http://review.coreboot.org/11819 Tested-by: build bot (Jenkins) Reviewed-by: Duncan Laurie Reviewed-by: Paul Menzel --- Makefile.inc | 5 ++++- src/vendorcode/google/chromeos/vboot2/Makefile.inc | 5 +---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Makefile.inc b/Makefile.inc index d84bf19271..b99effe0e7 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -615,7 +615,7 @@ $(REFCODE_BLOB): $(RMODTOOL) $(RMODTOOL) -i $(CONFIG_REFCODE_BLOB_FILE) -o $@ endif -$(obj)/coreboot.rom: $(obj)/coreboot.pre $(objcbfs)/ramstage.elf $(CBFSTOOL) $$(call strip_quotes,$$(COREBOOT_ROM_DEPENDENCIES)) $$(INTERMEDIATE) $(REFCODE_BLOB) +$(obj)/coreboot.rom: $(obj)/coreboot.pre $(objcbfs)/ramstage.elf $(CBFSTOOL) $$(call strip_quotes,$$(COREBOOT_ROM_DEPENDENCIES)) $$(INTERMEDIATE) $(REFCODE_BLOB) $$(VERSTAGE_FILE) @printf " CBFS $(subst $(obj)/,,$(@))\n" # The full ROM may be larger than the CBFS part, so create an empty # file (filled with \377 = 0xff) and copy the CBFS image over it. @@ -669,6 +669,9 @@ ifeq ($(CONFIG_INCLUDE_CONFIG_FILE),y) if [ -f "$(PAYLOAD_VERSION)" ]; then \ $(CBFSTOOL) $@.tmp add -f "$(PAYLOAD_VERSION)" -n payload_revision -t raw; \ fi +endif +ifeq ($(CONFIG_SEPARATE_VERSTAGE),y) + $(CBFSTOOL) $@.tmp add-stage -f $(VERSTAGE_FILE) -n $(CONFIG_CBFS_PREFIX)/verstage $(CBFSTOOL_VERSTAGE_OPTS) endif mv $@.tmp $@ @printf " CBFSPRINT $(subst $(obj)/,,$(@))\n\n" diff --git a/src/vendorcode/google/chromeos/vboot2/Makefile.inc b/src/vendorcode/google/chromeos/vboot2/Makefile.inc index c2ee868a7b..11ce2821d8 100644 --- a/src/vendorcode/google/chromeos/vboot2/Makefile.inc +++ b/src/vendorcode/google/chromeos/vboot2/Makefile.inc @@ -73,10 +73,7 @@ $(VB2_LIB): $(obj)/config.h libverstage-srcs += $(VB2_LIB) ifeq ($(CONFIG_SEPARATE_VERSTAGE),y) -cbfs-files-y += $(call strip_quotes,$(CONFIG_CBFS_PREFIX))/verstage -$(call strip_quotes,$(CONFIG_CBFS_PREFIX))/verstage-file = $(objcbfs)/verstage.elf -$(call strip_quotes,$(CONFIG_CBFS_PREFIX))/verstage-type = stage -$(call strip_quotes,$(CONFIG_CBFS_PREFIX))/verstage-compression = none +VERSTAGE_FILE = $(objcbfs)/verstage.elf else ifeq ($(CONFIG_VBOOT_STARTS_IN_BOOTBLOCK),y) bootblock-srcs += $(objgenerated)/libverstage.a