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