Karthik Ramasubramanian has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/78425?usp=email )
Change subject: soc/amd/*: Set AMD_FW_AB_POSITION to either 64 or 128 bytes ......................................................................
soc/amd/*: Set AMD_FW_AB_POSITION to either 64 or 128 bytes
When CBFS verification is enabled, add amdfw_a/b.rom at offset 128 bytes to account for CBFS file header with hash attribute. When CBFS verification is enabled, add amdfw_a/b.rom at offset 64 bytes to account for CBFS file header without hash attribute.
BUG=None TEST=Build Skyrim, Myst BIOS images with and without CBFS verification enabled.
Change-Id: Ic374ac41df0c8fb8ce59488881ce5846e9058915 Signed-off-by: Karthikeyan Ramasubramanian kramasub@google.com --- M src/soc/amd/glinda/Makefile.inc M src/soc/amd/mendocino/Makefile.inc M src/soc/amd/phoenix/Makefile.inc 3 files changed, 21 insertions(+), 6 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/25/78425/1
diff --git a/src/soc/amd/glinda/Makefile.inc b/src/soc/amd/glinda/Makefile.inc index ea2a48b..5b63df3 100644 --- a/src/soc/amd/glinda/Makefile.inc +++ b/src/soc/amd/glinda/Makefile.inc @@ -43,9 +43,14 @@ CPPFLAGS_common += -I$(src)/vendorcode/amd/fsp/glinda CPPFLAGS_common += -I$(src)/vendorcode/amd/fsp/common
-# 0x40 accounts for the cbfs_file struct + filename + metadata structs, aligned to 64 bytes -# Building the cbfs image will fail if the offset isn't large enough +# Building the cbfs image will fail if the offset, aligned to 64 bytes, isn't large enough +ifeq ($(CONFIG_CBFS_VERIFICATION),y) +# 0x80 accounts for the cbfs_file struct + filename + metadata structs +AMD_FW_AB_POSITION := 0x80 +else # ($(CONFIG_CBFS_VERIFICATION), y) +# 0x40 accounts for the cbfs_file struct + filename + metadata structs without hash attribute AMD_FW_AB_POSITION := 0x40 +endif # ($(CONFIG_CBFS_VERIFICATION), y)
GLINDA_FW_A_POSITION=$(call int-add, \ $(call get_fmap_value,FMAP_SECTION_FW_MAIN_A_START) $(AMD_FW_AB_POSITION)) diff --git a/src/soc/amd/mendocino/Makefile.inc b/src/soc/amd/mendocino/Makefile.inc index 9442083..f123487 100644 --- a/src/soc/amd/mendocino/Makefile.inc +++ b/src/soc/amd/mendocino/Makefile.inc @@ -42,9 +42,14 @@ CPPFLAGS_common += -I$(src)/vendorcode/amd/fsp/mendocino CPPFLAGS_common += -I$(src)/vendorcode/amd/fsp/common
-# 0x80 accounts for the cbfs_file struct + filename + metadata structs, aligned to 64 bytes -# Building the cbfs image will fail if the offset isn't large enough +# Building the cbfs image will fail if the offset, aligned to 64 bytes, isn't large enough +ifeq ($(CONFIG_CBFS_VERIFICATION),y) +# 0x80 accounts for the cbfs_file struct + filename + metadata structs AMD_FW_AB_POSITION := 0x80 +else # ($(CONFIG_CBFS_VERIFICATION), y) +# 0x40 accounts for the cbfs_file struct + filename + metadata structs without hash attribute +AMD_FW_AB_POSITION := 0x40 +endif # ($(CONFIG_CBFS_VERIFICATION), y)
MENDOCINO_FW_A_POSITION=$(call int-add, \ $(call get_fmap_value,FMAP_SECTION_FW_MAIN_A_START) $(AMD_FW_AB_POSITION)) diff --git a/src/soc/amd/phoenix/Makefile.inc b/src/soc/amd/phoenix/Makefile.inc index ee7ccea..cab8987 100644 --- a/src/soc/amd/phoenix/Makefile.inc +++ b/src/soc/amd/phoenix/Makefile.inc @@ -46,9 +46,14 @@ CPPFLAGS_common += -I$(src)/vendorcode/amd/fsp/phoenix CPPFLAGS_common += -I$(src)/vendorcode/amd/fsp/common
-# 0x80 accounts for the cbfs_file struct + filename + metadata structs, aligned to 64 bytes -# Building the cbfs image will fail if the offset isn't large enough +# Building the cbfs image will fail if the offset, aligned to 64 bytes, isn't large enough +ifeq ($(CONFIG_CBFS_VERIFICATION),y) +# 0x80 accounts for the cbfs_file struct + filename + metadata structs AMD_FW_AB_POSITION := 0x80 +else # ($(CONFIG_CBFS_VERIFICATION), y) +# 0x40 accounts for the cbfs_file struct + filename + metadata structs without hash attribute +AMD_FW_AB_POSITION := 0x40 +endif # ($(CONFIG_CBFS_VERIFICATION), y)
PHOENIX_FW_A_POSITION=$(call int-add, \ $(call get_fmap_value,FMAP_SECTION_FW_MAIN_A_START) $(AMD_FW_AB_POSITION))