From 4a30d42c4a3a317400d2d93c110b57d22d1c8265 Mon Sep 17 00:00:00 2001 From: Julius Werner Date: Wed, 21 Oct 2020 17:54:40 -0700 Subject: 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 Change-Id: I4b1baa73681fc138771ad8384d12c0a04b605377 Reviewed-on: https://review.coreboot.org/c/coreboot/+/46645 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- src/security/vboot/vboot_common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/security/vboot') 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); -- cgit v1.2.3