Patrick Rudolph has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/38780 )
Change subject: vboot: remove VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT option ......................................................................
Patch Set 11:
Patch Set 11:
That seems to cause a regression boards where VBOOT starts in romstage, as vboot_recovery_mode_enabled() calls vboot_get_context() that haven't been initialized yet.
Yeah, that was somewhat intentional... nobody should be calling vboot_recovery_mode_enabled() before vboot has run, so we decided to fail more aggressively there to recognize those cases so we can fix them. Can you let us know which boards exactly you're seeing this on and where it is called from so we can address those? (I mostly see it called from platform-specific code, and where vboot starts should be a per-platform decision, so I assume those are all correct. The only platform-independent case I see is in drivers/mrc_cache... for those, I'd suggest we explicitly check for CONFIG(VBOOT_STARTS_IN_BOOTBLOCK) to make it clear that that case is not intended to execute on platforms which are still in RO when it runs.)
It looks like all x86 boards that select VBOOT_STARTS_IN_ROMSTAGE are broken as all of them call vboot_recovery_mode_enabled() in raminit, where vboot has run yet.