1.\" $NetBSD: pci.4,v 1.92 2010/04/01 04:04:11 jakllsch 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 April 1, 2010 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 Dv 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 Dv 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 Dv 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.El 135.Sh HARDWARE 136.Nx 137includes machine-independent 138.Tn PCI 139drivers, sorted by device type and driver name: 140.Ss SCSI interfaces 141.Bl -tag -width pcdisplay -offset indent 142.It ahc 143Adaptec 29xx, 39xx, and other AIC-7xxx-based 144.Tn SCSI 145interfaces. 146.It adv 147Advansys 148.Tn SCSI 149interfaces. 150.It adw 151Advansys Ultra Wide 152.Tn SCSI 153interfaces. 154.It bha 155Buslogic BT-9xx 156.Tn SCSI 157interfaces. 158.It dpt 159DPT SmartCache/SmartRAID III and IV 160.Tn SCSI 161interfaces. 162.It iha 163Initio INIC-940/950 164.Tn SCSI 165interfaces. 166.It isp 167QLogic ISP-1020, ISP-1040, and ISP-2100 168.Tn SCSI 169and 170.Tn FibreChannel 171interfaces. 172.It mfi 173LSI Logic \*[Am] Dell MegaRAID SAS RAID controllers. 174.It mly 175Mylex AcceleRAID and eXtremeRAID controllers with v6 firmware. 176.It nca 177Domex 536 178.Tn SCSI 179interfaces. 180.It pcscp 181Advanced Micro Devices Am53c974 PCscsi-PCI 182.Tn SCSI 183interfaces. 184.It siop 185Symbios Logic/NCR 53c8xx-family 186.Tn SCSI 187interfaces. 188.It trm 189Tekram TRM-S1040 ASIC based 190.Tn SCSI 191interfaces. 192.El 193.Ss Disk and tape controllers 194.Bl -tag -width pcdisplay -offset indent 195.It aac 196The Adaptec AAC family of RAID controllers. 197.It ahcisata 198AHCI 1.0 and 1.1 compliant SATA controllers. 199.It amr 200The AMI and LSI Logic MegaRAID family of RAID controllers. 201.It cac 202Compaq array controllers. 203.It icp 204ICP Vortex GDT and Intel Storage RAID controllers. 205.It mlx 206Mylex DAC960 and DEC SWXCR RAID controllers. 207.It pciide 208IDE disk controllers. 209.It twe 2103Ware Escalade RAID controllers. 211.El 212.Ss Network interfaces 213.Bl -tag -width pcdisplay -offset indent 214.It an 215.Tn Aironet 2164500/4800 and 217.Tn Cisco 218340 series 802.11 interfaces. 219.It bnx 220Broadcom NetXtreme II 10/100/1000 Ethernet interfaces. 221.It de 222.Tn DEC 223DC21x4x (Tulip) based 224.Tn Ethernet 225interfaces, including the DE435, 226DE450, and DE500, and Znyx, SMC, Cogent/Adaptec, and Asante single- and 227multi-port 228.Tn Ethernet 229interfaces. 230.It en 231Midway-based Efficient Networks Inc. and Adaptec ATM interfaces. 232.It ep 2333Com 3c590, 3c595, 3c900, and 3c905 234.Tn Ethernet 235interfaces. 236.It epic 237SMC83C170 (EPIC/100) 238.Tn Ethernet 239interfaces. 240.It esh 241RoadRunner-based HIPPI interfaces. 242.It ex 2433Com 3c900, 3c905, and 3c980 244.Tn Ethernet 245interfaces. 246.It fpa 247.Tn DEC 248DEFPA 249.Tn FDDI 250interfaces. 251.It fxp 252Intel EtherExpress PRO 10+/100B 253.Tn Ethernet 254interfaces. 255.It gsip 256National Semiconductor DP83820 based Gigabit 257.Tn Ethernet 258interfaces. 259.It hme 260Sun Microelectronics STP2002-STQ 261.Tn Ethernet 262interfaces. 263.It le 264PCNet-PCI 265.Tn Ethernet 266interfaces. 267Note, the 268.Xr pcn 4 269driver supersedes this driver. 270.It lmc 271LAN Media Corp WAN interfaces. 272.It msk 273Marvell Yukon 2 based Gigabit 274.Tn Ethernet 275interfaces. 276.It ne 277NE2000-compatible 278.Tn Ethernet 279interfaces. 280.It nfe 281NVIDIA nForce 282.Tn Ethernet 283interfaces. 284.It ntwoc 285SDL Communications N2pci and WAN/ic 400 synchronous serial interfaces. 286.It pcn 287AMD PCnet-PCI family of 288.Tn Ethernet 289interfaces. 290.It ral 291Ralink Technology RT2500/RT2600-based 802.11a/b/g wireless network interfaces. 292.It rtk 293Realtek 8129/8139 based 294.Tn Ethernet 295interfaces. 296.It sf 297Adaptec AIC-6915 10/100 298.Tn Ethernet 299interfaces. 300.It sip 301Silicon Integrated Systems SiS 900, SiS 7016, and National Semiconductor 302DP83815 based 303.Tn Ethernet 304interfaces. 305.It sk 306SysKonnect SK-98xx based Gigabit 307.Tn Ethernet 308interfaces. 309.It ste 310Sundance ST-201 10/100 based 311.Tn Ethernet 312interfaces. 313.It stge 314Sundance/Tamarack TC9021 based Gigabit 315.Tn Ethernet 316interfaces. 317.It ti 318Alteon Networks Tigon I and Tigon II Gigabit Ethernet driver. 319.It tl 320Texas Instruments ThunderLAN-based 321.Tn Ethernet 322interfaces. 323.It tlp 324DECchip 21x4x and clone 325.Tn Ethernet 326interfaces. 327.It vge 328VIA Networking Technologies VT6122 PCI Gigabit Ethernet adapter driver. 329.It vr 330VIA VT3043 (Rhine) and VT86C100A (Rhine-II) 331.Tn Ethernet 332interfaces. 333.It wi 334WaveLAN/IEEE and PRISM-II 802.11 wireless interfaces. 335.It wm 336Intel i8254x Gigabit 337.Tn Ethernet 338driver. 339.El 340.Ss Serial interfaces 341.Bl -tag -width pcdisplay -offset indent 342.It cy 343Cyclades Cyclom-4Y, -8Y, and -16Y multi-port serial interfaces. 344.It cz 345Cyclades-Z series multi-port serial interfaces. 346.El 347.Ss Audio devices 348.Bl -tag -width pcdisplay -offset indent 349.It auacer 350Acer Labs M5455 I/O Controller Hub integrated AC'97 audio device. 351.It auich 352Intel I/O Controller Hub integrated AC'97 audio device. 353.It auvia 354VIA VT82C686A integrated AC'97 audio device. 355.It autri 356Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 AC'97 audio device. 357.It clcs 358Cirrus Logic CS4280 audio device. 359.It clct 360Cirrus Logic CS4281 audio device. 361.It cmpci 362C-Media CMI8x38 audio device. 363.It eap 364Ensoniq AudioPCI audio device. 365.It emuxki 366Creative Labs SBLive! and PCI 512 audio device. 367.It esa 368ESS Technology Allegro-1 / Maestro-3 audio device. 369.It esm 370ESS Maestro-1/2/2e PCI AC'97 Audio Accelerator audio device. 371.It eso 372ESS Solo-1 PCI AudioDrive audio device. 373.It fms 374Forte Media FM801 audio device. 375.It neo 376NeoMagic MagicMedia 256 audio device. 377.It sv 378S3 SonicVibes audio device. 379.It yds 380Yamaha YMF724/740/744/754-based audio device. 381.El 382.Ss Bridges 383.Bl -tag -width pcdisplay -offset indent 384.It cbb 385.Tn PCI 386Yenta compatible 387.Tn CardBus 388bridges. 389.It ppb 390Generic 391.Tn PCI Ns \- Ns Tn PCI 392bridges, including 393.Tn PCI 394expansion backplanes. 395.El 396.Ss Miscellaneous devices 397.Bl -tag -width pcdisplay -offset indent 398.It bktr 399Brooktree 848 compatible TV cards. 400.It ehci 401USB EHCI host controllers. 402.It iop 403I2O I/O processors. 404.It mr 405Guillemot Maxi Radio FM 2000 FM radio device. 406.It oboe 407Toshiba OBOE IrDA SIR/FIR controller. 408.It ohci 409USB OHCI host controllers. 410.It pcic 411.Tn PCI 412.Tn PCMCIA 413controllers, including the Cirrus Logic GD6729. 414.It puc 415PCI 416.Dq universal 417communications cards, containing 418.Xr com 4 419and 420.Xr lpt 4 421communications ports. 422.It uhci 423USB UHCI host controllers. 424.It viapm 425VIA VT82C686A hardware monitors. 426.It vga 427VGA graphics boards. 428.El 429.Sh SEE ALSO 430.Xr aac 4 , 431.Xr adv 4 , 432.Xr adw 4 , 433.Xr agp 4 , 434.Xr ahc 4 , 435.Xr ahcisata 4 , 436.Xr amr 4 , 437.Xr an 4 , 438.Xr auich 4 , 439.Xr autri 4 , 440.Xr auvia 4 , 441.Xr bha 4 , 442.Xr bktr 4 , 443.Xr bnx 4 , 444.Xr cac 4 , 445.Xr cbb 4 , 446.Xr clcs 4 , 447.Xr cmpci 4 , 448.Xr cy 4 , 449.Xr cz 4 , 450.Xr de 4 , 451.Xr dpt 4 , 452.Xr eap 4 , 453.Xr ehci 4 , 454.Xr emuxki 4 , 455.Xr en 4 , 456.Xr ep 4 , 457.Xr epic 4 , 458.Xr esa 4 , 459.Xr esh 4 , 460.Xr esm 4 , 461.Xr eso 4 , 462.Xr ex 4 , 463.Xr fms 4 , 464.Xr fpa 4 , 465.Xr fxp 4 , 466.Xr gsip 4 , 467.Xr hme 4 , 468.Xr icp 4 , 469.Xr iha 4 , 470.Xr intro 4 , 471.Xr iop 4 , 472.Xr isp 4 , 473.Xr le 4 , 474.Xr lmc 4 , 475.Xr mfi 4 , 476.Xr mlx 4 , 477.Xr mly 4 , 478.Xr mpt 4 , 479.Xr msk 4 , 480.Xr nca 4 , 481.Xr ne 4 , 482.Xr neo 4 , 483.Xr nfe 4 , 484.Xr ntwoc 4 , 485.Xr oboe 4 , 486.Xr ohci 4 , 487.Xr pcic 4 , 488.Xr pciide 4 , 489.Xr pcn 4 , 490.Xr pcscp 4 , 491.Xr ppb 4 , 492.Xr puc 4 , 493.Xr ral 4 , 494.Xr rtk 4 , 495.Xr sf 4 , 496.Xr siisata 4 , 497.Xr siop 4 , 498.Xr sip 4 , 499.Xr sk 4 , 500.Xr ste 4 , 501.Xr stge 4 , 502.Xr sv 4 , 503.Xr ti 4 , 504.Xr tl 4 , 505.Xr tlp 4 , 506.Xr trm 4 , 507.Xr twe 4 , 508.Xr uhci 4 , 509.Xr vga 4 , 510.Xr vge 4 , 511.Xr viapm 4 , 512.Xr vr 4 , 513.Xr wi 4 , 514.Xr wm 4 , 515.Xr wscons 4 , 516.Xr yds 4 517.Sh HISTORY 518The machine-independent 519.Tn PCI 520subsystem appeared in 521.Nx 1.2 . 522