soc/amd/picasso: Add config for PSP verstage signing token

This allows a platform to specify the location of the signing token
for the PSP verstage, and build it into the firmware image.

BUG=b:166108929
TEST=Build file into PSP firmware, verify that it's present and has
the correct ID.
BRANCH=Zork

Signed-off-by: Martin Roth <martinroth@chromium.org>
Change-Id: I182ad9b48a2776ccd29ead0f54cfe14c5bf45560
Reviewed-on: https://review.coreboot.org/c/coreboot/+/44989
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Eric Peers <epeers@google.com>
This commit is contained in:
Martin Roth 2020-09-01 11:04:21 -06:00 committed by Aaron Durbin
parent de49833268
commit fe87d76c2f
2 changed files with 11 additions and 0 deletions

View File

@ -497,6 +497,13 @@ config PSP_VERSTAGE_FILE
help help
Add psp_verstage file to the build & PSP Directory Table Add psp_verstage file to the build & PSP Directory Table
config PSP_VERSTAGE_SIGNING_TOKEN
string "Specify the PSP_verstage Signature Token file path"
depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
default ""
help
Add psp_verstage signature token to the build & PSP Directory Table
endmenu endmenu

View File

@ -250,6 +250,7 @@ endif
# type = 0x52 - PSP Bootloader Userspace Application (verstage) # type = 0x52 - PSP Bootloader Userspace Application (verstage)
PSP_VERSTAGE_FILE=$(call strip_quotes,$(CONFIG_PSP_VERSTAGE_FILE)) PSP_VERSTAGE_FILE=$(call strip_quotes,$(CONFIG_PSP_VERSTAGE_FILE))
PSP_VERSTAGE_SIG_FILE=$(call strip_quotes,$(CONFIG_PSP_VERSTAGE_SIGNING_TOKEN))
endif # CONFIG_VBOOT_STARTS_BEFORE_BOOTBLOCK endif # CONFIG_VBOOT_STARTS_BEFORE_BOOTBLOCK
APOB_NV_SIZE=$(shell printf "0x%x" $(shell cat $(obj)/fmap.fmd | $(_GET_APOBNV_SIZE))) APOB_NV_SIZE=$(shell printf "0x%x" $(shell cat $(obj)/fmap.fmd | $(_GET_APOBNV_SIZE)))
@ -301,6 +302,7 @@ OPT_ABL6_FILE=$(call add_opt_prefix, $(PSP_ABL6_FILE), --abl-image)
OPT_ABL7_FILE=$(call add_opt_prefix, $(PSP_ABL7_FILE), --abl-image) OPT_ABL7_FILE=$(call add_opt_prefix, $(PSP_ABL7_FILE), --abl-image)
OPT_WHITELIST_FILE=$(call add_opt_prefix, $(PSP_WHITELIST_FILE), --whitelist) OPT_WHITELIST_FILE=$(call add_opt_prefix, $(PSP_WHITELIST_FILE), --whitelist)
OPT_VERSTAGE_FILE=$(call add_opt_prefix, $(PSP_VERSTAGE_FILE), --verstage) OPT_VERSTAGE_FILE=$(call add_opt_prefix, $(PSP_VERSTAGE_FILE), --verstage)
OPT_VERSTAGE_SIG_FILE=$(call add_opt_prefix, $(PSP_VERSTAGE_SIG_FILE), --verstage_sig)
OPT_PSP_APCB_FILES=$(foreach i, $(shell seq $(words $(PSP_APCB_FILES))), \ OPT_PSP_APCB_FILES=$(foreach i, $(shell seq $(words $(PSP_APCB_FILES))), \
$(call add_opt_prefix, $(word $(i), $(PSP_APCB_FILES)), \ $(call add_opt_prefix, $(word $(i), $(PSP_APCB_FILES)), \
@ -439,6 +441,7 @@ $(obj)/amdfw.rom: $(call strip_quotes, $(CONFIG_AMD_PUBKEY_FILE)) \
$(call_strip_quotes, $(PSP_IKEK_FILE)) \ $(call_strip_quotes, $(PSP_IKEK_FILE)) \
$(call_strip_quotes, $(PSP_SEC_DEBUG_FILE)) \ $(call_strip_quotes, $(PSP_SEC_DEBUG_FILE)) \
$(PSP_VERSTAGE_FILE) \ $(PSP_VERSTAGE_FILE) \
$(PSP_VERSTAGE_SIG_FILE) \
$$(PSP_APCB_FILES) \ $$(PSP_APCB_FILES) \
$(AMDFWTOOL) \ $(AMDFWTOOL) \
$(obj)/fmap.fmd $(obj)/fmap.fmd
@ -448,6 +451,7 @@ $(obj)/amdfw.rom: $(call strip_quotes, $(CONFIG_AMD_PUBKEY_FILE)) \
$(AMDFW_COMMON_ARGS) \ $(AMDFW_COMMON_ARGS) \
$(OPT_APOB0_NV_SIZE) \ $(OPT_APOB0_NV_SIZE) \
$(OPT_APOB0_NV_BASE) \ $(OPT_APOB0_NV_BASE) \
$(OPT_VERSTAGE_SIG_FILE) \
--location $(shell printf "%#x" $(PICASSO_FWM_POSITION)) \ --location $(shell printf "%#x" $(PICASSO_FWM_POSITION)) \
--output $@ --output $@