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. * This file is part of the coreboot project.
* *
* Copyright (C) 2011 The ChromiumOS Authors. All rights reserved. * 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 * 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 * 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) int display_init_required(void)
{ {
/* For vboot, always honor VBOOT_WD_FLAG_DISPLAY_INIT. */ if (CONFIG(VBOOT_MAY_SKIP_DISPLAY_INIT)) {
if (CONFIG(VBOOT)) {
/* Must always select MUST_REQUEST_DISPLAY when using this /* Must always select MUST_REQUEST_DISPLAY when using this
function. */ function. */
if (!CONFIG(VBOOT_MUST_REQUEST_DISPLAY)) 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 reboots caused after vboot verification is run. e.g. reboots caused by
FSP components on Intel platforms. 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 config VBOOT_MUST_REQUEST_DISPLAY
bool bool
default y if VGA_ROM_RUN default y if VGA_ROM_RUN
default n default n
depends on VBOOT_MAY_SKIP_DISPLAY_INIT
help help
Set this option to indicate to vboot that this platform will skip its Set this option to indicate to vboot that this platform will skip its
display initialization on a normal (non-recovery, non-developer) boot. display initialization on a normal (non-recovery, non-developer) boot.