From 922619512def4ef62c13c97b78321c6e6e610153 Mon Sep 17 00:00:00 2001 From: Justin TerAvest Date: Fri, 22 Dec 2017 15:15:02 -0700 Subject: soc/amd/common: Allow AGESA file split for pre- and post-memory By splitting the binary files for platform initialization, the post-memory code can be modified to stop executing in place (--xip). This change creates two separate sections in CBFS for AGESA and loads the appropriate file at the correct stage. BUG=b:68141063 TEST=Booted kahlee with split agesa enabled. Change-Id: I2fa423df164037bc3738476fd2a34522df279e34 Signed-off-by: Justin TerAvest Signed-off-by: Aaron Durbin Reviewed-on: https://review.coreboot.org/22974 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth --- src/vendorcode/amd/pi/Kconfig | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'src/vendorcode/amd/pi/Kconfig') diff --git a/src/vendorcode/amd/pi/Kconfig b/src/vendorcode/amd/pi/Kconfig index 8c38a790ea..f463b7d2e9 100644 --- a/src/vendorcode/amd/pi/Kconfig +++ b/src/vendorcode/amd/pi/Kconfig @@ -58,10 +58,42 @@ config AGESA_BINARY_PI_AS_STAGE cpu address space. It's required that the file be in ELF format containing the relocations necessary for relocating at runtime. +config AGESA_SPLIT_MEMORY_FILES + bool "Split AGESA Binary PI into pre- and post-memory files." + depends on AGESA_BINARY_PI_AS_STAGE + default n + help + Specifies that AGESA is split into two binaries for pre- and + post-memory. + +config AGESA_PRE_MEMORY_BINARY_PI_FILE + string + depends on AGESA_SPLIT_MEMORY_FILES + default "3rdparty/blobs/pi/amd/00670F00/FT4/AGESA_premem.elf" if SOC_AMD_STONEYRIDGE_FT4 + help + Specify the binary file to use for pre-memory AMD platform + initialization. + +config AGESA_POST_MEMORY_BINARY_PI_FILE + string + depends on AGESA_SPLIT_MEMORY_FILES + default "3rdparty/blobs/pi/amd/00670F00/FT4/AGESA_postmem.elf" if SOC_AMD_STONEYRIDGE_FT4 + help + Specify the binary file to use for post-memory AMD platform + initialization. + config AGESA_CBFS_NAME string default "AGESA" +config AGESA_PRE_MEMORY_CBFS_NAME + string + default "AGESA_PRE_MEM" + +config AGESA_POST_MEMORY_CBFS_NAME + string + default "AGESA_POST_MEM" + config AGESA_BINARY_PI_LOCATION hex "AGESA PI binary address in ROM" default 0xFFE00000 -- cgit v1.2.3