[coreboot-gerrit] New patch to review for coreboot: refcode: Add support for building with extracted refcode blob

Duncan Laurie (dlaurie@google.com) gerrit at coreboot.org
Sun Jan 17 03:10:37 CET 2016


Duncan Laurie (dlaurie at google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13024

-gerrit

commit 87fbd792370062cab20d66b9762984b88a5df2aa
Author: Duncan Laurie <dlaurie at google.com>
Date:   Sat Jan 16 17:05:42 2016 -0800

    refcode: Add support for building with extracted refcode blob
    
    When chromebooks with separate refcode binary are built they use
    an EFI binary and rmod.  When building an image using the refcode
    blob extracted from an existing image it needs to be re-added as
    a raw type instead of a stage type.
    
    This was tested by building and booting an image for Pixel 2 and
    re-using the reference code binary extracted with:
    cbfstool bios.bin extract -n fallback/refcode -f refcode.bin
    
    Change-Id: I59b13a57a2406dec15f5a186b08932a1737353d4
    Signed-off-by: Duncan Laurie <dlaurie at google.com>
---
 Makefile.inc                    | 6 +++++-
 src/soc/intel/baytrail/Kconfig  | 7 +++++++
 src/soc/intel/broadwell/Kconfig | 7 +++++++
 3 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/Makefile.inc b/Makefile.inc
index b1f5595..a584485 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -781,9 +781,13 @@ endif
 endif
 
 ifeq ($(CONFIG_HAVE_REFCODE_BLOB),y)
+ifeq ($(CONFIG_REFCODE_BLOB_TYPE),stage)
 REFCODE_BLOB=$(obj)/refcode.rmod
 $(REFCODE_BLOB): $(RMODTOOL)
 	$(RMODTOOL) -i $(CONFIG_REFCODE_BLOB_FILE) -o $@
+else
+REFCODE_BLOB=$(CONFIG_REFCODE_BLOB_FILE)
+endif
 endif
 
 $(obj)/coreboot.rom: $(obj)/coreboot.pre $(objcbfs)/ramstage.elf $(CBFSTOOL) $$(INTERMEDIATE)
@@ -845,7 +849,7 @@ $(CONFIG_CBFS_PREFIX)/payload-options := $(ADDITIONAL_PAYLOAD_CONFIG)
 
 cbfs-files-$(CONFIG_HAVE_REFCODE_BLOB) += $(CONFIG_CBFS_PREFIX)/refcode
 $(CONFIG_CBFS_PREFIX)/refcode-file := $(REFCODE_BLOB)
-$(CONFIG_CBFS_PREFIX)/refcode-type := stage
+$(CONFIG_CBFS_PREFIX)/refcode-type := $(CONFIG_REFCODE_BLOB_TYPE)
 $(CONFIG_CBFS_PREFIX)/refcode-compression := $(CBFS_COMPRESS_FLAG)
 
 cbfs-files-$(CONFIG_SEABIOS_VGA_COREBOOT) += vgaroms/seavgabios.bin
diff --git a/src/soc/intel/baytrail/Kconfig b/src/soc/intel/baytrail/Kconfig
index 8de32de..b592610 100644
--- a/src/soc/intel/baytrail/Kconfig
+++ b/src/soc/intel/baytrail/Kconfig
@@ -170,6 +170,13 @@ config REFCODE_BLOB_FILE
 	help
 	 The path and filename to the file to be added to cbfs.
 
+config REFCODE_BLOB_TYPE
+	string "cbfs file type for reference code blob"
+	default "raw"
+	help
+	 The cbfs file type.  Use stage for elf format and
+	 raw for a binary that was extracted from cbfs.
+
 endif # HAVE_REFCODE_BLOB
 
 config CHIPSET_BOOTBLOCK_INCLUDE
diff --git a/src/soc/intel/broadwell/Kconfig b/src/soc/intel/broadwell/Kconfig
index 33644e8..0443d7f 100644
--- a/src/soc/intel/broadwell/Kconfig
+++ b/src/soc/intel/broadwell/Kconfig
@@ -203,6 +203,13 @@ config REFCODE_BLOB_FILE
 	help
 	 The path and filename to the file to be added to cbfs.
 
+config REFCODE_BLOB_TYPE
+	string "cbfs file type for reference code blob"
+	default "raw"
+	help
+	 The cbfs file type.  Use stage for elf format and
+	 raw for a binary that was extracted from cbfs.
+
 endif # HAVE_REFCODE_BLOB
 
 config HAVE_ME_BIN



More information about the coreboot-gerrit mailing list