diff options
author | Julius Werner <jwerner@chromium.org> | 2020-10-21 17:54:40 -0700 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2020-10-26 06:58:54 +0000 |
commit | 4a30d42c4a3a317400d2d93c110b57d22d1c8265 (patch) | |
tree | baa09fbad066c4a252c929d87a737b32194149d3 /src/security/vboot | |
parent | d9e543a5f9e0aa3c844e82fedf2499f30c0f9e69 (diff) | |
download | coreboot-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.h | 2 |
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); |