[coreboot-gerrit] New patch to review for coreboot: cpu/amd/pi: Change wrapper to use config option

Marc Jones (marc@marcjonesconsulting.com) gerrit at coreboot.org
Tue Feb 21 21:36:59 CET 2017


Marc Jones (marc at marcjonesconsulting.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18438

-gerrit

commit 4530b1b2c1def8206a0f16ce3f11871de9a730f7
Author: Marshall Dawson <marshalldawson3rd at gmail.com>
Date:   Wed Jan 25 15:23:47 2017 -0700

    cpu/amd/pi: Change wrapper to use config option
    
    Add a check for vboot when locating the binaryPI image.
    
    There is currently an ordering problem using cbmem to locate the
    image when vboot is present.  Vboot inserts its locator into the
    search process so that memory can be checked before flash is queried.
    For the earliest calls using the wrapper, DRAM has not been set up
    and cbmem not initialized in romstage.  This change prevents an
    endless loop when vboot searches cbmem.
    
    This change has another side effect.  When vboot is in effect, the
    change forces the RO binaryPI to be used even when on either of the
    RW paths.  There is currently no ability to relocate the XIP image
    for use in a RW region.
    
    Signed-off-by: Marshall Dawson <marshalldawson3rd at gmail.com>
    Reviewed-by: Marc Jones <marcj303 at gmail.com>
    (cherry picked from commit 6efe9217c38cf93fd9b38e52cf3ec90fee3d0474)
    
    Change-Id: I0c14bd729f8a67bca37cbdbd3a5e266c99c86d54
    Signed-off-by: Marc Jones <marcj303 at gmail.com>
---
 src/northbridge/amd/pi/agesawrapper.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/northbridge/amd/pi/agesawrapper.c b/src/northbridge/amd/pi/agesawrapper.c
index 0fe8eab..543aa80 100644
--- a/src/northbridge/amd/pi/agesawrapper.c
+++ b/src/northbridge/amd/pi/agesawrapper.c
@@ -603,8 +603,14 @@ const void *agesawrapper_locate_module (const CHAR8 name[8])
 	const AMD_MODULE_HEADER* module;
 	size_t file_size;
 
+#if IS_ENABLED(CONFIG_VBOOT)
+	/* Use phys. location in flash and prevent vboot from searching cbmem */
+	agesa = (void *)CONFIG_AGESA_BINARY_PI_LOCATION;
+	file_size = 0x100000;
+#else
 	agesa = cbfs_boot_map_with_leak((const char *)CONFIG_CBFS_AGESA_NAME,
 					CBFS_TYPE_RAW, &file_size);
+#endif
 	if (!agesa)
 		return NULL;
 	image =  LibAmdLocateImage(agesa, agesa + file_size - 1, 4096, name);



More information about the coreboot-gerrit mailing list