summaryrefslogtreecommitdiff
path: root/src/vendorcode/google
diff options
context:
space:
mode:
authorPaul Kocialkowski <contact@paulk.fr>2016-07-12 00:29:37 +0200
committerMartin Roth <martinroth@google.com>2016-07-15 00:40:19 +0200
commit580db7fd9036134b1da4fe7340e306fee4681659 (patch)
treecc85ca180c2fb1fa296cea612538cff5944eab37 /src/vendorcode/google
parent0776fcb1b5fba1e5df08cc8b0f436d6c7564516f (diff)
chromeos: Fill in the firmware id (RO, RW A, RW B) FMAP sections
This fills up the RO_FRID, RW_FWID_A and RW_FWID_B FMAP sections with the relevant version from KERNELVERSION, padded to the right size and gap-filled with zeros. Change-Id: I45c724555f8e41be02b92ef2990bf6710be805c2 Signed-off-by: Paul Kocialkowski <contact@paulk.fr> Reviewed-on: https://review.coreboot.org/15604 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Diffstat (limited to 'src/vendorcode/google')
-rw-r--r--src/vendorcode/google/chromeos/Makefile.inc15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/vendorcode/google/chromeos/Makefile.inc b/src/vendorcode/google/chromeos/Makefile.inc
index 2b579d1587..18ce13eb38 100644
--- a/src/vendorcode/google/chromeos/Makefile.inc
+++ b/src/vendorcode/google/chromeos/Makefile.inc
@@ -155,6 +155,19 @@ $(obj)/VBLOCK_%.bin: $(obj)/FW_MAIN_%.bin $(FUTILITY)
--kernelkey "$(CONFIG_VBOOT_KERNEL_KEY)" \
--flags $(CONFIG_VBOOT_KEYBLOCK_PREAMBLE_FLAGS)
-files_added:: $(obj)/VBLOCK_A.bin $(obj)/VBLOCK_B.bin
+$(obj)/RO_FRID.bin: $(obj)/coreboot.rom
+ $(CBFSTOOL) $(obj)/coreboot.rom read -r $(basename $(notdir $@)) -f $@
+ printf $(KERNELVERSION) > $@.tmp
+ objcopy -I binary -O binary --pad-to=$$( stat --printf="%s" $@ ) --gap-fill=0 $@.tmp $@
+
+$(obj)/RW_FWID_%.bin: $(obj)/coreboot.rom
+ $(CBFSTOOL) $(obj)/coreboot.rom read -r $(basename $(notdir $@)) -f $@
+ printf $(KERNELVERSION) > $@.tmp
+ objcopy -I binary -O binary --pad-to=$$( stat --printf="%s" $@ ) --gap-fill=0 $@.tmp $@
+
+files_added:: $(obj)/VBLOCK_A.bin $(obj)/VBLOCK_B.bin $(obj)/RO_FRID.bin $(obj)/RW_FWID_A.bin $(obj)/RW_FWID_B.bin
$(CBFSTOOL) $(obj)/coreboot.rom write -u -r VBLOCK_A -f $(obj)/VBLOCK_A.bin
$(CBFSTOOL) $(obj)/coreboot.rom write -u -r VBLOCK_B -f $(obj)/VBLOCK_B.bin
+ $(CBFSTOOL) $(obj)/coreboot.rom write -u -r RO_FRID -f $(obj)/RO_FRID.bin
+ $(CBFSTOOL) $(obj)/coreboot.rom write -u -r RW_FWID_A -f $(obj)/RW_FWID_A.bin
+ $(CBFSTOOL) $(obj)/coreboot.rom write -u -r RW_FWID_B -f $(obj)/RW_FWID_B.bin