soc/intel/apollolake: add support for IFWI region
On apollolake, the boot media layout is different in that the traditional "BIOS" region contains another data structure with the boot assets such as CSE firmware, PMC microcode, CPU microcode, and boot firmware to name a few. This region is referred to as the IFWI. Add support for writing the IFWI to a specified FMAP region to accommodate such platforms. Change-Id: Ia61f12a77893c3dd3256a9bd4e0f5eca0065de26 Signed-off-by: Furquan Shaikh <furquan@google.com> Reviewed-on: https://review.coreboot.org/14999 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
@@ -75,4 +75,22 @@ files_added::
|
||||
$(CBFSTOOL) $(obj)/coreboot.rom write -r $(CONFIG_LBP2_FMAP_NAME) -f $(CONFIG_LBP2_FILE_NAME) --fill-upward
|
||||
endif
|
||||
|
||||
# Bootblock on Apollolake platform lies in the IFWI region. In order to place
|
||||
# the bootblock at the right location in IFWI image -
|
||||
# a. Using ifwitool:
|
||||
# 1. Create IFWI image (ifwi.bin.tmp) from input image
|
||||
# (CONFIG_IFWI_FILE_NAME).
|
||||
# 2. Delete OBBP sub-partition, if present.
|
||||
# 3. Replace IBBL directory entry in IBBP sub-partition with currently
|
||||
# generated bootblock.bin.
|
||||
# b. Using cbfstool:
|
||||
# 1. Write ifwi.bin.tmp to coreboot.rom using CONFIG_IFWI_FMAP_NAME.
|
||||
ifeq ($(CONFIG_NEED_IFWI),y)
|
||||
files_added:: $(IFWITOOL)
|
||||
$(IFWITOOL) $(CONFIG_IFWI_FILE_NAME) create -f $(objcbfs)/ifwi.bin.tmp
|
||||
$(IFWITOOL) $(objcbfs)/ifwi.bin.tmp delete -n OBBP
|
||||
$(IFWITOOL) $(objcbfs)/ifwi.bin.tmp replace -n IBBP -f $(objcbfs)/bootblock.bin -d -e IBBL
|
||||
$(CBFSTOOL) $(obj)/coreboot.rom write -r $(CONFIG_IFWI_FMAP_NAME) -f $(objcbfs)/ifwi.bin.tmp --fill-upward
|
||||
endif
|
||||
|
||||
endif
|
||||
|
Reference in New Issue
Block a user