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