Make PCI CONF2 support a compile time option
authorStefan Reinauer <reinauer@chromium.org>
Thu, 17 Nov 2011 21:05:31 +0000 (13:05 -0800)
committerStefan Reinauer <stefan.reinauer@coreboot.org>
Fri, 30 Mar 2012 15:45:53 +0000 (17:45 +0200)
It's not used on any board supported by coreboot but has been
detected at run time since ages. No new boards (since 2000?)
are using the CONF2 method, so it is unlikely we ever have to
turn this on for a board.

Change-Id: I17df94a8a77b9338fde10a6b114b44d393776e66
Signed-off-by: Stefan Reinauer <reinauer@google.com>
Reviewed-on: http://review.coreboot.org/758
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
src/arch/x86/Kconfig
src/arch/x86/lib/Makefile.inc
src/arch/x86/lib/pci_ops_auto.c

index 4ca49cbaf482b31b1ae54868fce5815e50b73aae..f49d09b8729f7945609c7a839e3b4895ad22742c 100644 (file)
@@ -100,4 +100,8 @@ config IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS
        bool
        default n
 
+config PCI_CONF2
+       bool
+       default n
+
 endmenu
index 3f4dc955600a4e242f7ea7e5639584c875ce3852..96fb9b07f59da3091332d511890f8d3c8b22922c 100644 (file)
@@ -1,10 +1,8 @@
 ramstage-y += c_start.S
 ramstage-y += cpu.c
 ramstage-y += pci_ops_conf1.c
-ramstage-y += pci_ops_conf2.c
-
+ramstage-$(CONFIG_PCI_CONF2) += pci_ops_conf2.c
 ramstage-$(CONFIG_MMCONF_SUPPORT) += pci_ops_mmconf.c
-
 ramstage-y += pci_ops_auto.c
 ramstage-y += exception.c
 ramstage-$(CONFIG_IOAPIC) += ioapic.c
index 92eedd30fb560f7922d7aafec87dff6a2afe9b55..58e098b655e113c8a072e83a22e174b4a50925f5 100644 (file)
@@ -6,6 +6,7 @@
 #include <device/pci_ids.h>
 #include <device/pci_ops.h>
 
+#if CONFIG_PCI_CONF2
 /*
  * Before we decide to use direct hardware access mechanisms, we try to do some
  * trivial checks to ensure it at least _seems_ to be working -- we just test
@@ -41,7 +42,7 @@ static int pci_sanity_check(const struct pci_bus_operations *o)
        return 0;
 }
 
-struct pci_bus_operations *pci_bus_fallback_ops = NULL;
+static struct pci_bus_operations *pci_bus_fallback_ops = NULL;
 
 static const struct pci_bus_operations *pci_check_direct(void)
 {
@@ -89,6 +90,12 @@ const struct pci_bus_operations *pci_remember_direct(void)
                pci_bus_fallback_ops = (struct pci_bus_operations *)pci_check_direct();
        return pci_bus_fallback_ops;
 }
+#else
+const struct pci_bus_operations *pci_remember_direct(void)
+{
+       return &pci_cf8_conf1;
+}
+#endif
 
 /** Set the method to be used for PCI, type I or type II
  */