From 582b2aee0f5ac84339853551cca1f4d21e1e3fca Mon Sep 17 00:00:00 2001 From: Martin Roth Date: Sun, 11 Jan 2015 14:29:29 -0700 Subject: FSP & CBMEM: Fix broken cbmem CAR transition. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1) Save the pointer to the FSP HOB list to low memory at address 0x614. This is the same location as CBMEM_RESUME_BACKUP - the two aren't used in the same platform, so overlapping should be OK. I didn't see any documentation that actually said that this location was free to use, and didn't need to be restored after use in S3 resume, but it looks like the DOS boot vector gets loaded juat above this location, so it SHOULD be ok. The alternative is to copy the memory out and store it in cbmem until we're ready to restore it. 2) When a request for the pointer to a CAR variable comes in, pass back the location inside the FSP hob structure. 3) Skip the memcopy of the CAR Data. The CAR variables do not get transitioned back into cbmem, but used out of the HOB structure. 4) Remove the BROKEN_CAR_MIGRATE Kconfig option from the FSP platform. Change-Id: Iaf566dce1b41a3bcb17e4134877f68262b5e113f Signed-off-by: Martin Roth Reviewed-on: http://review.coreboot.org/8196 Reviewed-by: Aaron Durbin Tested-by: build bot (Jenkins) Reviewed-by: Kyösti Mälkki --- src/include/cbmem.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/include') diff --git a/src/include/cbmem.h b/src/include/cbmem.h index ca7a5f4c5c..2f86b85a1f 100644 --- a/src/include/cbmem.h +++ b/src/include/cbmem.h @@ -40,6 +40,7 @@ */ #define CBMEM_BOOT_MODE 0x610 #define CBMEM_RESUME_BACKUP 0x614 +#define CBMEM_FSP_HOB_PTR 0x614 #define CBMEM_ID_FREESPACE 0x46524545 #define CBMEM_ID_GDT 0x4c474454 -- cgit v1.2.3