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:
parent
d9e543a5f9
commit
4a30d42c4a
|
@ -45,7 +45,7 @@ void verstage_mainboard_early_init(void);
|
||||||
void verstage_mainboard_init(void);
|
void verstage_mainboard_init(void);
|
||||||
|
|
||||||
/* Check boot modes */
|
/* Check boot modes */
|
||||||
#if CONFIG(VBOOT)
|
#if CONFIG(VBOOT) && !ENV_SMM
|
||||||
int vboot_developer_mode_enabled(void);
|
int vboot_developer_mode_enabled(void);
|
||||||
int vboot_recovery_mode_enabled(void);
|
int vboot_recovery_mode_enabled(void);
|
||||||
int vboot_can_enable_udc(void);
|
int vboot_can_enable_udc(void);
|
||||||
|
|
Loading…
Reference in New Issue