1 .\" $NetBSD: pci.4,v 1.90 2009/01/03 17:44:20 christos Exp $
3 .\" Copyright (c) 1997 Jason R. Thorpe. All rights reserved.
4 .\" Copyright (c) 1997 Jonathan Stone
5 .\" All rights reserved.
7 .\" Redistribution and use in source and binary forms, with or without
8 .\" modification, are permitted provided that the following conditions
10 .\" 1. Redistributions of source code must retain the above copyright
11 .\" notice, this list of conditions and the following disclaimer.
12 .\" 2. Redistributions in binary form must reproduce the above copyright
13 .\" notice, this list of conditions and the following disclaimer in the
14 .\" documentation and/or other materials provided with the distribution.
15 .\" 3. All advertising materials mentioning features or use of this software
16 .\" must display the following acknowledgements:
17 .\" This product includes software developed by Jonathan Stone
18 .\" 4. The name of the author may not be used to endorse or promote products
19 .\" derived from this software without specific prior written permission
21 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24 .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26 .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 .Nd introduction to machine-independent PCI bus support and drivers
39 .Cd "pci* at mainbus? bus ?"
40 .Cd "pci* at pchb? bus ?"
41 .Cd "pci* at ppb? bus ?"
43 .Cd options PCIVERBOSE
44 .Cd options PCI_CONFIG_DUMP
45 .Cd options PCI_ADDR_FIXUP
46 .Cd options PCI_BUS_FIXUP
47 .Cd options PCI_INTR_FIXUP
51 attachments are machine-dependent and depend on the bus topology and
53 bus interface of your system.
56 for your system for details.
59 includes a machine-independent
62 several machine-independent
66 Your system may support additional
71 devices not listed here are machine-dependent.
74 for additional information.
76 .Bl -tag -width PCI_ADDR_FIXUP -offset 3n
78 Fixup PCI I/O and memory addresses.
80 Some i386 and amd64 BIOS implementations don't allocate I/O space and
81 memory space for some PCI devices -- primarily BIOS in PnP mode, or laptops
82 that expect devices to be configured via ACPI.
83 Since necessary space isn't allocated, those devices
84 will not work without special handling.
86 This option allocates I/O space and memory space
87 instead of relying upon the BIOS to do so.
89 If necessary space is already correctly assigned to the devices,
90 this option leaves the space as is.
93 Fixup PCI bus numbering; needed for many
97 Each PCI bus and CardBus should have a unique bus number.
98 But some BIOS implementations don't assign a bus number
99 for subordinate PCI buses.
100 And many BIOS implementations
101 don't assign a bus number for CardBuses.
103 A typical symptom of this is the following boot message:
104 .D1 Sy cardbus0 at cardslot0: bus 0 device 0...
105 Please note that this cardbus0 has a bus number
107 but normally the bus number 0 is used by the machine's
109 Thus, this bus number for cardbus is incorrect
111 In this situation, a device located in cardbus0 doesn't
112 show correct device ID,
113 because its bus number 0 incorrectly refers to the primary
114 PCI bus, and a device ID in the primary PCI bus is shown
115 in the boot message instead of the device's ID in the cardbus0.
117 This option assigns bus numbers for all subordinate
118 PCI buses and CardBuses.
120 Since this option renumbers all PCI buses and CardBuses,
121 all bus numbers of subordinate buses become different
122 when this option is enabled.
123 .It Dv PCI_INTR_FIXUP
124 Fixup PCI interrupt routing via PCIBIOS or ACPI.
126 Some i386 and amd64 BIOS implementations don't assign an interrupt for
129 This option assigns an interrupt for such devices instead
130 of relying upon the BIOS to do so.
132 If a valid interrupt has already been assigned to a device, this
133 option leaves the interrupt as is.
137 includes machine-independent
139 drivers, sorted by device type and driver name:
141 .Bl -tag -width pcdisplay -offset indent
143 Adaptec 29xx, 39xx, and other AIC-7xxx-based
159 DPT SmartCache/SmartRAID III and IV
167 QLogic ISP-1020, ISP-1040, and ISP-2100
173 LSI Logic \*[Am] Dell MegaRAID SAS RAID controllers.
175 Mylex AcceleRAID and eXtremeRAID controllers with v6 firmware.
177 Advanced Micro Devices Am53c974 PCscsi-PCI
181 Symbios Logic/NCR 53c8xx-family
185 Tekram TRM-S1040 ASIC based
189 .Ss Disk and tape controllers
190 .Bl -tag -width pcdisplay -offset indent
192 The Adaptec AAC family of RAID controllers.
194 AHCI 1.0 and 1.1 compliant SATA controllers.
196 The AMI and LSI Logic MegaRAID family of RAID controllers.
198 Compaq array controllers.
200 ICP Vortex GDT and Intel Storage RAID controllers.
202 Mylex DAC960 and DEC SWXCR RAID controllers.
204 IDE disk controllers.
206 3Ware Escalade RAID controllers.
208 .Ss Network interfaces
209 .Bl -tag -width pcdisplay -offset indent
214 340 series 802.11 interfaces.
216 Broadcom NetXtreme II 10/100/1000 Ethernet interfaces.
219 DC21x4x (Tulip) based
221 interfaces, including the DE435,
222 DE450, and DE500, and Znyx, SMC, Cogent/Adaptec, and Asante single- and
227 Midway-based Efficient Networks Inc. and Adaptec ATM interfaces.
229 3Com 3c590, 3c595, 3c900, and 3c905
237 RoadRunner-based HIPPI interfaces.
239 3Com 3c900, 3c905, and 3c980
248 Intel EtherExpress PRO 10+/100B
252 National Semiconductor DP83820 based Gigabit
256 Sun Microelectronics STP2002-STQ
265 driver supersedes this driver.
267 LAN Media Corp WAN interfaces.
269 Marvell Yukon 2 based Gigabit
281 SDL Communications N2pci and WAN/ic 400 synchronous serial interfaces.
283 AMD PCnet-PCI family of
287 Ralink Technology RT2500/RT2600-based 802.11a/b/g wireless network interfaces.
289 Realtek 8129/8139 based
293 Adaptec AIC-6915 10/100
297 Silicon Integrated Systems SiS 900, SiS 7016, and National Semiconductor
302 SysKonnect SK-98xx based Gigabit
306 Sundance ST-201 10/100 based
310 Sundance/Tamarack TC9021 based Gigabit
314 Alteon Networks Tigon I and Tigon II Gigabit Ethernet driver.
316 Texas Instruments ThunderLAN-based
320 DECchip 21x4x and clone
324 VIA Networking Technologies VT6122 PCI Gigabit Ethernet adapter driver.
326 VIA VT3043 (Rhine) and VT86C100A (Rhine-II)
330 WaveLAN/IEEE and PRISM-II 802.11 wireless interfaces.
336 .Ss Serial interfaces
337 .Bl -tag -width pcdisplay -offset indent
339 Cyclades Cyclom-4Y, -8Y, and -16Y multi-port serial interfaces.
341 Cyclades-Z series multi-port serial interfaces.
344 .Bl -tag -width pcdisplay -offset indent
346 Acer Labs M5455 I/O Controller Hub integrated AC'97 audio device.
348 Intel I/O Controller Hub integrated AC'97 audio device.
350 VIA VT82C686A integrated AC'97 audio device.
352 Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 AC'97 audio device.
354 Cirrus Logic CS4280 audio device.
356 Cirrus Logic CS4281 audio device.
358 C-Media CMI8x38 audio device.
360 Ensoniq AudioPCI audio device.
362 Creative Labs SBLive! and PCI 512 audio device.
364 ESS Technology Allegro-1 / Maestro-3 audio device.
366 ESS Maestro-1/2/2e PCI AC'97 Audio Accelerator audio device.
368 ESS Solo-1 PCI AudioDrive audio device.
370 Forte Media FM801 audio device.
372 NeoMagic MagicMedia 256 audio device.
374 S3 SonicVibes audio device.
376 Yamaha YMF724/740/744/754-based audio device.
379 .Bl -tag -width pcdisplay -offset indent
387 .Tn PCI Ns \- Ns Tn PCI
390 expansion backplanes.
392 .Ss Miscellaneous devices
393 .Bl -tag -width pcdisplay -offset indent
395 Brooktree 848 compatible TV cards.
397 USB EHCI host controllers.
401 Guillemot Maxi Radio FM 2000 FM radio device.
403 Toshiba OBOE IrDA SIR/FIR controller.
405 USB OHCI host controllers.
409 controllers, including the Cirrus Logic GD6729.
413 communications cards, containing
417 communications ports.
419 USB UHCI host controllers.
421 VIA VT82C686A hardware monitors.
513 The machine-independent
515 subsystem appeared in