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>
This commit is contained in:
Julius Werner 2020-10-21 17:54:40 -07:00 committed by Patrick Georgi
parent d9e543a5f9
commit 4a30d42c4a
1 changed files with 1 additions and 1 deletions

View File

@ -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);