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 disabled, 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> Reviewed-on: https://review.coreboot.org/c/coreboot/+/78425 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:
		
				
					committed by
					
						 Martin L Roth
						Martin L Roth
					
				
			
			
				
	
			
			
			
						parent
						
							1394612116
						
					
				
				
					commit
					3167fb70f8
				
			| @@ -43,9 +43,14 @@ CPPFLAGS_common += -I$(src)/soc/amd/glinda/acpi | |||||||
| CPPFLAGS_common += -I$(src)/vendorcode/amd/fsp/glinda | CPPFLAGS_common += -I$(src)/vendorcode/amd/fsp/glinda | ||||||
| CPPFLAGS_common += -I$(src)/vendorcode/amd/fsp/common | 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, aligned to 64 bytes, isn't large enough | ||||||
| # Building the cbfs image will fail if the offset 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 | AMD_FW_AB_POSITION := 0x40 | ||||||
|  | endif # ($(CONFIG_CBFS_VERIFICATION), y) | ||||||
|  |  | ||||||
| GLINDA_FW_A_POSITION=$(call int-add, \ | GLINDA_FW_A_POSITION=$(call int-add, \ | ||||||
| 	$(call get_fmap_value,FMAP_SECTION_FW_MAIN_A_START) $(AMD_FW_AB_POSITION)) | 	$(call get_fmap_value,FMAP_SECTION_FW_MAIN_A_START) $(AMD_FW_AB_POSITION)) | ||||||
|   | |||||||
| @@ -42,9 +42,14 @@ CPPFLAGS_common += -I$(src)/soc/amd/mendocino/acpi | |||||||
| CPPFLAGS_common += -I$(src)/vendorcode/amd/fsp/mendocino | CPPFLAGS_common += -I$(src)/vendorcode/amd/fsp/mendocino | ||||||
| CPPFLAGS_common += -I$(src)/vendorcode/amd/fsp/common | 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, aligned to 64 bytes, isn't large enough | ||||||
| # Building the cbfs image will fail if the offset isn't large enough | ifeq ($(CONFIG_CBFS_VERIFICATION),y) | ||||||
|  | # 0x80 accounts for the cbfs_file struct + filename + metadata structs | ||||||
| AMD_FW_AB_POSITION := 0x80 | 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, \ | MENDOCINO_FW_A_POSITION=$(call int-add, \ | ||||||
| 	$(call get_fmap_value,FMAP_SECTION_FW_MAIN_A_START) $(AMD_FW_AB_POSITION)) | 	$(call get_fmap_value,FMAP_SECTION_FW_MAIN_A_START) $(AMD_FW_AB_POSITION)) | ||||||
|   | |||||||
| @@ -46,9 +46,14 @@ CPPFLAGS_common += -I$(src)/soc/amd/phoenix/acpi | |||||||
| CPPFLAGS_common += -I$(src)/vendorcode/amd/fsp/phoenix | CPPFLAGS_common += -I$(src)/vendorcode/amd/fsp/phoenix | ||||||
| CPPFLAGS_common += -I$(src)/vendorcode/amd/fsp/common | 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, aligned to 64 bytes, isn't large enough | ||||||
| # Building the cbfs image will fail if the offset isn't large enough | ifeq ($(CONFIG_CBFS_VERIFICATION),y) | ||||||
|  | # 0x80 accounts for the cbfs_file struct + filename + metadata structs | ||||||
| AMD_FW_AB_POSITION := 0x80 | 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, \ | PHOENIX_FW_A_POSITION=$(call int-add, \ | ||||||
| 	$(call get_fmap_value,FMAP_SECTION_FW_MAIN_A_START) $(AMD_FW_AB_POSITION)) | 	$(call get_fmap_value,FMAP_SECTION_FW_MAIN_A_START) $(AMD_FW_AB_POSITION)) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user