soc/intel/apollolake: add support for extracting LBP2 from IFWI

Add support for automatic extraction of the Second Logical Boot
Partition from the supplied IFWI binary.

Change-Id: Ia2a9ca233bddb8e9fb4e980f0ae5e6fcf3fc757c
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/37681
Reviewed-by: Furquan Shaikh <furquan@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Jeremy Compostella 2019-12-12 14:39:11 -07:00 committed by Patrick Georgi
parent 31e2188c38
commit 0f9858f5a1
2 changed files with 19 additions and 3 deletions

View File

@ -211,9 +211,17 @@ config LBP2_FMAP_NAME
help
Name of FMAP region to write logical boot partition 2 data.
config LBP2_FROM_IFWI
bool "Extract the LBP2 from the IFWI binary"
depends on NEED_LBP2
default n
help
The Logical Boot Partition will be automatically extracted
from the supplied IFWI binary
config LBP2_FILE_NAME
string "Path of file to write to logical boot partition 2 region"
depends on NEED_LBP2
depends on NEED_LBP2 && !LBP2_FROM_IFWI
default "3rdparty/blobs/mainboard/$(CONFIG_MAINBOARD_DIR)/lbp2.bin"
help
Name of file to store in the logical boot partition 2 region.

View File

@ -117,8 +117,16 @@ pdpt-type := raw
endif
ifeq ($(CONFIG_NEED_LBP2),y)
files_added::
$(CBFSTOOL) $(obj)/coreboot.rom write -r $(CONFIG_LBP2_FMAP_NAME) -f $(CONFIG_LBP2_FILE_NAME) --fill-upward
$(objcbfs)/lbp2.bin: $(IFWITOOL)
ifeq ($(CONFIG_LBP2_FROM_IFWI),y)
$(IFWITOOL) $(CONFIG_IFWI_FILE_NAME) create -f $@ -s
$(IFWITOOL) $@ delete -n OBBP
else
cp $(CONFIG_LBP2_FILE_NAME) $@
endif
files_added:: $(objcbfs)/lbp2.bin
$(CBFSTOOL) $(obj)/coreboot.rom write -r $(CONFIG_LBP2_FMAP_NAME) -f $< --fill-upward
endif
# Bootblock on Apollolake platform lies in the IFWI region. In order to place