summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Kitching <kitching@google.com>2019-05-10 12:58:53 +0800
committerPatrick Georgi <pgeorgi@google.com>2019-05-15 17:50:08 +0000
commit807803afa2d10cfd818d7f1585e0279f09fc1e14 (patch)
treea1981475a24b9fc3c50222fd4b8584a24f72c905
parent18b51b7315bea0031f05f14dcad82857716d264e (diff)
downloadcoreboot-807803afa2d10cfd818d7f1585e0279f09fc1e14.tar.xz
vboot: remove OPROM-related code
As of CL:1605641, vboot2 code should be used for setting and checking display init state. Remove all vboot1 OPROM-related code, and use the vboot2 display init code which has already been added in previous commits. coreboot should not be reading vboot NVRAM flags directly. Remove the function vboot_wants_oprom(), and instead rely on display_init_required(), which uses the VBOOT_WD_FLAG_DISPLAY_INIT value stored in vboot_working_data.flags, initialized during verstage. Note that this means in the case of CONFIG_VBOOT=y, the return value of display_init_required() can only be trusted after verstage has been executed. This should not be a problem assuming that all display initialization occurs in ramstage. BUG=b:124141368, b:124192753, chromium:948529 TEST=Build locally TEST=make clean && make test-abuild BRANCH=none Change-Id: Ic8f9dc5a3c7f1546a8fed82bde02be4d04568f8d Signed-off-by: Joel Kitching <kitching@google.com> Cq-Depend: chromium:1605641, chromium:1605525 Reviewed-on: https://review.coreboot.org/c/coreboot/+/32723 Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Julius Werner <jwerner@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/device/pci_device.c3
-rw-r--r--src/security/vboot/vbnv.c7
-rw-r--r--src/security/vboot/vbnv.h1
-rw-r--r--src/security/vboot/vboot_handoff.c7
-rw-r--r--src/soc/intel/broadwell/igd.c2
5 files changed, 1 insertions, 19 deletions
diff --git a/src/device/pci_device.c b/src/device/pci_device.c
index b5453c7e76..31c35dc02e 100644
--- a/src/device/pci_device.c
+++ b/src/device/pci_device.c
@@ -780,9 +780,6 @@ static int should_run_oprom(struct device *dev)
*/
should_run = display_init_required();
- if (!should_run && CONFIG(VBOOT))
- should_run = vboot_wants_oprom();
-
if (!should_run)
printk(BIOS_DEBUG, "Not running VGA Option ROM\n");
return should_run;
diff --git a/src/security/vboot/vbnv.c b/src/security/vboot/vbnv.c
index 78502f74ee..0c4f33bc11 100644
--- a/src/security/vboot/vbnv.c
+++ b/src/security/vboot/vbnv.c
@@ -140,13 +140,6 @@ int get_recovery_mode_from_vbnv(void)
return vbnv_data(RECOVERY_OFFSET);
}
-/* Read the BOOT_DISPLAY_REQUEST flag from VBNV. */
-int vboot_wants_oprom(void)
-{
- vbnv_setup();
- return (vbnv_data(BOOT_OFFSET) & BOOT_DISPLAY_REQUEST) ? 1 : 0;
-}
-
/* Read the USB Device Controller(UDC) enable flag from VBNV. */
int vbnv_udc_enable_flag(void)
{
diff --git a/src/security/vboot/vbnv.h b/src/security/vboot/vbnv.h
index c8e689fa04..a2f0b4c978 100644
--- a/src/security/vboot/vbnv.h
+++ b/src/security/vboot/vbnv.h
@@ -25,7 +25,6 @@ int verify_vbnv(uint8_t *vbnv_copy);
void regen_vbnv_crc(uint8_t *vbnv_copy);
int get_recovery_mode_from_vbnv(void);
void set_recovery_mode_into_vbnv(int recovery_reason);
-int vboot_wants_oprom(void);
/* Read the USB Device Controller(UDC) enable flag from VBNV. */
int vbnv_udc_enable_flag(void);
diff --git a/src/security/vboot/vboot_handoff.c b/src/security/vboot/vboot_handoff.c
index fccbdfc0b7..8a6b3d61e8 100644
--- a/src/security/vboot/vboot_handoff.c
+++ b/src/security/vboot/vboot_handoff.c
@@ -68,13 +68,6 @@ static void fill_vboot_handoff(struct vboot_handoff *vboot_handoff,
vb_sd->flags |= VBSD_BOOT_DEV_SWITCH_ON;
vb_sd->flags |= VBSD_LF_DEV_SWITCH_ON;
}
- /* TODO(chromium:948529): Remove these two flags after downstream
- vboot code longer reads them. */
- if (vboot_wants_oprom() || vb2_sd->recovery_reason ||
- vb2_sd->flags & VB2_SD_FLAG_DEV_MODE_ENABLED)
- vb_sd->flags |= VBSD_OPROM_LOADED;
- if (CONFIG(VBOOT_MUST_REQUEST_DISPLAY))
- vb_sd->flags |= VBSD_OPROM_MATTERS;
/* In vboot1, VBSD_FWB_TRIED is
* set only if B is booted as explicitly requested. Therefore, if B is
diff --git a/src/soc/intel/broadwell/igd.c b/src/soc/intel/broadwell/igd.c
index 319549df1e..b9b42810fc 100644
--- a/src/soc/intel/broadwell/igd.c
+++ b/src/soc/intel/broadwell/igd.c
@@ -513,7 +513,7 @@ static void igd_init(struct device *dev)
/* Wait for any configured pre-graphics delay */
if (!acpi_is_wakeup_s3()) {
#if CONFIG(CHROMEOS)
- if (display_init_required() || vboot_wants_oprom())
+ if (display_init_required())
mdelay(CONFIG_PRE_GRAPHICS_DELAY);
#else
mdelay(CONFIG_PRE_GRAPHICS_DELAY);