summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSukerkar, Amol N <amol.n.sukerkar@intel.com>2019-06-25 14:59:00 -0700
committerMartin Roth <martinroth@google.com>2019-07-07 20:09:24 +0000
commit598af2e2c2785c00eb4290cdcefe1082b2a6f858 (patch)
tree4bd2ef800194bdf846ae3eefb633aa46c1677ed8
parentfffc9f3b9d9de4909d35da0fb4006d5080bb8e27 (diff)
downloadcoreboot-598af2e2c2785c00eb4290cdcefe1082b2a6f858.tar.gz
coreboot-598af2e2c2785c00eb4290cdcefe1082b2a6f858.tar.bz2
coreboot-598af2e2c2785c00eb4290cdcefe1082b2a6f858.zip
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>
-rw-r--r--src/lib/bootmode.c4
-rw-r--r--src/security/vboot/Kconfig11
2 files changed, 13 insertions, 2 deletions
diff --git a/src/lib/bootmode.c b/src/lib/bootmode.c
index 737dcf93d048..51bbbe5dc070 100644
--- a/src/lib/bootmode.c
+++ b/src/lib/bootmode.c
@@ -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))
diff --git a/src/security/vboot/Kconfig b/src/security/vboot/Kconfig
index ea1f73889a3e..fa9893520afc 100644
--- a/src/security/vboot/Kconfig
+++ b/src/security/vboot/Kconfig
@@ -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.