[coreboot-gerrit] Change in coreboot[master]: cpu/amd/pi: Change wrapper to use config option

Marc Jones (Code Review) gerrit at coreboot.org
Thu Apr 27 18:52:02 CEST 2017


Marc Jones has submitted this change and it was merged. ( https://review.coreboot.org/18438 )

Change subject: cpu/amd/pi: Change wrapper to use config option
......................................................................


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>
Reviewed-on: https://review.coreboot.org/18438
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth at google.com>
---
M src/northbridge/amd/pi/agesawrapper.c
1 file changed, 8 insertions(+), 1 deletion(-)

Approvals:
  build bot (Jenkins): Verified
  Martin Roth: Looks good to me, approved



diff --git a/src/northbridge/amd/pi/agesawrapper.c b/src/northbridge/amd/pi/agesawrapper.c
index 213d784..0afd0ca 100644
--- a/src/northbridge/amd/pi/agesawrapper.c
+++ b/src/northbridge/amd/pi/agesawrapper.c
@@ -397,8 +397,15 @@
 	const AMD_MODULE_HEADER* module;
 	size_t file_size;
 
-	agesa = cbfs_boot_map_with_leak((const char *)CONFIG_CBFS_AGESA_NAME,
+	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);
+	}
+
 	if (!agesa)
 		return NULL;
 	image =  LibAmdLocateImage(agesa, agesa + file_size - 1, 4096, name);

-- 
To view, visit https://review.coreboot.org/18438
To unsubscribe, visit https://review.coreboot.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I0c14bd729f8a67bca37cbdbd3a5e266c99c86d54
Gerrit-PatchSet: 20
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Owner: Marc Jones <marc at marcjonesconsulting.com>
Gerrit-Reviewer: Marc Jones <marc at marcjonesconsulting.com>
Gerrit-Reviewer: Marshall Dawson <marshalldawson3rd at gmail.com>
Gerrit-Reviewer: Martin Roth <martinroth at google.com>
Gerrit-Reviewer: Paul Menzel <paulepanter at users.sourceforge.net>
Gerrit-Reviewer: build bot (Jenkins)



More information about the coreboot-gerrit mailing list