Kyösti Mälkki (kyosti.malkki@gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5595
-gerrit
commit a64fb6fd43beb7d7b069975a7f9b2afddebeccd4 Author: Kyösti Mälkki kyosti.malkki@gmail.com Date: Sun Dec 22 00:22:49 2013 +0200
device: Conditionally bypass oprom execution
Builds with CHROMEOS can bypass VGA oprom when boot is not in developer or recovery modes. Have the same functionality available without CHROMEOS but with BOOTMODE_STRAPS.
Change-Id: I97644364305dc05aad78a744599476ccc58db163 Signed-off-by: Kyösti Mälkki kyosti.malkki@gmail.com --- src/device/pci_device.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/src/device/pci_device.c b/src/device/pci_device.c index d5f150c..0641ab8 100644 --- a/src/device/pci_device.c +++ b/src/device/pci_device.c @@ -33,6 +33,7 @@ #include <device/pci.h> #include <device/pci_ids.h> #include <delay.h> +#include <bootmode.h> #if CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT #include <device/hypertransport.h> #endif @@ -668,20 +669,18 @@ static int should_run_oprom(struct device *dev) if (should_run >= 0) return should_run;
-#if CONFIG_CHROMEOS - /* In ChromeOS we want to boot blazingly fast. Therefore - * we don't run (VGA) option ROMs, unless we have to print + /* Don't run VGA option ROMs, unless we have to print * something on the screen before the kernel is loaded. */ - if (!developer_mode_enabled() && !recovery_mode_enabled() && - !vboot_wants_oprom()) { - printk(BIOS_DEBUG, "Not running VGA Option ROM\n"); - should_run = 0; - return should_run; - } -#endif - should_run = 1; + should_run = !IS_ENABLED(CONFIG_BOOTMODE_STRAPS) || + developer_mode_enabled() || recovery_mode_enabled();
+#if CONFIG_CHROMEOS + if (!should_run) + should_run = vboot_wants_oprom(); +#endif + if (!should_run) + printk(BIOS_DEBUG, "Not running VGA Option ROM\n"); return should_run; }