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