soc/amd/*: pass PSP NVRAM base and size to amdfwtool
Pass the PSP NVRAM base and size to amdfwtool for all SoCs except Genoa which doesn't use/support this. This was previously only implemented for Picasso, but not for the SoCs that support this, so add the support to those other SoCs as well. If a mainboard has an section named 'PSP_NVRAM' in its FMAP file, the start and length of it in the flash will be passed to amdfwtool which then adds the base and length to the corresponding type 0x04 PSP directory table entry. Signed-off-by: Felix Held <felix-coreboot@felixheld.de> Change-Id: I785ede8eb0df2473a4390b2c305add20f38d7ede Reviewed-on: https://review.coreboot.org/c/coreboot/+/83814 Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
This commit is contained in:
@@ -85,6 +85,11 @@ endif
|
||||
# Use additional Soft Fuse bits specified in Kconfig
|
||||
PSP_SOFTFUSE_BITS += $(call strip_quotes, $(CONFIG_PSP_SOFTFUSE_BITS))
|
||||
|
||||
# type = 0x04
|
||||
# The flashmap section used for this is expected to be named PSP_NVRAM
|
||||
PSP_NVRAM_BASE=$(call get_fmap_value,FMAP_SECTION_PSP_NVRAM_START)
|
||||
PSP_NVRAM_SIZE=$(call get_fmap_value,FMAP_SECTION_PSP_NVRAM_SIZE)
|
||||
|
||||
# type = 0x3a
|
||||
ifeq ($(CONFIG_HAVE_PSP_WHITELIST_FILE),y)
|
||||
PSP_WHITELIST_FILE=$(CONFIG_PSP_WHITELIST_FILE)
|
||||
@@ -141,6 +146,9 @@ PSP_SOFTFUSE=$(shell A=$(call int-add, \
|
||||
|
||||
add_opt_prefix=$(if $(call strip_quotes, $(1)), $(2) $(call strip_quotes, $(1)), )
|
||||
|
||||
OPT_PSP_NVRAM_BASE=$(call add_opt_prefix, $(PSP_NVRAM_BASE), --nvram-base)
|
||||
OPT_PSP_NVRAM_SIZE=$(call add_opt_prefix, $(PSP_NVRAM_SIZE), --nvram-size)
|
||||
|
||||
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)
|
||||
|
||||
@@ -167,6 +175,8 @@ OPT_WHITELIST_FILE=$(call add_opt_prefix, $(PSP_WHITELIST_FILE), --whitelist)
|
||||
OPT_SPL_TABLE_FILE=$(call add_opt_prefix, $(SPL_TABLE_FILE), --spl-table)
|
||||
|
||||
AMDFW_COMMON_ARGS=$(OPT_PSP_APCB_FILES) \
|
||||
$(OPT_PSP_NVRAM_BASE) \
|
||||
$(OPT_PSP_NVRAM_SIZE) \
|
||||
$(OPT_APOB_ADDR) \
|
||||
$(OPT_DEBUG_AMDFWTOOL) \
|
||||
$(OPT_PSP_BIOSBIN_FILE) \
|
||||
|
@@ -85,6 +85,11 @@ endif
|
||||
# Use additional Soft Fuse bits specified in Kconfig
|
||||
PSP_SOFTFUSE_BITS += $(call strip_quotes, $(CONFIG_PSP_SOFTFUSE_BITS))
|
||||
|
||||
# type = 0x04
|
||||
# The flashmap section used for this is expected to be named PSP_NVRAM
|
||||
PSP_NVRAM_BASE=$(call get_fmap_value,FMAP_SECTION_PSP_NVRAM_START)
|
||||
PSP_NVRAM_SIZE=$(call get_fmap_value,FMAP_SECTION_PSP_NVRAM_SIZE)
|
||||
|
||||
# type = 0x3a
|
||||
ifeq ($(CONFIG_HAVE_PSP_WHITELIST_FILE),y)
|
||||
PSP_WHITELIST_FILE=$(CONFIG_PSP_WHITELIST_FILE)
|
||||
@@ -157,6 +162,9 @@ PSP_SOFTFUSE=$(shell A=$(call int-add, \
|
||||
|
||||
add_opt_prefix=$(if $(call strip_quotes, $(1)), $(2) $(call strip_quotes, $(1)), )
|
||||
|
||||
OPT_PSP_NVRAM_BASE=$(call add_opt_prefix, $(PSP_NVRAM_BASE), --nvram-base)
|
||||
OPT_PSP_NVRAM_SIZE=$(call add_opt_prefix, $(PSP_NVRAM_SIZE), --nvram-size)
|
||||
|
||||
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)
|
||||
|
||||
@@ -192,6 +200,8 @@ OPT_SPL_RW_AB_TABLE_FILE=$(call add_opt_prefix, $(SPL_RW_AB_TABLE_FILE), --spl-t
|
||||
OPT_RECOVERY_AB_SINGLE_COPY=$(if $(CONFIG_VBOOT_SLOTS_RW_AB), --recovery-ab-single-copy)
|
||||
|
||||
AMDFW_COMMON_ARGS=$(OPT_PSP_APCB_FILES) \
|
||||
$(OPT_PSP_NVRAM_BASE) \
|
||||
$(OPT_PSP_NVRAM_SIZE) \
|
||||
$(OPT_APOB_ADDR) \
|
||||
$(OPT_DEBUG_AMDFWTOOL) \
|
||||
$(OPT_PSP_BIOSBIN_FILE) \
|
||||
|
@@ -88,6 +88,11 @@ endif
|
||||
PSP_SOFTFUSE_BITS += $(call strip_quotes, $(CONFIG_PSP_SOFTFUSE_BITS))
|
||||
PSP_RO_SOFTFUSE_BITS=$(PSP_SOFTFUSE_BITS)
|
||||
|
||||
# type = 0x04
|
||||
# The flashmap section used for this is expected to be named PSP_NVRAM
|
||||
PSP_NVRAM_BASE=$(call get_fmap_value,FMAP_SECTION_PSP_NVRAM_START)
|
||||
PSP_NVRAM_SIZE=$(call get_fmap_value,FMAP_SECTION_PSP_NVRAM_SIZE)
|
||||
|
||||
# type = 0x3a
|
||||
ifeq ($(CONFIG_HAVE_PSP_WHITELIST_FILE),y)
|
||||
PSP_WHITELIST_FILE=$(CONFIG_PSP_WHITELIST_FILE)
|
||||
@@ -172,6 +177,9 @@ PSP_RO_SOFTFUSE=$(shell A=$(call int-add, \
|
||||
|
||||
add_opt_prefix=$(if $(call strip_quotes, $(1)), $(2) $(call strip_quotes, $(1)), )
|
||||
|
||||
OPT_PSP_NVRAM_BASE=$(call add_opt_prefix, $(PSP_NVRAM_BASE), --nvram-base)
|
||||
OPT_PSP_NVRAM_SIZE=$(call add_opt_prefix, $(PSP_NVRAM_SIZE), --nvram-size)
|
||||
|
||||
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)
|
||||
|
||||
@@ -213,6 +221,8 @@ MANIFEST_FILE=$(obj)/amdfw_manifest
|
||||
OPT_MANIFEST=$(call add_opt_prefix, $(MANIFEST_FILE), --output-manifest)
|
||||
|
||||
AMDFW_COMMON_ARGS=$(OPT_PSP_APCB_FILES) \
|
||||
$(OPT_PSP_NVRAM_BASE) \
|
||||
$(OPT_PSP_NVRAM_SIZE) \
|
||||
$(OPT_APOB_ADDR) \
|
||||
$(OPT_DEBUG_AMDFWTOOL) \
|
||||
$(OPT_PSP_BIOSBIN_FILE) \
|
||||
|
@@ -95,6 +95,11 @@ endif
|
||||
# Use additional Soft Fuse bits specified in Kconfig
|
||||
PSP_SOFTFUSE_BITS += $(call strip_quotes, $(CONFIG_PSP_SOFTFUSE_BITS))
|
||||
|
||||
# type = 0x04
|
||||
# The flashmap section used for this is expected to be named PSP_NVRAM
|
||||
PSP_NVRAM_BASE=$(call get_fmap_value,FMAP_SECTION_PSP_NVRAM_START)
|
||||
PSP_NVRAM_SIZE=$(call get_fmap_value,FMAP_SECTION_PSP_NVRAM_SIZE)
|
||||
|
||||
# type = 0x3a
|
||||
ifeq ($(CONFIG_HAVE_PSP_WHITELIST_FILE),y)
|
||||
PSP_WHITELIST_FILE=$(CONFIG_PSP_WHITELIST_FILE)
|
||||
@@ -181,6 +186,9 @@ PSP_SOFTFUSE=$(shell A=$(call int-add, \
|
||||
|
||||
add_opt_prefix=$(if $(call strip_quotes, $(1)), $(2) $(call strip_quotes, $(1)), )
|
||||
|
||||
OPT_PSP_NVRAM_BASE=$(call add_opt_prefix, $(PSP_NVRAM_BASE), --nvram-base)
|
||||
OPT_PSP_NVRAM_SIZE=$(call add_opt_prefix, $(PSP_NVRAM_SIZE), --nvram-size)
|
||||
|
||||
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)
|
||||
|
||||
@@ -223,6 +231,8 @@ MANIFEST_FILE=$(obj)/amdfw_manifest
|
||||
OPT_MANIFEST=$(call add_opt_prefix, $(MANIFEST_FILE), --output-manifest)
|
||||
|
||||
AMDFW_COMMON_ARGS=$(OPT_PSP_APCB_FILES) \
|
||||
$(OPT_PSP_NVRAM_BASE) \
|
||||
$(OPT_PSP_NVRAM_SIZE) \
|
||||
$(OPT_APOB_ADDR) \
|
||||
$(OPT_DEBUG_AMDFWTOOL) \
|
||||
$(OPT_PSP_BIOSBIN_FILE) \
|
||||
|
@@ -92,8 +92,16 @@ endif # CONFIG_AMD_APU_PRAIRIEFALCON
|
||||
endif # CONFIG_AMD_APU_MERLINFALCON
|
||||
endif # CONFIG_AMD_APU_STONEYRIDGE
|
||||
|
||||
# type = 0x04
|
||||
# The flashmap section used for this is expected to be named PSP_NVRAM
|
||||
PSP_NVRAM_BASE=$(call get_fmap_value,FMAP_SECTION_PSP_NVRAM_START)
|
||||
PSP_NVRAM_SIZE=$(call get_fmap_value,FMAP_SECTION_PSP_NVRAM_SIZE)
|
||||
|
||||
add_opt_prefix=$(if $(call strip_quotes, $(1)), $(2) $(call strip_quotes, $(1)), )
|
||||
|
||||
OPT_PSP_NVRAM_BASE=$(call add_opt_prefix, $(PSP_NVRAM_BASE), --nvram-base)
|
||||
OPT_PSP_NVRAM_SIZE=$(call add_opt_prefix, $(PSP_NVRAM_SIZE), --nvram-size)
|
||||
|
||||
OPT_STONEYRIDGE_XHCI_FWM_FILE=$(call add_opt_prefix, $(CONFIG_STONEYRIDGE_XHCI_FWM_FILE), --xhci)
|
||||
OPT_STONEYRIDGE_GEC_FWM_FILE=$(call add_opt_prefix, $(CONFIG_STONEYRIDGE_GEC_FWM_FILE), --gec)
|
||||
|
||||
@@ -124,6 +132,8 @@ $(obj)/amdfw.rom: $(call strip_quotes, $(CONFIG_STONEYRIDGE_XHCI_FWM_FILE)) \
|
||||
rm -f $@
|
||||
@printf " AMDFWTOOL $(subst $(obj)/,,$(@))\n"
|
||||
$(AMDFWTOOL) \
|
||||
$(OPT_PSP_NVRAM_BASE) \
|
||||
$(OPT_PSP_NVRAM_SIZE) \
|
||||
$(OPT_STONEYRIDGE_XHCI_FWM_FILE) \
|
||||
$(OPT_STONEYRIDGE_GEC_FWM_FILE) \
|
||||
$(OPT_PSP_USE_PSPSECUREOS) \
|
||||
|
Reference in New Issue
Block a user