1.\" $NetBSD: pci.4,v 1.101 2019/12/08 02:54:54 nia 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 December 12, 2018 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 \(em 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.It Dv PCI_BUS_FIXUP 92Fixup PCI bus numbering; needed for many 93.Xr cardbus 4 94bridges. 95.Pp 96Each PCI bus and CardBus should have a unique bus number. 97But some BIOS implementations don't assign a bus number 98for subordinate PCI buses. 99And many BIOS implementations 100don't assign a bus number for CardBuses. 101.Pp 102A typical symptom of this is the following boot message: 103.D1 Sy cardbus0 at cardslot0: bus 0 device 0... 104Please note that this cardbus0 has a bus number 105.Sq 0 , 106but normally the bus number 0 is used by the machine's 107primary PCI bus. 108Thus, this bus number for cardbus is incorrect 109.Pq not assigned . 110In this situation, a device located in cardbus0 doesn't 111show correct device ID, 112because its bus number 0 incorrectly refers to the primary 113PCI bus, and a device ID in the primary PCI bus is shown 114in the boot message instead of the device's ID in the cardbus0. 115.Pp 116This option assigns bus numbers for all subordinate 117PCI buses and CardBuses. 118.Pp 119Since this option renumbers all PCI buses and CardBuses, 120all bus numbers of subordinate buses become different 121when this option is enabled. 122.It Dv PCI_INTR_FIXUP 123Fixup PCI interrupt routing via PCIBIOS or ACPI. 124.Pp 125Some i386 and amd64 BIOS implementations don't assign an interrupt for 126some devices. 127.Pp 128This option assigns an interrupt for such devices instead 129of relying upon the BIOS to do so. 130.Pp 131If a valid interrupt has already been assigned to a device, this 132option leaves the interrupt as is. 133.El 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 mfi 172LSI Logic & Dell MegaRAID SAS RAID controllers. 173.It mly 174Mylex AcceleRAID and eXtremeRAID controllers with v6 firmware. 175.It nca 176Domex 536 177.Tn SCSI 178interfaces. 179.It pcscp 180Advanced Micro Devices Am53c974 PCscsi-PCI 181.Tn SCSI 182interfaces. 183.It siop 184Symbios Logic/NCR 53c8xx-family 185.Tn SCSI 186interfaces. 187.It trm 188Tekram TRM-S1040 ASIC based 189.Tn SCSI 190interfaces. 191.El 192.Ss Disk and tape controllers 193.Bl -tag -width pcdisplay -offset indent 194.It aac 195The Adaptec AAC family of RAID controllers. 196.It ahcisata 197AHCI 1.0 and 1.1 compliant SATA controllers. 198.It amr 199The AMI and LSI Logic MegaRAID family of RAID controllers. 200.It cac 201Compaq array controllers. 202.It icp 203ICP Vortex GDT and Intel Storage RAID controllers. 204.It mlx 205Mylex DAC960 and DEC SWXCR RAID controllers. 206.It pciide 207IDE disk controllers. 208.It twe 2093Ware Escalade RAID controllers. 210.El 211.Ss Network interfaces 212.Bl -tag -width pcdisplay -offset indent 213.It an 214.Tn Aironet 2154500/4800 and 216.Tn Cisco 217340 series 802.11 interfaces. 218.It bnx 219Broadcom NetXtreme II 10/100/1000 Ethernet interfaces. 220.It de 221.Tn DEC 222DC21x4x (Tulip) based 223.Tn Ethernet 224interfaces, including the DE435, 225DE450, and DE500, and Znyx, SMC, Cogent/Adaptec, and Asante single- and 226multi-port 227.Tn Ethernet 228interfaces. 229.It ep 2303Com 3c590, 3c595, 3c900, and 3c905 231.Tn Ethernet 232interfaces. 233.It epic 234SMC83C170 (EPIC/100) 235.Tn Ethernet 236interfaces. 237.It esh 238RoadRunner-based HIPPI interfaces. 239.It ex 2403Com 3c900, 3c905, and 3c980 241.Tn Ethernet 242interfaces. 243.It fpa 244.Tn DEC 245DEFPA 246.Tn FDDI 247interfaces. 248.It fxp 249Intel EtherExpress PRO 10+/100B 250.Tn Ethernet 251interfaces. 252.It gsip 253National Semiconductor DP83820 based Gigabit 254.Tn Ethernet 255interfaces. 256.It hme 257Sun Microelectronics STP2002-STQ 258.Tn Ethernet 259interfaces. 260.It le 261PCNet-PCI 262.Tn Ethernet 263interfaces. 264Note, the 265.Xr pcn 4 266driver supersedes this driver. 267.It msk 268Marvell Yukon 2 based Gigabit 269.Tn Ethernet 270interfaces. 271.It ne 272NE2000-compatible 273.Tn Ethernet 274interfaces. 275.It nfe 276NVIDIA nForce 277.Tn Ethernet 278interfaces. 279.It ntwoc 280SDL Communications N2pci and WAN/ic 400 synchronous serial interfaces. 281.It pcn 282AMD PCnet-PCI family of 283.Tn Ethernet 284interfaces. 285.It ral 286Ralink Technology RT2500/RT2600-based 802.11a/b/g wireless network interfaces. 287.It rtk 288Realtek 8129/8139 based 289.Tn Ethernet 290interfaces. 291.It rtwn 292Realtek RTL8188CE/RTL8192CE 802.11b/g/n wireless network interfaces. 293.It sf 294Adaptec AIC-6915 10/100 295.Tn Ethernet 296interfaces. 297.It sip 298Silicon Integrated Systems SiS 900, SiS 7016, and National Semiconductor 299DP83815 based 300.Tn Ethernet 301interfaces. 302.It sk 303SysKonnect SK-98xx based Gigabit 304.Tn Ethernet 305interfaces. 306.It ste 307Sundance ST-201 10/100 based 308.Tn Ethernet 309interfaces. 310.It stge 311Sundance/Tamarack TC9021 based Gigabit 312.Tn Ethernet 313interfaces. 314.It ti 315Alteon Networks Tigon I and Tigon II Gigabit Ethernet driver. 316.It tl 317Texas Instruments ThunderLAN-based 318.Tn Ethernet 319interfaces. 320.It tlp 321DECchip 21x4x and clone 322.Tn Ethernet 323interfaces. 324.It vge 325VIA Networking Technologies VT6122 PCI Gigabit Ethernet adapter driver. 326.It vr 327VIA VT3043 (Rhine) and VT86C100A (Rhine-II) 328.Tn Ethernet 329interfaces. 330.It wi 331WaveLAN/IEEE and PRISM-II 802.11 wireless interfaces. 332.It wm 333Intel i8254x Gigabit 334.Tn Ethernet 335driver. 336.El 337.Ss Serial interfaces 338.Bl -tag -width pcdisplay -offset indent 339.It cy 340Cyclades Cyclom-4Y, -8Y, and -16Y multi-port serial interfaces. 341.It cz 342Cyclades-Z series multi-port serial interfaces. 343.El 344.Ss Audio devices 345.Bl -tag -width pcdisplay -offset indent 346.It auacer 347Acer Labs M5455 I/O Controller Hub integrated AC'97 audio device. 348.It auich 349Intel I/O Controller Hub integrated AC'97 audio device. 350.It auvia 351VIA VT82C686A integrated AC'97 audio device. 352.It autri 353Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 AC'97 audio device. 354.It clcs 355Cirrus Logic CS4280 audio device. 356.It clct 357Cirrus Logic CS4281 audio device. 358.It cmpci 359C-Media CMI8x38 audio device. 360.It eap 361Ensoniq AudioPCI audio device. 362.It emuxki 363Creative Labs SBLive! and PCI 512 audio device. 364.It esa 365ESS Technology Allegro-1 / Maestro-3 audio device. 366.It esm 367ESS Maestro-1/2/2e PCI AC'97 Audio Accelerator audio device. 368.It eso 369ESS Solo-1 PCI AudioDrive audio device. 370.It fms 371Forte Media FM801 audio device. 372.It hdaudio 373High Definition Audio Specification 1.0 device. 374.It neo 375NeoMagic MagicMedia 256 audio device. 376.It sv 377S3 SonicVibes audio device. 378.It yds 379Yamaha YMF724/740/744/754-based audio device. 380.El 381.Ss Bridges 382.Bl -tag -width pcdisplay -offset indent 383.It cbb 384.Tn PCI 385Yenta compatible 386.Tn CardBus 387bridges. 388.It ppb 389Generic 390.Tn PCI Ns \- Ns Tn PCI 391bridges, including 392.Tn PCI 393expansion backplanes. 394.El 395.Ss Miscellaneous devices 396.Bl -tag -width pcdisplay -offset indent 397.It bktr 398Brooktree 848 compatible TV cards. 399.It ehci 400USB EHCI host controllers. 401.It iop 402I2O I/O processors. 403.It mr 404Guillemot Maxi Radio FM 2000 FM radio device. 405.It nvme 406Non-Volatile Memory Host controllers. 407.It oboe 408Toshiba OBOE IrDA SIR/FIR controller. 409.It ohci 410USB OHCI host controllers. 411.It pcic 412.Tn PCI 413.Tn PCMCIA 414controllers, including the Cirrus Logic GD6729. 415.It puc 416PCI 417.Dq universal 418communications cards, containing 419.Xr com 4 420and 421.Xr lpt 4 422communications ports. 423.It uhci 424USB UHCI host controllers. 425.It viapm 426VIA VT82C686A hardware monitors. 427.It vga 428VGA graphics boards. 429.El 430.Sh SEE ALSO 431.Xr aac 4 , 432.Xr adv 4 , 433.Xr adw 4 , 434.Xr agp 4 , 435.Xr ahc 4 , 436.Xr ahcisata 4 , 437.Xr amr 4 , 438.Xr an 4 , 439.Xr auich 4 , 440.Xr autri 4 , 441.Xr auvia 4 , 442.Xr bha 4 , 443.Xr bktr 4 , 444.Xr bnx 4 , 445.Xr cac 4 , 446.Xr cbb 4 , 447.Xr clcs 4 , 448.Xr cmpci 4 , 449.Xr cy 4 , 450.Xr cz 4 , 451.Xr de 4 , 452.Xr dpt 4 , 453.Xr eap 4 , 454.Xr ehci 4 , 455.Xr emuxki 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 mfi 4 , 475.Xr mlx 4 , 476.Xr mly 4 , 477.Xr mpt 4 , 478.Xr msk 4 , 479.Xr nca 4 , 480.Xr ne 4 , 481.Xr neo 4 , 482.Xr nfe 4 , 483.Xr ntwoc 4 , 484.Xr nvme 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 rtwn 4 , 496.Xr sf 4 , 497.Xr siisata 4 , 498.Xr siop 4 , 499.Xr sip 4 , 500.Xr sk 4 , 501.Xr ste 4 , 502.Xr stge 4 , 503.Xr sv 4 , 504.Xr ti 4 , 505.Xr tl 4 , 506.Xr tlp 4 , 507.Xr trm 4 , 508.Xr twe 4 , 509.Xr uhci 4 , 510.Xr vax/en 4 , 511.Xr vga 4 , 512.Xr vge 4 , 513.\" .Xr viapm 4 , 514.Xr vr 4 , 515.Xr wi 4 , 516.Xr wm 4 , 517.Xr wscons 4 , 518.Xr yds 4 519.Sh HISTORY 520The machine-independent 521.Tn PCI 522subsystem appeared in 523.Nx 1.2 . 524