1.\" $OpenBSD: pci.4,v 1.371 2019/05/04 15:57:20 jmc Exp $ 2.\" $NetBSD: pci.4,v 1.29 2000/04/01 00:32:23 tsarna Exp $ 3.\" 4.\" Copyright (c) 2000 Theo de Raadt. All rights reserved. 5.\" Copyright (c) 1997 Jason R. Thorpe. All rights reserved. 6.\" Copyright (c) 1997 Jonathan Stone 7.\" All rights reserved. 8.\" 9.\" Redistribution and use in source and binary forms, with or without 10.\" modification, are permitted provided that the following conditions 11.\" are met: 12.\" 1. Redistributions of source code must retain the above copyright 13.\" notice, this list of conditions and the following disclaimer. 14.\" 2. Redistributions in binary form must reproduce the above copyright 15.\" notice, this list of conditions and the following disclaimer in the 16.\" documentation and/or other materials provided with the distribution. 17.\" 3. All advertising materials mentioning features or use of this software 18.\" must display the following acknowledgements: 19.\" This product includes software developed by Jonathan Stone 20.\" 4. The name of the author may not be used to endorse or promote products 21.\" derived from this software without specific prior written permission 22.\" 23.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 24.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 25.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 26.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 27.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 28.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 29.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 30.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 31.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 32.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33.\" 34.Dd $Mdocdate: May 4 2019 $ 35.Dt PCI 4 36.Os 37.Sh NAME 38.Nm pci 39.Nd introduction to PCI bus support 40.Sh SYNOPSIS 41.Cd "# alpha" 42.Cd "pci* at apecs?" 43.Cd "pci* at cia?" 44.Cd "pci* at irongate?" 45.Cd "pci* at lca?" 46.Cd "pci* at tsp?" 47.Cd "pci* at mcpcia?" 48.Pp 49.Cd "# amd64, i386" 50.Cd "pci* at mainbus0" 51.Pp 52.Cd "# arm64" 53.Cd "pci* at acpipci?" 54.Cd "pci* at dwpcie?" 55.Cd "pci* at pciecam?" 56.Cd "pci* at rkpcie?" 57.Pp 58.Cd "# armv7" 59.Cd "pci* at mvpcie?" 60.Cd "pci* at pciecam?" 61.Pp 62.Cd "# hppa" 63.Cd "pci* at dino?" 64.Cd "pci* at elroy?" 65.Pp 66.Cd "# landisk" 67.Cd "pci* at shpcic?" 68.Pp 69.Cd "# loongson" 70.Cd "pci* at bonito?" 71.Cd "pci* at htb?" 72.Pp 73.Cd "# macppc" 74.Cd "pci* at mpcpcibr?" 75.Cd "pci* at ht?" 76.Cd "pci* at hpb?" 77.Pp 78.Cd "# sgi" 79.Cd "pci* at macepcibr?" 80.Cd "pci* at xbridge?" 81.Pp 82.Cd "# sparc64" 83.Cd "pci* at psycho?" 84.Cd "pci* at schizo?" 85.Cd "pci* at pyro?" 86.Cd "pci* at vpci?" 87.Pp 88.Cd "# all architectures" 89.Cd "pci* at pchb?" 90.Cd "pci* at ppb?" 91.Sh DESCRIPTION 92The system includes a machine-independent 93.Tn PCI 94bus subsystem and 95several machine-independent 96.Tn PCI 97device drivers. 98.Pp 99Note that interrupt mappings on the i386 may require that you configure 100your BIOS to reserve sufficient interrupts as "PCI/ISAPnP" so that there 101are sufficient interrupts remaining to configure the discovered PCI 102devices. 103For more information, see 104.Xr pcibios 4 . 105.Pp 106.Ox 107provides support for the following devices. 108Note that not all architectures support all devices. 109.Ss SCSI host adapters 110.Bl -tag -width 10n -offset ind -compact 111.It Xr adv 4 , Xr adw 4 112AdvanSys PCI SCSI interface 113.It Xr ahc 4 114Adaptec VL/EISA/PCI SCSI interface 115.It Xr ahd 4 116Adaptec PCI/PCI-X AIC79xx-based Ultra320 SCSI interface 117.It Xr iha 4 118Initio INIC-940/950 based PCI SCSI interface 119.It Xr mpi 4 120LSI Logic Fusion-MPT Message Passing Interface 121.It Xr mpii 4 122LSI Logic Fusion-MPT Message Passing Interface II 123.It Xr nvme 4 124Non-Volatile Memory Host Controller Interface 125.It Xr pcscp 4 126Advanced Micro Devices Am53c974 PCscsi-PCI SCSI interface 127.It Xr qla 4 128QLogic ISP2100/2200/2300 Fibre Channel controller 129.It Xr qle 4 130QLogic ISP2400/2500 Fibre Channel controller 131.It Xr qlw 4 132QLogic ISP1000/1020/1x40/1x80/1x160 SCSI controller 133.It Xr siop 4 134LSI/Symbios Logic/NCR 53c8xx SCSI interface 135.It Xr sli 4 136Emulex LightPulse Fibre Channel SCSI interface 137.It Xr trm 4 138TRM-S1040 based PCI SCSI interface 139.It Xr vmwpvs 4 140VMware Paravirtual SCSI 141.El 142.Ss IDE disk controllers 143.Bl -tag -width 10n -offset ind -compact 144.It Xr ahci 4 145Advanced Host Controller Interface for Serial ATA 146.It Xr jmb 4 147JMicron JMB36x SATA II and PATA Host Controller 148.It Xr pciide 4 149PCI IDE controller driver 150.It Xr sili 4 151Silicon Image 3124/3132/3531 SATA controller 152.El 153.Ss RAID and cache controllers 154.Bl -tag -width 10n -offset ind -compact 155.It Xr aac 4 156Adaptec SAS/SATA/SCSI RAID controller 157.It Xr ami 4 158American Megatrends Inc. MegaRAID PATA/SATA/SCSI RAID controller 159.It Xr arc 4 160Areca Technology Corporation SAS/SATA RAID controller 161.It Xr cac 4 162Compaq Smart Array 2/3/4 SCSI RAID controller 163.It Xr ciss 4 164Compaq Smart Array SAS/SATA/SCSI RAID controller 165.It Xr dpt 4 166DPT EATA SCSI RAID controller 167.It Xr gdt 4 168ICP-Vortex and Intel GDT SATA/SCSI RAID controller 169.It Xr ips 4 170IBM SATA/SCSI ServeRAID controller 171.It Xr mfi 4 172LSI Logic & Dell MegaRAID SAS RAID controller 173.It Xr mfii 4 174LSI Logic MegaRAID SAS Fusion RAID controller 175.It Xr twe 4 1763ware 5000/6000/7000/8000 series PATA/SATA RAID controller 177.El 178.Ss Wired network interfaces 179.Bl -tag -width 10n -offset ind -compact 180.It Xr age 4 181Attansic L1 10/100/Gigabit Ethernet device 182.It Xr alc 4 183Atheros AR813x/AR815x/AR816x/AR817x 10/100/Gigabit Ethernet device 184.It Xr ale 4 185Atheros AR8121/AR8113/AR8114 10/100/Gigabit Ethernet device 186.It Xr bce 4 187Broadcom BCM4401 10/100 Ethernet device 188.It Xr bge 4 189Broadcom BCM57xx/BCM590x 10/100/Gigabit Ethernet device 190.It Xr bnx 4 191Broadcom NetXtreme II 10/100/Gigabit Ethernet device 192.It Xr bnxt 4 193Broadcom NetXtreme-C/E 10/25/40/50Gb Ethernet device 194.It Xr cas 4 195Sun Cassini 10/100/Gigabit Ethernet device 196.It Xr dc 4 197DEC/Intel 21140/21142/21143/21145 and clones 10/100 Ethernet device 198.It Xr de 4 199DEC DC21x4x (Tulip) 10/100 Ethernet device 200.It Xr em 4 201Intel PRO/1000 10/100/Gigabit Ethernet device 202.\" .It Xr en 4 203.\" Midway-based Efficient Networks Inc.\& 204.\" and Adaptec ATM interfaces 205.It Xr ep 4 2063Com EtherLink III and Fast EtherLink III 10/100 Ethernet device 207.It Xr epic 4 208SMC 83C170 (EPIC/100) 10/100 Ethernet device 209.It Xr et 4 210Agere/LSI ET1310 10/100/Gigabit Ethernet device 211.It Xr fxp 4 212Intel EtherExpress PRO/100 10/100 Ethernet device 213.It Xr gem 4 214GEM 10/100/Gigabit Ethernet device 215.It Xr hme 4 216Sun Happy Meal 10/100 Ethernet device 217.It Xr ix 4 218Intel 82598/82599/X540/X550 PCI Express 10Gb Ethernet device 219.It Xr ixgb 4 220Intel PRO/10GbE 10Gb Ethernet device 221.It Xr ixl 4 222Intel Ethernet 700 series Ethernet device 223.It Xr jme 4 224JMicron JMC25x/JMC26x 10/100/Gigabit Ethernet device 225.It Xr lge 4 226Level 1 LXT1001 NetCellerator PCI Gigabit Ethernet device 227.It Xr lii 4 228Attansic L2 10/100 Ethernet device 229.It Xr mcx 4 230Mellanox 5th generation Ethernet device 231.It Xr msk 4 232Marvell Yukon-2 10/100/Gigabit Ethernet device 233.It Xr mtd 4 234Myson Technology MTD800/MTD803/MTD891 10/100/Gigabit Ethernet device 235.It Xr myx 4 236Myricom Myri-10G PCI Express 10Gb Ethernet device 237.It Xr ne 4 238NE2000 and compatible 10/100 Ethernet device 239.It Xr nep 4 240Sun Neptune 10Gb Ethernet device 241.It Xr nfe 4 242NVIDIA nForce MCP 10/100/Gigabit Ethernet device 243.It Xr nge 4 244National Semiconductor PCI 10/100/Gigabit Ethernet device 245.It Xr oce 4 246Emulex OneConnect 10Gb Ethernet device 247.It Xr pcn 4 248AMD PCnet-PCI 10/100 Ethernet device 249.It Xr re 4 250Realtek 8139C+/8169/816xS/811xS/8168/810xE 10/100/Gigabit Ethernet device 251.It Xr rl 4 252Realtek 8129/8139 10/100 Ethernet device 253.It Xr se 4 254SiS 190/191 10/100/Gigabit Ethernet device 255.It Xr sf 4 256Adaptec AIC-6915 "Starfire" PCI 10/100 Ethernet device 257.It Xr sis 4 258SiS 900, SiS 7016, and NS DP83815/6 10/100 Ethernet device 259.It Xr sk 4 260SysKonnect XMAC II and Marvell Yukon 10/100/Gigabit Ethernet device 261.It Xr ste 4 262Sundance Technologies ST201 10/100 Ethernet device 263.It Xr stge 4 264Sundance/Tamarack TC9021 Gigabit Ethernet device 265.It Xr tht 4 266Tehuti Networks 10Gb Ethernet device 267.It Xr ti 4 268Alteon Networks Tigon I and II Gigabit Ethernet device 269.It Xr tl 4 270Texas Instruments ThunderLAN 10/100 Ethernet device 271.It Xr txp 4 2723Com 3XP Typhoon/Sidewinder (3CR990) 10/100 Ethernet device 273.It Xr vge 4 274VIA Velocity 10/100/Gigabit Ethernet device 275.It Xr vic 4 276VMware VMXnet Virtual Interface Controller device 277.It Xr vmx 4 278VMware VMXNET3 Virtual Interface Controller device 279.It Xr vr 4 280VIA Rhine I/II/III 10/100 Ethernet device 281.It Xr vte 4 282RDC R6040 10/100 Ethernet device 283.It Xr wb 4 284Winbond W89C840F 10/100 Ethernet device 285.It Xr xge 4 286Neterion Xframe/Xframe II 10Gb Ethernet device 287.It Xr xl 4 2883Com EtherLink XL and Fast EtherLink XL 10/100 Ethernet device 289.El 290.Ss Wireless network interfaces 291.Bl -tag -width 10n -offset ind -compact 292.It Xr acx 4 293TI ACX100/ACX111 IEEE 802.11a/b/g wireless network device 294.It Xr an 4 295Aironet Communications 4500/4800 IEEE 802.11FH/b wireless network device 296.It Xr ath 4 297Atheros IEEE 802.11a/b/g wireless network device with GPIO 298.It Xr athn 4 299Atheros IEEE 802.11a/b/g/n wireless network device 300.It Xr atw 4 301ADMtek ADM8211 IEEE 802.11b wireless network device 302.It Xr bwfm 4 303Broadcom and Cypress IEEE 802.11a/ac/b/g/n wireless network device 304.It Xr bwi 4 305Broadcom AirForce IEEE 802.11b/g wireless network device 306.It Xr ipw 4 307Intel PRO/Wireless 2100 IEEE 802.11b wireless network device 308.It Xr iwi 4 309Intel 310PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11a/b/g wireless network device 311.It Xr iwn 4 312Intel WiFi Link and Centrino IEEE 802.11a/b/g/n wireless network devices 313.It Xr iwm 4 314Intel 7000/8000 IEEE 802.11a/ac/b/g/n wireless network devices 315.It Xr malo 4 316Marvell Libertas IEEE 802.11b/g wireless network device 317.It Xr pgt 4 318Conexant/Intersil Prism GT Full-MAC IEEE 802.11a/b/g wireless network device 319.It Xr ral 4 320Ralink Technology/MediaTek IEEE 802.11a/b/g/n wireless network device 321.It Xr rtw 4 322Realtek RTL8180L IEEE 802.11b wireless network device 323.It Xr rtwn 4 324Realtek RTL8188CE/RTL8188EE/RTL8192CE/RTL8723AE PCIe IEEE 802.11b/g/n wireless 325network device 326.It Xr wi 4 327WaveLAN/IEEE, PRISM 2-3, and Spectrum24 IEEE 802.11b wireless network 328device 329.It Xr wpi 4 330Intel PRO/Wireless 3945ABG IEEE 802.11a/b/g wireless network device 331.El 332.Ss Cryptography accelerators 333.Bl -tag -width 10n -offset ind -compact 334.It Xr ccp 4 335AMD cryptographic co-processor 336.It Xr glxsb 4 337Geode LX Security Block crypto accelerator 338.It Xr hifn 4 339Hifn 7751/7811/7951/7955/7956/9751 crypto accelerator 340.It Xr safe 4 341SafeNet crypto accelerator 342.It Xr ubsec 4 343Broadcom and BlueSteel uBsec 5x0x crypto accelerator 344.El 345.Ss Serial interfaces 346.Bl -tag -width 10n -offset ind -compact 347.It Xr cy 4 348Cyclades Cyclom-4Y, -8Y, and -16Y asynchronous serial communications devices 349.It Xr cz 4 350Cyclades-Z series multi-port serial adapter device 351.It Xr puc 4 352PCI 353.Dq universal 354communications card driver 355.El 356.Ss Display adapters 357.Bl -tag -width 10n -offset ind -compact 358.It Xr sti 4 359HP Standard Text Interface 360.It Xr tga 4 361DECchip 21030 (TGA) graphics driver 362.It Xr vga 4 363VGA graphics cards 364.El 365.Ss Audio devices 366.Bl -tag -width 10n -offset ind -compact 367.It Xr auacer 4 368Acer Labs I/O Controller Hub integrated AC'97 audio device 369.It Xr auglx 4 370AMD Geode LX CS5536 integrated AC'97 audio device 371.It Xr auich 4 372Intel ICH integrated AC'97 audio device 373.It Xr auixp 4 374ATI SB200/SB300/SB400/SB600 integrated AC'97 audio device 375.It Xr autri 4 376Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 audio device 377.It Xr auvia 4 378VIA VT82C686A/VT8233/VT8235/VT8237 integrated AC'97 audio device 379.It Xr azalia 4 380generic High Definition Audio device 381.It Xr clcs 4 382Cirrus Logic CS4280/CS4610/CS4615 audio device 383.It Xr clct 4 384Cirrus Logic CS4281 audio device 385.It Xr cmpci 4 386C-Media CMI8338/CMI8738/CMI8768 PCI audio device 387.It Xr eap 4 388Ensoniq AudioPCI audio device 389.It Xr emu 4 390Creative Labs SBLive!, PCI 512, and Audigy audio device 391.It Xr envy 4 392VIA Envy24 audio device 393.It Xr esa 4 394ESS Technology Allegro-1/Maestro-3 family audio device 395.It Xr eso 4 396ESS Technology Solo-1 PCI AudioDrive audio device 397.It Xr fms 4 398Forte Media FM801 audio device 399.It Xr maestro 4 400ESS Maestro 1 and 2 audio device 401.It Xr neo 4 402NeoMagic 256AV/ZX audio device 403.It Xr sv 4 404S3 SonicVibes audio device 405.It Xr yds 4 406Yamaha DS-XG audio device 407.El 408.Ss Time receiver devices 409.Bl -tag -width 10n -offset ind -compact 410.It Xr mbg 4 411Meinberg Funkuhren timedelta sensor 412.El 413.Ss Radio receiver devices 414.Bl -tag -width 10n -offset ind -compact 415.It Xr fms 4 416Forte Media FM801 audio device 417.El 418.Ss Hardware Sensors 419.Bl -tag -width 10n -offset ind -compact 420.It Xr berkwdt 4 421Berkshire Products watchdog timer device 422.It Xr elansc 4 423AMD Elan SC520 System Controller with watchdog timer and GPIO 424.It Xr geodesc 4 425Geode SC1100/SCx200 IAOC watchdog timer device 426.It Xr ichwdt 4 427Intel 6300ESB ICH watchdog timer device 428.It Xr itherm 4 429Intel 3400 temperature sensor 430.It Xr kate 4 431AMD K8 temperature sensor 432.It Xr km 4 433AMD K10 temperature sensor 434.It Xr pchtemp 4 435Intel PCH temperature sensor 436.It Xr pwdog 4 437Quancom PWDOG1 watchdog timer device 438.It Xr viapm 4 439VIA SMBus controller and VIA VT82C686A/VT8231 hardware monitor 440.It Xr wdt 4 441ICS PCI-WDT500/501 watchdog timer device 442.El 443.Ss Miscellaneous devices 444.Bl -tag -width "piixpcib(4)" -offset ind -compact 445.It Xr alipm 4 446Acer Labs M7101 SMBus controller 447.It Xr amas 4 448AMD memory address map 449.It Xr amdiic 4 450AMD-8111 SMBus controller 451.It Xr amdpcib 4 452AMD-8111 series LPC bridge and timecounter 453.It Xr amdpm 4 454AMD-756/766/768/8111 Power Management and SMBus controller 455.It Xr bktr 4 456Brooktree Bt848/849/878/879 457.Tn PCI 458TV tuners and video capture boards 459.It Xr cbb 4 460.Tn PCI 461Yenta compatible 462.Tn CardBus 463bridges 464.It Xr ehci 4 465USB Enhanced Host Controller Interface 466.It Xr gcu 4 467Intel EP80579 Global Configuration Unit 468.It Xr glxpcib 4 469CS5536 PCI-ISA Bridge with timecounter, watchdog timer, and GPIO 470.It Xr gscpcib 4 471National Semiconductor Geode SC1100 PCI-ISA bridge with GPIO 472.It Xr hpb 4 473.Tn HyperTransport Ns \- Ns Tn PCI bridge 474.It Xr ichiic 4 475Intel ICH SMBus controller 476.It Xr nviic 4 477NVIDIA nForce2/3/4 SMBus controller 478.It Xr ohci 4 479USB Open Host Controller Interface 480.It Xr pcib 4 481PCI-ISA bridge 482.It Xr pcic 4 483.Tn PCI 484.Tn PCMCIA 485controllers, including the Cirrus Logic GD6729 486.It Xr piixpcib 4 487Intel PIIX4 ISA bridges 488.It Xr piixpm 4 489Intel PIIX SMBus controller 490.It Xr ppb 4 491.Tn PCI Ns \- Ns Tn PCI bridge 492.It Xr rtsx 4 493Realtek SD card reader 494.It Xr sdhc 4 495SD Host Controller 496.It Xr ssio 4 497National Semiconductor PC87560 Legacy IO 498.It Xr tcpcib 4 499Intel Atom E600 series LPC bridge and watchdog timer 500.It Xr uhci 4 501USB Universal Host Controller Interface 502.It Xr viapm 4 503VIA SMBus controller 504.It Xr virtio 4 505VirtIO support driver 506.El 507.Sh IOCTLS 508If the kernel is compiled with the 509.Va USER_PCICONF 510kernel option, the following 511.Xr ioctl 2 512calls are supported by the 513.Nm 514driver. 515They are defined in the header file 516.In sys/pciio.h . 517.Bl -tag -width Ds 518.It PCIOCREAD Fa "struct pci_io *" 519This 520.Xr ioctl 2 521reads the 522.Tn PCI 523configuration registers specified by the passed-in 524.Va pci_io 525structure. 526The 527.Va pci_io 528structure consists of the following fields: 529.Bl -tag -width pi_width 530.It pi_sel 531A 532.Va pcisel 533structure which specifies the bus, slot and function the user would like to 534query. 535.It pi_reg 536The 537.Tn PCI 538configuration register the user would like to access. 539.It pi_width 540The width, in bytes, of the data the user would like to read. 541This value can be only 4. 542.It pi_data 543The data returned by the kernel. 544.El 545.It PCIOCWRITE Fa "struct pci_io *" 546This 547.Xr ioctl 2 548allows users to write to the 549.Tn PCI 550device specified in the passed-in 551.Va pci_io 552structure. 553The 554.Va pci_io 555structure is described above. 556The limitations on data width described for 557reading registers, above, also apply to writing 558.Tn PCI 559configuration registers. 560.It PCIOCGETROM Fa "struct pci_rom *" 561This 562.Xr ioctl 2 563allows users to read the contents of the 564.Tn PCI 565ROM specified in the passed-in 566.Va pci_rom 567structure. 568The 569.Va pci_rom 570structure consists of the following fields: 571.Bl -tag -width pr_romlen 572.It pr_sel 573A 574.Va pcisel 575structure which specifies the bus, slot and function the user would like to 576query. 577.It pr_romlen 578Size of the buffer to store the contents of the ROM. 579Upon return, this field will contain the size of the ROM 580.It pr_rom 581The address of the buffer to store the contents of the ROM. 582.El 583.Pp 584If the ROM is larger than the specified buffer size, 585.Dv ENOMEM 586will be returned. 587.El 588.Sh FILES 589.Bl -tag -width /dev/pci* -compact 590.It Pa /dev/pci* 591Character device for the 592.Nm 593driver. 594.El 595.Sh SEE ALSO 596.Xr intro 4 , 597.Xr pcidump 8 598.Sh HISTORY 599The machine-independent 600.Tn PCI 601subsystem appeared in 602.Ox 1.2 . 603