summaryrefslogtreecommitdiff
path: root/src/security/vboot
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2020-10-21 17:54:40 -0700
committerPatrick Georgi <pgeorgi@google.com>2020-10-26 06:58:54 +0000
commit4a30d42c4a3a317400d2d93c110b57d22d1c8265 (patch)
treebaa09fbad066c4a252c929d87a737b32194149d3 /src/security/vboot
parentd9e543a5f9e0aa3c844e82fedf2499f30c0f9e69 (diff)
downloadcoreboot-4a30d42c4a3a317400d2d93c110b57d22d1c8265.tar.xz
vboot: Disable vboot functions in SMM
SMM does not have access to CBMEM and therefore cannot access any persistent state like the vboot context. This makes it impossible to query vboot state like the developer mode switch or the currently active RW CBFS. However some code (namely the PC80 option table) does CBFS accesses in SMM. This is currently worked around by directly using cbfs_locate_file_in_region() with the COREBOOT region. By disabling vboot functions explicitly in SMM, we can get rid of that and use normal CBFS APIs in this code. Signed-off-by: Julius Werner <jwerner@chromium.org> Change-Id: I4b1baa73681fc138771ad8384d12c0a04b605377 Reviewed-on: https://review.coreboot.org/c/coreboot/+/46645 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/security/vboot')
-rw-r--r--src/security/vboot/vboot_common.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/security/vboot/vboot_common.h b/src/security/vboot/vboot_common.h
index f2cff659ba..e64f6632a7 100644
--- a/src/security/vboot/vboot_common.h
+++ b/src/security/vboot/vboot_common.h
@@ -45,7 +45,7 @@ void verstage_mainboard_early_init(void);
void verstage_mainboard_init(void);
/* Check boot modes */
-#if CONFIG(VBOOT)
+#if CONFIG(VBOOT) && !ENV_SMM
int vboot_developer_mode_enabled(void);
int vboot_recovery_mode_enabled(void);
int vboot_can_enable_udc(void);