summaryrefslogtreecommitdiff
path: root/src/cpu/intel
diff options
context:
space:
mode:
authorGang Chen <gang.c.chen@intel.com>2022-11-25 15:02:28 +0800
committerLean Sheng Tan <sheng.tan@9elements.com>2024-10-23 10:29:59 +0000
commit1c088e6d620e2255d506d718b45afa5d48ecdff5 (patch)
treeb2d985dd5f67fe2c3ffe1c3454266fad7d5b7734 /src/cpu/intel
parent374c9e09c1c4880490cfdd7486c13373cb4b72cc (diff)
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>
Diffstat (limited to 'src/cpu/intel')
-rw-r--r--src/cpu/intel/fit/Kconfig14
-rw-r--r--src/cpu/intel/fit/Makefile.mk13
2 files changed, 27 insertions, 0 deletions
diff --git a/src/cpu/intel/fit/Kconfig b/src/cpu/intel/fit/Kconfig
index a14a1f798f..5ffedeb431 100644
--- a/src/cpu/intel/fit/Kconfig
+++ b/src/cpu/intel/fit/Kconfig
@@ -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
diff --git a/src/cpu/intel/fit/Makefile.mk b/src/cpu/intel/fit/Makefile.mk
index a86a22e6d6..f405c57744 100644
--- a/src/cpu/intel/fit/Makefile.mk
+++ b/src/cpu/intel/fit/Makefile.mk
@@ -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