security/vboot: Set VBOOT_ALWAYS_ENABLE_DISPLAY if BMP_LOGO

If BMP_LOGO is set, currently display_init_required() will always return
1, so that platform code will always initialize display. However, that
information isn't passed to vboot, which may result in unnecessary extra
reboots, for example when the payload needs to request display init (by
vb2api_need_reboot_for_display()).

Since there is already a Kconfig option VBOOT_ALWAYS_ENABLE_DISPLAY to
tell vboot that "display is available on this boot", enable it by
default if BMP_LOGO is set.

BUG=b:345085042
TEST=none
BRANCH=none

Change-Id: I20113ec464aa036d0498dedb50f0e82cb677ae93
Signed-off-by: Yu-Ping Wu <yupingso@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/83256
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
Yu-Ping Wu
2024-06-28 16:26:43 +08:00
committed by Yu-Ping Wu
parent 2d8fcc8778
commit 409860687b
2 changed files with 1 additions and 4 deletions

View File

@@ -21,10 +21,6 @@ void gfx_set_init_done(int done)
int display_init_required(void)
{
/* Need display for showing splash screen. */
if (CONFIG(BMP_LOGO))
return 1;
/* For vboot, honor VB2_CONTEXT_DISPLAY_INIT. */
if (CONFIG(VBOOT)) {
/* Must always select MUST_REQUEST_DISPLAY when using this

View File

@@ -156,6 +156,7 @@ config VBOOT_MUST_REQUEST_DISPLAY
config VBOOT_ALWAYS_ENABLE_DISPLAY
bool "Force to always enable display"
default y if BMP_LOGO
default n
help
Set this option to indicate to vboot that display should always be enabled.