1.\" $NetBSD: pci.4,v 1.125 2024/09/03 19:47:28 andvar 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 July 10, 2022 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 49.Nx 50includes a machine-independent PCI bus subsystem and several 51machine-independent PCI device drivers. 52.Pp 53Your system may support additional PCI devices and attachments. 54Drivers for PCI devices not listed here are machine-dependent. 55Consult your system's 56.Xr intro 4 57for additional information. 58.Sh OPTIONS 59.Bl -tag -width PCI_ADDR_FIXUP -offset 3n 60.It Dv PCI_ADDR_FIXUP 61Fixup PCI I/O and memory addresses. 62.Pp 63Some i386 and amd64 BIOS implementations don't allocate I/O space and 64memory space for some PCI devices \(em primarily BIOS in PnP mode, or laptops 65that expect devices to be configured via ACPI. 66Since necessary space isn't allocated, those devices 67will not work without special handling. 68.Pp 69This option allocates I/O space and memory space 70instead of relying upon the BIOS to do so. 71.Pp 72If necessary space is already correctly assigned to the devices, 73this option leaves the space as is. 74.It Dv PCI_BUS_FIXUP 75Fixup PCI bus numbering; needed for many 76.Xr cardbus 4 77bridges. 78.Pp 79Each PCI bus and CardBus should have a unique bus number. 80But some BIOS implementations don't assign a bus number 81for subordinate PCI buses. 82And many BIOS implementations 83don't assign a bus number for CardBuses. 84.Pp 85A typical symptom of this is the following boot message: 86.D1 Sy cardbus0 at cardslot0: bus 0 device 0... 87Please note that this cardbus0 has a bus number 88.Sq 0 , 89but normally the bus number 0 is used by the machine's 90primary PCI bus. 91Thus, this bus number for cardbus is incorrect 92.Pq not assigned . 93In this situation, a device located in cardbus0 doesn't 94show correct device ID, 95because its bus number 0 incorrectly refers to the primary 96PCI bus, and a device ID in the primary PCI bus is shown 97in the boot message instead of the device's ID in the cardbus0. 98.Pp 99This option assigns bus numbers for all subordinate 100PCI buses and CardBuses. 101.Pp 102Since this option renumbers all PCI buses and CardBuses, 103all bus numbers of subordinate buses become different 104when this option is enabled. 105.It Dv PCI_INTR_FIXUP 106Fixup PCI interrupt routing via PCIBIOS or ACPI. 107.Pp 108Some i386 and amd64 BIOS implementations don't assign an interrupt for 109some devices. 110.Pp 111This option assigns an interrupt for such devices instead 112of relying upon the BIOS to do so. 113.Pp 114If a valid interrupt has already been assigned to a device, this 115option leaves the interrupt as is. 116.El 117.Sh HARDWARE 118.Nx 119includes machine-independent PCI drivers, sorted by device type and driver name: 120.Ss SCSI interfaces 121.Bl -tag -width pcdisplay(4) -offset indent 122.It Xr ahc 4 123Adaptec 29xx, 39xx, and other AIC-7xxx-based SCSI 124interfaces. 125.It Xr adv 4 126Advansys SCSI interfaces. 127.It Xr adw 4 128Advansys Ultra Wide SCSI interfaces. 129.It Xr bha 4 130Buslogic BT-9xx SCSI interfaces. 131.It Xr dpt 4 132DPT SmartCache/SmartRAID III and IV SCSI interfaces. 133.It Xr iha 4 134Initio INIC-940/950 SCSI interfaces. 135.It Xr isp 4 136QLogic ISP-1020, ISP-1040, and ISP-2100 SCSI and FibreChannel interfaces. 137.It Xr mfi 4 138LSI Logic & Dell MegaRAID SAS RAID controllers. 139.It Xr mly 4 140Mylex AcceleRAID and eXtremeRAID controllers with v6 firmware. 141.It Xr mpii 4 142LSI Logic Fusion-MPT Message Passing Interface II SAS controllers. 143.It Xr mpt 4 144LSI Logic Fusion-MPT SCSI/Fibre Channel/SAS controllers. 145.It Xr nca 4 146Domex 536 SCSI interfaces. 147.It Xr pcscp 4 148Advanced Micro Devices Am53c974 PCscsi-PCI SCSI interfaces. 149.It Xr siop 4 150Symbios Logic/NCR 53c8xx-family SCSI interfaces. 151.It Xr trm 4 152Tekram TRM-S1040 ASIC based SCSI interfaces. 153.El 154.Ss Storage controllers 155.Bl -tag -width pcdisplay(4) -offset indent 156.It Xr aac 4 157The Adaptec AAC family of RAID controllers. 158.It Xr ahcisata 4 159AHCI 1.0 and 1.1 compliant SATA controllers. 160.It Xr amr 4 161The AMI and LSI Logic MegaRAID family of RAID controllers. 162.It Xr arcmsr 4 163Areca Technology Corporation SATA/SAS RAID controllers. 164.It Xr cac 4 165Compaq array controllers. 166.It Xr ciss 4 167HP/Compaq Smart ARRAY 5/6 RAID controllers. 168.It Xr icp 4 169ICP Vortex GDT and Intel Storage RAID controllers. 170.It Xr ixpide 4 171ATI Technologies IXP IDE controllers 172.It Xr mlx 4 173Mylex DAC960 and DEC SWXCR RAID controllers. 174.It Xr nside 4 175National Semiconductor PC87415 PCI-IDE controllers. 176.It Xr nvme 4 177Non-Volatile Memory (NVM Express) host controllers. 178.It Xr pdcsata 4 179Promise Serial-ATA disk controllers. 180.It Xr pciide 4 181IDE disk controllers. 182.It Xr rtsx 4 183Realtek SD card readers. 184.It Xr svwsata 4 185Serverworks Serial ATA disk controllers. 186.It Xr twa 4 1873ware Apache RAID controllers. 188.It Xr twe 4 1893Ware Escalade RAID controllers. 190.It Xr viaide 4 191AMD, NVIDIA and VIA IDE disk controllers. 192.El 193.Ss Wired network interfaces 194.Bl -tag -width pcdisplay(4) -offset indent 195.It Xr alc 4 196Atheros AR813x/AR815x/AR816x/AR817x and Killer E2200/2400/2500 19710/100/1000 Ethernet interfaces. 198.It Xr ale 4 199Atheros AR8121/AR8113/AR8114 (Attansic L1E) 10/100/1000 Ethernet 200interfaces. 201.It Xr aq 4 202Aquantia AQC multigigabit Ethernet interfaces. 203.It Xr bge 4 204Broadcom BCM57xx/BCM590x 10/100/1000 Ethernet interfaces. 205.It Xr bnx 4 206Broadcom NetXtreme II 10/100/1000 Ethernet interfaces. 207.It Xr ena 4 208Elastic Network Adapter interfaces. 209.It Xr ep 4 2103Com 3c590, 3c595, 3c900, and 3c905 Ethernet interfaces. 211.It Xr epic 4 212SMC83C170 (EPIC/100) Ethernet interfaces. 213.It Xr et 4 214Agere/LSI ET1310/ET1301 10/100/1000 Ethernet interfaces. 215.It Xr ex 4 2163Com 3c900, 3c905, and 3c980 Ethernet interfaces. 217.It Xr fxp 4 218Intel EtherExpress PRO 10+/100B Ethernet interfaces. 219.It Xr gsip 4 220National Semiconductor DP83820 based Gigabit Ethernet interfaces. 221.It Xr hme 4 222Sun Microelectronics STP2002-STQ Ethernet interfaces. 223.It Xr ixg 4 224Intel 82598EB, 82599, X540 and X550 10 Gigabit Ethernet interfaces. 225.It Xr ixl 4 226Intel 700 series Ethernet interfaces. 227.It Xr jme 4 228JMicron Technologies JMC250/JMC260 Ethernet interfaces. 229.It Xr le 4 230PCNet-PCI Ethernet interfaces. 231Note, the 232.Xr pcn 4 233driver supersedes this driver. 234.It Xr lii 4 235Attansic/Atheros L2 Fast-Ethernet interfaces. 236.It Xr mcx 4 237Mellanox 5th generation Ethernet devices. 238.It Xr msk 4 239Marvell Yukon 2 based Gigabit Ethernet interfaces. 240.It Xr ne 4 241NE2000-compatible Ethernet interfaces. 242.It Xr nfe 4 243NVIDIA nForce Ethernet interfaces. 244.It Xr ntwoc 4 245SDL Communications N2pci and WAN/ic 400 synchronous serial interfaces. 246.It Xr pcn 4 247AMD PCnet-PCI family of Ethernet interfaces. 248.It Xr re 4 249Realtek 10/100/1000 Ethernet adapters. 250.It Xr rge 4 251Realtek RTL8125-based Ethernet interfaces. 252.It Xr rtk 4 253Realtek 8129/8139 based Ethernet interfaces. 254.It Xr sf 4 255Adaptec AIC-6915 10/100 Ethernet interfaces. 256.It Xr sip 4 257Silicon Integrated Systems SiS 900, SiS 7016, and National Semiconductor 258DP83815 based Ethernet interfaces. 259.It Xr sk 4 260SysKonnect SK-98xx based Gigabit Ethernet interfaces. 261.It Xr ste 4 262Sundance ST-201 10/100 based Ethernet interfaces. 263.It Xr stge 4 264Sundance/Tamarack TC9021 based Gigabit Ethernet interfaces. 265.It Xr ti 4 266Alteon Networks Tigon I and Tigon II Gigabit Ethernet driver. 267.It Xr tl 4 268Texas Instruments ThunderLAN-based Ethernet interfaces. 269.It Xr tlp 4 270DECchip 21x4x and clone Ethernet interfaces. 271.It Xr vge 4 272VIA Networking Technologies VT6122 PCI Gigabit Ethernet adapter driver. 273.It Xr vmx 4 274VMware VMXNET3 virtual Ethernet interfaces. 275.It Xr vr 4 276VIA VT3043 (Rhine) and VT86C100A (Rhine-II) Ethernet interfaces. 277.It Xr wm 4 278Intel i8254x Gigabit Ethernet driver. 279.El 280.Ss Wireless network interfaces 281.Bl -tag -width pcdisplay(4) -offset indent 282.It Xr an 4 283Aironet 4500/4800 and Cisco 340 series 802.11 interfaces. 284.It Xr atw 4 285ADMtek ADM8211 IEEE 802.11b PCI/CardBus wireless network interfaces. 286.It Xr ath 4 287Atheros IEEE 802.11a/b/g wireless network interfaces. 288.It Xr athn 4 289Atheros IEEE 802.11a/b/g/n wireless network interfaces. 290.It Xr bwi 4 291Broadcom BCM430x/4318 IEEE 802.11b/g wireless network interfaces. 292.It Xr bwfm 4 293Broadcom and Cypress FullMAC wireless network interfaces. 294.It Xr ipw 4 295Intel PRO/Wireless 2100 MiniPCI network interfaces. 296.It Xr iwi 4 297Intel PRO/Wireless 2200BG and 2915ABG MiniPCI network interfaces. 298.It Xr iwm 4 299Intel Dual Band Wireless AC PCIe Mini Card network interfaces. 300.It Xr iwn 4 301Intel Wireless WiFi Link 4965/5000/1000 and Centrino Wireless-N 1000/2000/6000 302PCIe Mini network interfaces. 303.It Xr malo 4 304Marvell Libertas 88W8335/88W8310/88W8385 802.11b/g wireless network interfaces. 305.It Xr ral 4 306Ralink Technology RT2500/RT2600-based 802.11a/b/g wireless network interfaces. 307.It Xr rtw 4 308Realtek RTL8180L 802.11b wireless network interfaces. 309.It Xr rtwn 4 310Realtek RTL8188CE/RTL8192CE 802.11b/g/n wireless network interfaces. 311.It Xr wi 4 312WaveLAN/IEEE and PRISM-II 802.11 wireless interfaces. 313.It Xr wpi 4 314Intel PRO/Wireless 3945ABG Mini PCI Express network adapters. 315.El 316.Ss Cellular WAN interfaces 317.Bl -tag -width pcdisplay(4) -offset indent 318.It Xr wwanc 4 319Intel XMM 7360 LTE modem. 320.El 321.Ss Serial interfaces 322.Bl -tag -width pcdisplay(4) -offset indent 323.It Xr cy 4 324Cyclades Cyclom-4Y, -8Y, and -16Y multi-port serial interfaces. 325.It Xr cz 4 326Cyclades-Z series multi-port serial interfaces. 327.El 328.Ss Audio devices 329.Bl -tag -width pcdisplay(4) -offset indent 330.It Xr auacer 4 331Acer Labs M5455 I/O Controller Hub integrated AC'97 audio device. 332.It Xr auich 4 333Intel I/O Controller Hub integrated AC'97 audio device. 334.It Xr auvia 4 335VIA VT82C686A integrated AC'97 audio device. 336.It Xr autri 4 337Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 AC'97 audio device. 338.It Xr clcs 4 339Cirrus Logic CS4280 audio device. 340.It Xr clct 4 341Cirrus Logic CS4281 audio device. 342.It Xr cmpci 4 343C-Media CMI8x38 audio device. 344.It Xr eap 4 345Ensoniq AudioPCI audio device. 346.It Xr emuxki 4 347Creative Labs SBLive! and PCI 512 audio device. 348.It Xr esa 4 349ESS Technology Allegro-1 / Maestro-3 audio device. 350.It Xr esm 4 351ESS Maestro-1/2/2e PCI AC'97 Audio Accelerator audio device. 352.It Xr eso 4 353ESS Solo-1 PCI AudioDrive audio device. 354.It Xr fms 4 355Forte Media FM801 audio device. 356.It Xr hdaudio 4 357High Definition Audio Specification 1.0 device. 358.It Xr neo 4 359NeoMagic MagicMedia 256 audio device. 360.It Xr sv 4 361S3 SonicVibes audio device. 362.It Xr yds 4 363Yamaha YMF724/740/744/754-based audio device. 364.El 365.Ss Bridges 366.Bl -tag -width pcdisplay(4) -offset indent 367.It Xr cbb 4 368PCI Yenta compatible CardBus bridges. 369.It Xr pceb 4 370Generic PCI-EISA bridges; see 371.Xr eisa 4 . 372.It Xr pcib 4 373Generic PCI-ISA bridges; see 374.Xr isa 4 . 375.It Xr ppb 4 376Generic PCI bridges, including expansion backplanes. 377.El 378.Ss Miscellaneous devices 379.Bl -tag -width pcdisplay(4) -offset indent 380.It Xr bktr 4 381Brooktree 848 compatible TV cards. 382.It Xr ehci 4 383USB EHCI host controllers. 384.It Xr gtp 4 385Gemtek PCI FM radio devices. 386.It Xr ibmcd 4 387IBM 4810 BSP cash drawer ports. 388.It Xr iop 4 389I2O I/O processors. 390.It Xr oboe 4 391Toshiba OBOE IrDA SIR/FIR controller. 392.It Xr ohci 4 393USB OHCI host controllers. 394.It Xr pcic 4 395PCMCIA controllers, including the Cirrus Logic GD6729. 396.It Xr puc 4 397PCI 398.Dq universal 399communications cards, containing 400.Xr com 4 401and 402.Xr lpt 4 403communications ports. 404.It Xr uhci 4 405USB UHCI host controllers. 406.It Xr virtio 4 407Para-virtualized I/O in a virtual machine. 408.It Xr vga 4 409VGA graphics boards. 410.It Xr xhci 4 411USB XHCI host controllers. 412.El 413.Sh SEE ALSO 414.Xr pci 3 , 415.Xr agp 4 , 416.Xr intro 4 , 417.Xr pcictl 8 , 418.Xr pci 9 419.Sh HISTORY 420The machine-independent PCI subsystem appeared in 421.Nx 1.2 . 422