src/security/vboot: Add option to skip display init with vboot 2.0

This config option, when set, will allow the platform to skip display
initialization in normal (non-developer, non-recovery) mode. This allows
platforms that do not implement firmware UI in normal mode to skip the
display init in firmware.

TEST=Set option CONFIG_VBOOT and clear CONFIG_VBOOT_MAY_SKIP_DISPLAY_INIT
     and the display should initialize in ramstage when platform boots. Set
     CONFIG_VBOOT and set CONFIG_VBOOT_MAY_SKIP_DISPLAY_INIT and the display
     initialization should be skipped in coreboot.

Signed-off-by: Sukerkar, Amol N <amol.n.sukerkar@intel.com>
Change-Id: Icadad6da34dcb817af02868e89a94ea62dbfa7b3
Reviewed-on: https://review.coreboot.org/c/coreboot/+/33844
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
Sukerkar, Amol N 2019-06-25 14:59:00 -07:00 committed by Martin Roth
parent fffc9f3b9d
commit 598af2e2c2
2 changed files with 13 additions and 2 deletions

View File

@ -2,6 +2,7 @@
* This file is part of the coreboot project.
*
* Copyright (C) 2011 The ChromiumOS Authors. All rights reserved.
* Copyright (C) 2019 Intel Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -33,8 +34,7 @@ void gfx_set_init_done(int done)
int display_init_required(void)
{
/* For vboot, always honor VBOOT_WD_FLAG_DISPLAY_INIT. */
if (CONFIG(VBOOT)) {
if (CONFIG(VBOOT_MAY_SKIP_DISPLAY_INIT)) {
/* Must always select MUST_REQUEST_DISPLAY when using this
function. */
if (!CONFIG(VBOOT_MUST_REQUEST_DISPLAY))

View File

@ -154,10 +154,21 @@ config VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
reboots caused after vboot verification is run. e.g. reboots caused by
FSP components on Intel platforms.
config VBOOT_MAY_SKIP_DISPLAY_INIT
bool "Skip display initialization in normal mode"
default y if CHROMEOS
default n
help
Set this option to indicate that coreboot should skip display
initialization on a normal (non-recovery, non-developer) boot.
This is useful for platforms that do not support firmware
user-interface in normal mode.
config VBOOT_MUST_REQUEST_DISPLAY
bool
default y if VGA_ROM_RUN
default n
depends on VBOOT_MAY_SKIP_DISPLAY_INIT
help
Set this option to indicate to vboot that this platform will skip its
display initialization on a normal (non-recovery, non-developer) boot.