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