1.\" $NetBSD: pci.4,v 1.80 2005/10/09 15:15:36 wiz Exp $ 2.\" 3.\" Copyright (c) 1997 Jason R. Thorpe. All rights reserved. 4.\" Copyright (c) 1997 Jonathan Stone 5.\" All rights reserved. 6.\" 7.\" Redistribution and use in source and binary forms, with or without 8.\" modification, are permitted provided that the following conditions 9.\" are met: 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 20.\" 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. 31.\" 32.Dd October 9, 2005 33.Dt PCI 4 34.Os 35.Sh NAME 36.Nm pci 37.Nd introduction to machine-independent PCI bus support and drivers 38.Sh SYNOPSIS 39.Cd "pci* at mainbus? bus ?" 40.Cd "pci* at pchb? bus ?" 41.Cd "pci* at ppb? bus ?" 42.Pp 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 48.Sh DESCRIPTION 49Other 50.Nm 51attachments are machine-dependent and depend on the bus topology and 52.Tn PCI 53bus interface of your system. 54See 55.Xr intro 4 56for your system for details. 57.Pp 58.Nx 59includes a machine-independent 60.Tn PCI 61bus subsystem and 62several machine-independent 63.Tn PCI 64device drivers. 65.Pp 66Your system may support additional 67.Tn PCI 68devices. 69Drivers for 70.Tn PCI 71devices not listed here are machine-dependent. 72Consult your system's 73.Xr intro 4 74for additional information. 75.Sh OPTIONS 76.Bl -tag -width PCI_ADDR_FIXUP -offset 3n 77.It Nm PCI_ADDR_FIXUP 78Fixup PCI I/O and memory addresses. 79.Pp 80Some i386 and amd64 BIOS implementations don't allocate I/O space and 81memory space for some PCI devices -- primarily BIOS in PnP mode, or laptops 82that expect devices to be configured via ACPI. 83Since necessary space isn't allocated, those devices 84will not work without special handling. 85.Pp 86This option allocates I/O space and memory space 87instead of relying upon the BIOS to do so. 88.Pp 89If necessary space is already correctly assigned to the devices, 90this option leaves the space as is. 91.Pp 92.It Nm PCI_BUS_FIXUP 93Fixup PCI bus numbering; needed for many 94.Xr cardbus 4 95bridges. 96.Pp 97Each PCI bus and CardBus should have a unique bus number. 98But some BIOS implementations don't assign a bus number 99for subordinate PCI buses. 100And many BIOS implementations 101don't assign a bus number for CardBuses. 102.Pp 103A typical symptom of this is the following boot message: 104.D1 Sy cardbus0 at cardslot0: bus 0 device 0... 105Please note that this cardbus0 has a bus number 106.Sq 0 , 107but normally the bus number 0 is used by the machine's 108primary PCI bus. 109Thus, this bus number for cardbus is incorrect 110.Pq not assigned . 111In this situation, a device located in cardbus0 doesn't 112show correct device ID, 113because its bus number 0 incorrectly refers to the primary 114PCI bus, and a device ID in the primary PCI bus is shown 115in the boot message instead of the device's ID in the cardbus0. 116.Pp 117This option assigns bus numbers for all subordinate 118PCI buses and CardBuses. 119.Pp 120Since this option renumbers all PCI buses and CardBuses, 121all bus numbers of subordinate buses become different 122when this option is enabled. 123.It Nm PCI_INTR_FIXUP 124Fixup PCI interrupt routing via PCIBIOS or ACPI. 125.Pp 126Some i386 and amd64 BIOS implementations don't assign an interrupt for 127some devices. 128.Pp 129This option assigns an interrupt for such devices instead 130of relying upon the BIOS to do so. 131.Pp 132If a valid interrupt has already been assigned to a device, this 133option leaves the interrupt as is. 134.Sh HARDWARE 135.Nx 136includes machine-independent 137.Tn PCI 138drivers, sorted by device type and driver name: 139.Ss SCSI interfaces 140.Bl -tag -width pcdisplay -offset indent 141.It ahc 142Adaptec 29xx, 39xx, and other AIC-7xxx-based 143.Tn SCSI 144interfaces. 145.It adv 146Advansys 147.Tn SCSI 148interfaces. 149.It adw 150Advansys Ultra Wide 151.Tn SCSI 152interfaces. 153.It bha 154Buslogic BT-9xx 155.Tn SCSI 156interfaces. 157.It dpt 158DPT SmartCache/SmartRAID III and IV 159.Tn SCSI 160interfaces. 161.It iha 162Initio INIC-940/950 163.Tn SCSI 164interfaces. 165.It isp 166QLogic ISP-1020, ISP-1040, and ISP-2100 167.Tn SCSI 168and 169.Tn FibreChannel 170interfaces. 171.It mly 172Mylex AcceleRAID and eXtremeRAID controllers with v6 firmware. 173.It pcscp 174Advanced Micro Devices Am53c974 PCscsi-PCI 175.Tn SCSI 176interfaces. 177.It siop 178Symbios Logic/NCR 53c8xx-family 179.Tn SCSI 180interfaces. 181.It trm 182Tekram TRM-S1040 ASIC based 183.Tn SCSI 184interfaces. 185.El 186.Ss Disk and tape controllers 187.Bl -tag -width pcdisplay -offset indent 188.It aac 189The Adaptec AAC family of RAID controllers. 190.It amr 191The AMI and LSI Logic MegaRAID family of RAID controllers. 192.It cac 193Compaq array controllers. 194.It icp 195ICP Vortex GDT and Intel Storage RAID controllers. 196.It mlx 197Mylex DAC960 and DEC SWXCR RAID controllers. 198.It pciide 199IDE disk controllers. 200.It twe 2013Ware Escalade RAID controllers. 202.El 203.Ss Network interfaces 204.Bl -tag -width pcdisplay -offset indent 205.It an 206.Tn Aironet 2074500/4800 and 208.Tn Cisco 209340 series 802.11 interfaces. 210.It de 211.Tn DEC 212DC21x4x (Tulip) based 213.Tn Ethernet 214interfaces, including the DE435, 215DE450, and DE500, and Znyx, SMC, Cogent/Adaptec, and Asante single- and 216multi-port 217.Tn Ethernet 218interfaces. 219.It en 220Midway-based Efficient Networks Inc. and Adaptec ATM interfaces. 221.It ep 2223Com 3c590, 3c595, 3c900, and 3c905 223.Tn Ethernet 224interfaces. 225.It epic 226SMC83C170 (EPIC/100) 227.Tn Ethernet 228interfaces. 229.It esh 230RoadRunner-based HIPPI interfaces. 231.It ex 2323Com 3c900, 3c905, and 3c980 233.Tn Ethernet 234interfaces. 235.It fpa 236.Tn DEC 237DEFPA 238.Tn FDDI 239interfaces. 240.It fxp 241Intel EtherExpress PRO 10+/100B 242.Tn Ethernet 243interfaces. 244.It gsip 245National Semiconductor DP83820 based Gigabit 246.Tn Ethernet 247interfaces. 248.It hme 249Sun Microelectronics STP2002-STQ 250.Tn Ethernet 251interfaces. 252.It le 253PCNet-PCI 254.Tn Ethernet 255interfaces. 256Note, the 257.Xr pcn 4 258driver supersedes this driver. 259.It lmc 260LAN Media Corp WAN interfaces. 261.It ne 262NE2000-compatible 263.Tn Ethernet 264interfaces. 265.It ntwoc 266SDL Communications N2pci and WAN/ic 400 synchronous serial interfaces. 267.It pcn 268AMD PCnet-PCI family of 269.Tn Ethernet 270interfaces. 271.It rtk 272Realtek 8129/8139 based 273.Tn Ethernet 274interfaces. 275.It sf 276Adaptec AIC-6915 10/100 277.Tn Ethernet 278interfaces. 279.It sip 280Silicon Integrated Systems SiS 900, SiS 7016, and National Semiconductor 281DP83815 based 282.Tn Ethernet 283interfaces. 284.It sk 285SysKonnect SK-98xx based Gigabit 286.Tn Ethernet 287interfaces. 288.It ste 289Sundance ST-201 10/100 based 290.Tn Ethernet 291interfaces. 292.It stge 293Sundance/Tamarack TC9021 based Gigabit 294.Tn Ethernet 295interfaces. 296.It ti 297Alteon Networks Tigon I and Tigon II Gigabit Ethernet driver. 298.It tl 299Texas Instruments ThunderLAN-based 300.Tn Ethernet 301interfaces. 302.It tlp 303DECchip 21x4x and clone 304.Tn Ethernet 305interfaces. 306.It vge 307VIA Networking Technologies VT6122 PCI Gigabit Ethernet adapter driver. 308.It vr 309VIA VT3043 (Rhine) and VT86C100A (Rhine-II) 310.Tn Ethernet 311interfaces. 312.It wi 313WaveLAN/IEEE and PRISM-II 802.11 wireless interfaces. 314.It wm 315Intel i8254x Gigabit 316.Tn Ethernet 317driver. 318.El 319.Ss Serial interfaces 320.Bl -tag -width pcdisplay -offset indent 321.It cy 322Cyclades Cyclom-4Y, -8Y, and -16Y multi-port serial interfaces. 323.It cz 324Cyclades-Z series multi-port serial interfaces. 325.El 326.Ss Audio devices 327.Bl -tag -width pcdisplay -offset indent 328.It auacer 329Acer Labs M5455 I/O Controller Hub integrated AC'97 audio device. 330.It auich 331Intel I/O Controller Hub integrated AC'97 audio device. 332.It auvia 333VIA VT82C686A integrated AC'97 audio device. 334.It autri 335Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 AC'97 audio device. 336.It clcs 337Cirrus Logic CS4280 audio device. 338.It clct 339Cirrus Logic CS4281 audio device. 340.It cmpci 341C-Media CMI8x38 audio device. 342.It eap 343Ensoniq AudioPCI audio device. 344.It emuxki 345Creative Labs SBLive! and PCI 512 audio device. 346.It esa 347ESS Technology Allegro-1 / Maestro-3 audio device. 348.It esm 349ESS Maestro-1/2/2e PCI AC'97 Audio Accelerator audio device. 350.It eso 351ESS Solo-1 PCI AudioDrive audio device. 352.It fms 353Forte Media FM801 audio device. 354.It neo 355NeoMagic MagicMedia 256 audio device. 356.It sv 357S3 SonicVibes audio device. 358.It yds 359Yamaha YMF724/740/744/754-based audio device. 360.El 361.Ss Bridges 362.Bl -tag -width pcdisplay -offset indent 363.It cbb 364.Tn PCI 365Yenta compatible 366.Tn CardBus 367bridges. 368.It ppb 369Generic 370.Tn PCI Ns \- Ns Tn PCI 371bridges, including 372.Tn PCI 373expansion backplanes. 374.El 375.Ss Miscellaneous devices 376.Bl -tag -width pcdisplay -offset indent 377.It bktr 378Brooktree 848 compatible TV cards. 379.It ehci 380USB EHCI host controllers. 381.It iop 382I2O I/O processors. 383.It mr 384Guillemot Maxi Radio FM 2000 FM radio device. 385.It oboe 386Toshiba OBOE IrDA SIR/FIR controller. 387.It ohci 388USB OHCI host controllers. 389.It pcic 390.Tn PCI 391.Tn PCMCIA 392controllers, including the Cirrus Logic GD6729. 393.It puc 394PCI 395.Dq universal 396communications cards, containing 397.Nm com 398and 399.Nm lpt 400communications ports. 401.It uhci 402USB UHCI host controllers. 403.It viapm 404VIA VT82C686A hardware monitors. 405.It vga 406VGA graphics boards. 407.El 408.Sh SEE ALSO 409.Xr aac 4 , 410.Xr adv 4 , 411.Xr adw 4 , 412.Xr agp 4 , 413.Xr ahc 4 , 414.Xr amr 4 , 415.Xr an 4 , 416.Xr auich 4 , 417.Xr autri 4 , 418.Xr auvia 4 , 419.Xr bha 4 , 420.Xr bktr 4 , 421.Xr cac 4 , 422.Xr cbb 4 , 423.Xr clcs 4 , 424.Xr cmpci 4 , 425.Xr cy 4 , 426.Xr cz 4 , 427.Xr de 4 , 428.Xr dpt 4 , 429.Xr eap 4 , 430.Xr ehci 4 , 431.Xr emuxki 4 , 432.Xr en 4 , 433.Xr ep 4 , 434.Xr epic 4 , 435.Xr esa 4 , 436.Xr esh 4 , 437.Xr esm 4 , 438.Xr eso 4 , 439.Xr ex 4 , 440.Xr fms 4 , 441.Xr fpa 4 , 442.Xr fxp 4 , 443.Xr gsip 4 , 444.Xr hme 4 , 445.Xr icp 4 , 446.Xr iha 4 , 447.Xr intro 4 , 448.Xr iop 4 , 449.Xr isp 4 , 450.Xr le 4 , 451.Xr lmc 4 , 452.Xr mlx 4 , 453.Xr mly 4 , 454.Xr mpt 4 , 455.Xr ne 4 , 456.Xr neo 4 , 457.Xr ntwoc 4 , 458.Xr oboe 4 , 459.Xr ohci 4 , 460.Xr pcic 4 , 461.Xr pciide 4 , 462.Xr pcn 4 , 463.Xr pcscp 4 , 464.Xr ppb 4 , 465.Xr puc 4 , 466.Xr rtk 4 , 467.Xr sf 4 , 468.Xr siop 4 , 469.Xr sip 4 , 470.Xr sk 4 , 471.Xr ste 4 , 472.Xr stge 4 , 473.Xr sv 4 , 474.Xr ti 4 , 475.Xr tl 4 , 476.Xr tlp 4 , 477.Xr trm 4 , 478.Xr twe 4 , 479.Xr uhci 4 , 480.Xr vga 4 , 481.Xr vge 4 , 482.Xr viapm 4 , 483.Xr vr 4 , 484.Xr wi 4 , 485.Xr wm 4 , 486.Xr wscons 4 , 487.Xr yds 4 488.Sh HISTORY 489The machine-independent 490.Tn PCI 491subsystem appeared in 492.Nx 1.2 . 493