summaryrefslogtreecommitdiffstats
path: root/src/include/symbols.h
diff options
context:
space:
mode:
authorJoel Kitching <kitching@google.com>2019-02-11 15:37:49 +0800
committerPatrick Georgi <pgeorgi@google.com>2019-03-14 11:47:28 +0000
commit0bcee882982543bcc3212ad7cdac47403d9de9c7 (patch)
tree55b9ea906a4195d0b41d3812b06931c813d40301 /src/include/symbols.h
parent6b8a29e8b9d3f9458f6c960c307600c49624b7ee (diff)
downloadcoreboot-0bcee882982543bcc3212ad7cdac47403d9de9c7.tar.gz
coreboot-0bcee882982543bcc3212ad7cdac47403d9de9c7.tar.bz2
coreboot-0bcee882982543bcc3212ad7cdac47403d9de9c7.zip
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 <kitching@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/31329 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'src/include/symbols.h')
-rw-r--r--src/include/symbols.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/include/symbols.h b/src/include/symbols.h
index 8786db78bdcd..c35e19123b2d 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 */