util/cbfstool: Add Intel platform boot policy support

Intel platform boot policy setting blob is linked into FIT table
as an FIT4 entry. It is required for server executing CBnT and/or
PFR without a PCH.

Please refer to chapter 4.6 of the document in below link:
https://www.intel.com/content/dam/www/public/us/en/documents/
guides/fit-bios-specification.pdf

Tool usage:
./util/cbfstool/ifittool -f <binary> -a -n <cbfs name> -t 4 \
-r COREBOOT -s <max table size>

Change-Id: I0f9fc61341430b1a35a44d50b108dcfaf31cd11c
Signed-off-by: Gang Chen <gang.c.chen@intel.com>
Signed-off-by: Li, Jincheng <jincheng.li@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84305
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Gang Chen 2022-11-25 15:02:28 +08:00 committed by Lean Sheng Tan
commit 1c088e6d62
4 changed files with 48 additions and 0 deletions

View file

@ -12,3 +12,17 @@ config CPU_INTEL_NUM_FIT_ENTRIES
depends on CPU_INTEL_FIRMWARE_INTERFACE_TABLE
help
This option selects the number of empty entries in the FIT table.
config HAVE_PBP_BIN
bool "Add Intel platform boot policy file"
default n
depends on SOC_INTEL_COMMON_IBL_BASE
help
The platform boot policy file. Platform boot policy (type 4) entry
in the FIT is required for server executing CBnT and/or PFR without
a PCH.
config PBP_BIN_PATH
string "Path and filename of the platform boot policy file"
default "site-local/mainboard/\$(MAINBOARDDIR)/pbp.bin"
depends on HAVE_PBP_BIN

View file

@ -50,4 +50,17 @@ endif # CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK
endif # CONFIG_CPU_MICROCODE_CBFS_NONE
# Platform Boot Policy
ifeq ($(CONFIG_HAVE_PBP_BIN),y)
cbfs-files-y += pbp.bin
pbp.bin-file := $(call strip_quotes,$(CONFIG_PBP_BIN_PATH))
pbp.bin-type := raw
$(call add_intermediate, add_pbp_fit, set_fit_ptr $(IFITTOOL))
@printf " UPDATE-FIT Platform Boot Policy binary\n"
$(IFITTOOL) -f $< -a -n pbp.bin -t 4 -s $(CONFIG_CPU_INTEL_NUM_FIT_ENTRIES) -r COREBOOT
endif # CONFIG_HAVE_PBP_BIN
endif # CONFIG_UPDATE_IMAGE