Revert "pci stuff: too much hax now, trying rd890 patch (not merged yet)"
[coreboot.git] / src / devices / pci_device.c
index 0a870b84cfe63ee5e57e24a0ec1f122be34853fe..f54e2620bf78c6e6564cf14523bb4a54d587881b 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;
@@ -1043,7 +1055,7 @@ unsigned int pci_scan_bus(struct bus *bus, unsigned min_devfn,
                       "devfn %x\n", min_devfn, max_devfn);
                printk(BIOS_ERR, "PCI: pci_scan_bus upper limit too big. "
                       "Using 0xff.\n");
-               max_devfn=0xff;
+               max_devfn=0x08;
        }
 
        old_devices = bus->children;
@@ -1059,10 +1071,14 @@ unsigned int pci_scan_bus(struct bus *bus, unsigned min_devfn,
                struct device *dev;
 
                /* First thing setup the device structure. */
+               printk(BIOS_INFO, "%s: before pci_scan_get_dev! devfn: %d\n", __func__, devfn);
                dev = pci_scan_get_dev(&old_devices, devfn);
+               printk(BIOS_INFO, "%s: after  pci_scan_get_dev!\n", __func__);
 
                /* See if a device is present and setup the device structure. */
+               printk(BIOS_INFO, "%s: before pci_probe_dev!\n", __func__);
                dev = pci_probe_dev(dev, bus, devfn);
+               printk(BIOS_INFO, "%s: after  pci_probe_dev!\n", __func__);
 
                /*
                 * If this is not a multi function device, or the device is