From 0bcee882982543bcc3212ad7cdac47403d9de9c7 Mon Sep 17 00:00:00 2001 From: Joel Kitching Date: Mon, 11 Feb 2019 15:37:49 +0800 Subject: vboot: copy data structures to CBMEM for downstream use For platforms that do not employ VBOOT_STARTS_IN_ROMSTAGE, vboot verification occurs before CBMEM is brought online. In order to make vboot data structures available downstream, copy vb2_working_data from CAR/SRAM into CBMEM when CBMEM comes online. Create VBOOT_MIGRATE_WORKING_DATA config option to toggle this functionality. BUG=b:124141368, b:124192753 TEST=Built and deployed on eve with STARTS_IN_BOOTBLOCK TEST=Built and deployed on eve with STARTS_IN_ROMSTAGE TEST=util/lint/checkpatch.pl -g origin/master..HEAD TEST=util/abuild/abuild -B -e -y -c 50 -p none -x BRANCH=none Change-Id: I62c11268a83927bc00ae9bd93b1b31363b38e8cf Signed-off-by: Joel Kitching Reviewed-on: https://review.coreboot.org/c/coreboot/+/31329 Tested-by: build bot (Jenkins) Reviewed-by: Julius Werner --- src/include/symbols.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/include/symbols.h') diff --git a/src/include/symbols.h b/src/include/symbols.h index 8786db78bd..c35e19123b 100644 --- a/src/include/symbols.h +++ b/src/include/symbols.h @@ -67,4 +67,11 @@ DECLARE_REGION(bl31) */ #define DECLARE_OPTIONAL_REGION(name) asm (".weak _" #name ", _e" #name) +/* Returns true when pre-RAM symbols are known to the linker. + * (Does not necessarily mean that the memory is accessible.) */ +static inline int preram_symbols_available(void) +{ + return !IS_ENABLED(CONFIG_CACHE_AS_RAM) || ENV_CACHE_AS_RAM; +} + #endif /* __SYMBOLS_H */ -- cgit v1.2.3