3 * Jun 17, 1994 : Modified to accommodate the broken pre-PCI BIOS SPECIFICATION
4 * Revision 2.0 present on <thys@dennis.ee.up.ac.za>'s ASUS mainboard.
6 * Jan 5, 1995 : Modified to probe PCI hardware at boot time by Frederic
7 * Potter, potter@cao-vlsi.ibp.fr
9 * Jan 10, 1995 : Modified to store the information about configured pci
10 * devices into a list, which can be accessed via /proc/pci by
11 * Curtis Varner, cvarner@cs.ucr.edu
13 * Jan 12, 1995 : CPU-PCI bridge optimization support by Frederic Potter.
14 * Alpha version. Intel & UMC chipset support only.
16 * Apr 16, 1995 : Source merge with the DEC Alpha PCI support. Most of the code
17 * moved to drivers/pci/pci.c.
19 * Dec 7, 1996 : Added support for direct configuration access of boards
20 * with Intel compatible access schemes (tsbogend@alpha.franken.de)
22 * Feb 3, 1997 : Set internal functions to static, save/restore flags
23 * avoid dead locks reading broken PCI BIOS, werner@suse.de
25 * Apr 26, 1997 : Fixed case when there is BIOS32, but not PCI BIOS
26 * (mj@atrey.karlin.mff.cuni.cz)
28 * May 7, 1997 : Added some missing cli()'s. [mj]
30 * Jun 20, 1997 : Corrected problems in "conf1" type accesses.
33 * Aug 2, 1997 : Split to PCI BIOS handling and direct PCI access parts
34 * and cleaned it up... Martin Mares <mj@atrey.karlin.mff.cuni.cz>
36 * Feb 6, 1998 : No longer using BIOS to find devices and device classes. [mj]
38 * May 1, 1998 : Support for peer host bridges. [mj]
40 * Jun 19, 1998 : Changed to use spinlocks, so that PCI configuration space
41 * can be accessed from interrupts even on SMP systems. [mj]
43 * August 1998 : Better support for peer host bridges and more paranoid
44 * checks for direct hardware access. Ugh, this file starts to look as
45 * a large gallery of common hardware bug workarounds (watch the comments)
46 * -- the PCI specs themselves are sane, but most implementors should be
47 * hit hard with \hammer scaled \magstep5. [mj]
49 * Jan 23, 1999 : More improvements to peer host bridge logic. i450NX fixup. [mj]
51 * Feb 8, 1999 : Added UM8886BF I/O address fixup. [mj]
53 * August 1999 : New resource management and configuration access stuff. [mj]
55 * Sep 19, 1999 : Use PCI IRQ routing tables for detection of peer host bridges.
56 * Based on ideas by Chris Frantz and David Hinds. [mj]
58 * Sep 28, 1999 : Handle unreported/unassigned IRQs. Thanks to Shuu Yamaguchi
59 * for a lot of patience during testing. [mj]
61 * Oct 8, 1999 : Split to pci-i386.c, pci-pc.c and pci-visws.c. [mj]