[ChromeOS] Don't initialize VGA Option ROM in normal mode
authorStefan Reinauer <reinauer@chromium.org>
Sat, 31 Mar 2012 00:10:49 +0000 (17:10 -0700)
committerStefan Reinauer <stefan.reinauer@coreboot.org>
Mon, 2 Apr 2012 16:42:54 +0000 (18:42 +0200)
ChromeOS features two different modes: normal mode and developer mode
(aka jailbreak mode). In developer mode, we need to display a warning
screen for security reasons.

However, in normal mode we want to boot blazingly fast. Therefore we
don't run (VGA) option ROMs, unless we have to print something on the
screen before the kernel is loaded.

Change-Id: I37f63d0b082a48e037e65bde2b380f9b8743ed29
Signed-off-by: Stefan Reinauer <reinauer@google.com>
Reviewed-on: http://review.coreboot.org/829
Tested-by: build bot (Jenkins)
Reviewed-by: Mathias Krause <minipli@googlemail.com>
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
src/devices/pci_device.c

index 0a870b84cfe63ee5e57e24a0ec1f122be34853fe..c0559956b39e94a196ee79b7000202ada316fbfb 100644 (file)
@@ -54,6 +54,9 @@
 #if CONFIG_HAVE_ACPI_RESUME && !CONFIG_S3_VGA_ROM_RUN
 #include <arch/acpi.h>
 #endif
+#if CONFIG_CHROMEOS
+#include <vendorcode/google/chromeos/chromeos.h>
+#endif
 
 u8 pci_moving_config8(struct device *dev, unsigned int reg)
 {
@@ -667,6 +670,15 @@ void pci_dev_init(struct device *dev)
            ((dev->class >> 8) == PCI_CLASS_DISPLAY_VGA))
                return;
 
+#if CONFIG_CHROMEOS
+       /* In ChromeOS we want to boot blazingly fast. Therefore
+        * we 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())
+               return;
+#endif
+
        rom = pci_rom_probe(dev);
        if (rom == NULL)
                return;