summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorPatrick Rudolph <patrick.rudolph@9elements.com>2018-06-05 15:12:56 +0200
committerPatrick Georgi <pgeorgi@google.com>2018-06-28 08:57:05 +0000
commit9554b26f9fd608cc613fc3ad869db33ef0edfe5c (patch)
tree1b8ba7a19cabb38e662f8b127de1a19688ed97f8 /src/lib
parent7837c203d615fce03c6d89d99ba9a746619e49d4 (diff)
downloadcoreboot-9554b26f9fd608cc613fc3ad869db33ef0edfe5c.tar.xz
vboot: Fix linking error with USE_OPTION_TABLE enabled
Fix a linking problem with VBOOT and USE_OPTION_TABLE enabled. Make use of cbfs_locate_file_in_region() and always search the cmos_layout.bin in the 'COREBOOT' region. With this change applied there's no need to include the vboot_locator in SMM any more, we can't break NVRAM with different CMOS layouts, and we keep VBOOT and non VBOOT behaviour the same. Only include cmos_layout.bin and cmos.default in RO region. Add notes explaining the decisions. Tested on Intel Sandybridge, builds and boots with vboot enabled. Change-Id: I10ae94d7936581bbb5ea49384122062bd4934ea5 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/26863 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/cbfs.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib/cbfs.c b/src/lib/cbfs.c
index 9938e6abbe..ca1fc8477e 100644
--- a/src/lib/cbfs.c
+++ b/src/lib/cbfs.c
@@ -321,6 +321,11 @@ extern const struct cbfs_locator vboot_locator;
static const struct cbfs_locator *locators[] = {
#if IS_ENABLED(CONFIG_VBOOT)
+ /*
+ * NOTE: Does not link in SMM, as the vboot_locator isn't compiled.
+ * ATM there's no need for VBOOT functionality in SMM and it's not
+ * a problem.
+ */
&vboot_locator,
#endif
&cbfs_master_header_locator,