1.\" $OpenBSD: pci.4,v 1.367 2019/01/19 17:02:52 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 19 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 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 controller 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 msk 4 230Marvell Yukon-2 10/100/Gigabit Ethernet device 231.It Xr mtd 4 232Myson Technology MTD800/MTD803/MTD891 10/100/Gigabit Ethernet device 233.It Xr myx 4 234Myricom Myri-10G PCI Express 10Gb Ethernet device 235.It Xr ne 4 236NE2000 and compatible 10/100 Ethernet device 237.It Xr nep 4 238Sun Neptune 10Gb Ethernet device 239.It Xr nfe 4 240NVIDIA nForce MCP 10/100/Gigabit Ethernet device 241.It Xr nge 4 242National Semiconductor PCI 10/100/Gigabit Ethernet device 243.It Xr oce 4 244Emulex OneConnect 10Gb Ethernet device 245.It Xr pcn 4 246AMD PCnet-PCI 10/100 Ethernet device 247.It Xr re 4 248Realtek 8139C+/8169/816xS/811xS/8168/810xE 10/100/Gigabit Ethernet device 249.It Xr rl 4 250Realtek 8129/8139 10/100 Ethernet device 251.It Xr se 4 252SiS 190/191 10/100/Gigabit Ethernet device 253.It Xr sf 4 254Adaptec AIC-6915 "Starfire" PCI 10/100 Ethernet device 255.It Xr sis 4 256SiS 900, SiS 7016, and NS DP83815/6 10/100 Ethernet device 257.It Xr sk 4 258SysKonnect XMAC II and Marvell Yukon 10/100/Gigabit Ethernet device 259.It Xr ste 4 260Sundance Technologies ST201 10/100 Ethernet device 261.It Xr stge 4 262Sundance/Tamarack TC9021 Gigabit Ethernet device 263.It Xr tht 4 264Tehuti Networks 10Gb Ethernet device 265.It Xr ti 4 266Alteon Networks Tigon I and II Gigabit Ethernet device 267.It Xr tl 4 268Texas Instruments ThunderLAN 10/100 Ethernet device 269.It Xr txp 4 2703Com 3XP Typhoon/Sidewinder (3CR990) 10/100 Ethernet device 271.It Xr vge 4 272VIA Velocity 10/100/Gigabit Ethernet device 273.It Xr vic 4 274VMware VMXnet Virtual Interface Controller device 275.It Xr vmx 4 276VMware VMXNET3 Virtual Interface Controller device 277.It Xr vr 4 278VIA Rhine I/II/III 10/100 Ethernet device 279.It Xr vte 4 280RDC R6040 10/100 Ethernet device 281.It Xr wb 4 282Winbond W89C840F 10/100 Ethernet device 283.It Xr xge 4 284Neterion Xframe/Xframe II 10Gb Ethernet device 285.It Xr xl 4 2863Com EtherLink XL and Fast EtherLink XL 10/100 Ethernet device 287.El 288.Ss Wireless network interfaces 289.Bl -tag -width 10n -offset ind -compact 290.It Xr acx 4 291TI ACX100/ACX111 IEEE 802.11a/b/g wireless network device 292.It Xr an 4 293Aironet Communications 4500/4800 IEEE 802.11FH/b wireless network device 294.It Xr ath 4 295Atheros IEEE 802.11a/b/g wireless network device with GPIO 296.It Xr athn 4 297Atheros IEEE 802.11a/b/g/n wireless network device 298.It Xr atw 4 299ADMtek ADM8211 IEEE 802.11b wireless network device 300.It Xr bwfm 4 301Broadcom and Cypress IEEE 802.11a/ac/b/g/n wireless network device 302.It Xr bwi 4 303Broadcom AirForce IEEE 802.11b/g wireless network device 304.It Xr ipw 4 305Intel PRO/Wireless 2100 IEEE 802.11b wireless network device 306.It Xr iwi 4 307Intel 308PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11a/b/g wireless network device 309.It Xr iwn 4 310Intel WiFi Link and Centrino IEEE 802.11a/b/g/n wireless network devices 311.It Xr iwm 4 312Intel 7000/8000 IEEE 802.11a/ac/b/g/n wireless network devices 313.It Xr malo 4 314Marvell Libertas IEEE 802.11b/g wireless network device 315.It Xr pgt 4 316Conexant/Intersil Prism GT Full-MAC IEEE 802.11a/b/g wireless network device 317.It Xr ral 4 318Ralink Technology/MediaTek IEEE 802.11a/b/g/n wireless network device 319.It Xr rtw 4 320Realtek RTL8180L IEEE 802.11b wireless network device 321.It Xr rtwn 4 322Realtek RTL8188CE/RTL8188EE/RTL8192CE/RTL8723AE PCIe IEEE 802.11b/g/n wireless 323network device 324.It Xr wi 4 325WaveLAN/IEEE, PRISM 2-3, and Spectrum24 IEEE 802.11b wireless network 326device 327.It Xr wpi 4 328Intel PRO/Wireless 3945ABG IEEE 802.11a/b/g wireless network device 329.El 330.Ss Cryptography accelerators 331.Bl -tag -width 10n -offset ind -compact 332.It Xr ccp 4 333AMD Cryptographic Co-processor 334.It Xr glxsb 4 335Geode LX Security Block crypto accelerator 336.It Xr hifn 4 337Hifn 7751/7811/7951/7955/7956/9751 crypto accelerator 338.It Xr safe 4 339SafeNet crypto accelerator 340.It Xr ubsec 4 341Broadcom and BlueSteel uBsec 5x0x crypto accelerator 342.El 343.Ss Serial interfaces 344.Bl -tag -width 10n -offset ind -compact 345.It Xr cy 4 346Cyclades Cyclom-4Y, -8Y, and -16Y asynchronous serial communications devices 347.It Xr cz 4 348Cyclades-Z series multi-port serial adapter device 349.It Xr puc 4 350PCI 351.Dq universal 352communications card driver 353.El 354.Ss Display adapters 355.Bl -tag -width 10n -offset ind -compact 356.It Xr sti 4 357HP Standard Text Interface 358.It Xr tga 4 359DECchip 21030 (TGA) graphics driver 360.It Xr vga 4 361VGA graphics cards 362.El 363.Ss Audio devices 364.Bl -tag -width 10n -offset ind -compact 365.It Xr auacer 4 366Acer Labs I/O Controller Hub integrated AC'97 audio device 367.It Xr auglx 4 368AMD Geode LX CS5536 integrated AC'97 audio device 369.It Xr auich 4 370Intel ICH integrated AC'97 audio device 371.It Xr auixp 4 372ATI SB200/SB300/SB400/SB600 integrated AC'97 audio device 373.It Xr autri 4 374Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 audio device 375.It Xr auvia 4 376VIA VT82C686A/VT8233/VT8235/VT8237 integrated AC'97 audio device 377.It Xr azalia 4 378generic High Definition Audio device 379.It Xr clcs 4 380Cirrus Logic CS4280/CS4610/CS4615 audio device 381.It Xr clct 4 382Cirrus Logic CS4281 audio device 383.It Xr cmpci 4 384C-Media CMI8338/CMI8738/CMI8768 PCI audio device 385.It Xr eap 4 386Ensoniq AudioPCI audio device 387.It Xr emu 4 388Creative Labs SBLive!, PCI 512, and Audigy audio device 389.It Xr envy 4 390VIA Envy24 audio device 391.It Xr esa 4 392ESS Technology Allegro-1/Maestro-3 family audio device 393.It Xr eso 4 394ESS Technology Solo-1 PCI AudioDrive audio device 395.It Xr fms 4 396Forte Media FM801 audio device 397.It Xr maestro 4 398ESS Maestro 1 and 2 audio device 399.It Xr neo 4 400NeoMagic 256AV/ZX audio device 401.It Xr sv 4 402S3 SonicVibes audio device 403.It Xr yds 4 404Yamaha DS-XG audio device 405.El 406.Ss Time receiver devices 407.Bl -tag -width 10n -offset ind -compact 408.It Xr mbg 4 409Meinberg Funkuhren timedelta sensor 410.El 411.Ss Radio receiver devices 412.Bl -tag -width 10n -offset ind -compact 413.It Xr fms 4 414Forte Media FM801 audio device 415.El 416.Ss Hardware Sensors 417.Bl -tag -width 10n -offset ind -compact 418.It Xr berkwdt 4 419Berkshire Products watchdog timer device 420.It Xr elansc 4 421AMD Elan SC520 System Controller with watchdog timer and GPIO 422.It Xr geodesc 4 423Geode SC1100/SCx200 IAOC watchdog timer device 424.It Xr ichwdt 4 425Intel 6300ESB ICH watchdog timer device 426.It Xr itherm 4 427Intel 3400 temperature sensor 428.It Xr kate 4 429AMD K8 temperature sensor 430.It Xr km 4 431AMD K10 temperature sensor 432.It Xr pchtemp 4 433Intel PCH temperature sensor 434.It Xr pwdog 4 435Quancom PWDOG1 watchdog timer device 436.It Xr viapm 4 437VIA SMBus controller and VIA VT82C686A/VT8231 hardware monitor 438.It Xr wdt 4 439ICS PCI-WDT500/501 watchdog timer device 440.El 441.Ss Miscellaneous devices 442.Bl -tag -width "piixpcib(4)" -offset ind -compact 443.It Xr alipm 4 444Acer Labs M7101 SMBus controller 445.It Xr amas 4 446AMD memory address map 447.It Xr amdiic 4 448AMD-8111 SMBus controller 449.It Xr amdpcib 4 450AMD-8111 series LPC bridge and timecounter 451.It Xr amdpm 4 452AMD-756/766/768/8111 Power Management and SMBus controller 453.It Xr bktr 4 454Brooktree Bt848/849/878/879 455.Tn PCI 456TV tuners and video capture boards 457.It Xr cbb 4 458.Tn PCI 459Yenta compatible 460.Tn CardBus 461bridges 462.It Xr ehci 4 463USB Enhanced Host Controller Interface 464.It Xr gcu 4 465Intel EP80579 Global Configuration Unit 466.It Xr glxpcib 4 467CS5536 PCI-ISA Bridge with timecounter, watchdog timer, and GPIO 468.It Xr gscpcib 4 469National Semiconductor Geode SC1100 PCI-ISA bridge with GPIO 470.It Xr hpb 4 471.Tn HyperTransport Ns \- Ns Tn PCI bridge 472.It Xr ichiic 4 473Intel ICH SMBus controller 474.It Xr nviic 4 475NVIDIA nForce2/3/4 SMBus controller 476.It Xr ohci 4 477USB Open Host Controller Interface 478.It Xr pcib 4 479PCI-ISA bridge 480.It Xr pcic 4 481.Tn PCI 482.Tn PCMCIA 483controllers, including the Cirrus Logic GD6729 484.It Xr piixpcib 4 485Intel PIIX4 ISA bridges 486.It Xr piixpm 4 487Intel PIIX SMBus controller 488.It Xr ppb 4 489.Tn PCI Ns \- Ns Tn PCI bridge 490.It Xr rtsx 4 491Realtek SD card reader 492.It Xr sdhc 4 493SD Host Controller 494.It Xr ssio 4 495National Semiconductor PC87560 Legacy IO 496.It Xr tcpcib 4 497Intel Atom E600 series LPC bridge and watchdog timer 498.It Xr uhci 4 499USB Universal Host Controller Interface 500.It Xr viapm 4 501VIA SMBus controller 502.It Xr virtio 4 503VirtIO support driver 504.El 505.Sh IOCTLS 506If the kernel is compiled with the 507.Va USER_PCICONF 508kernel option, the following 509.Xr ioctl 2 510calls are supported by the 511.Nm 512driver. 513They are defined in the header file 514.In sys/pciio.h . 515.Bl -tag -width Ds 516.It PCIOCREAD Fa "struct pci_io *" 517This 518.Xr ioctl 2 519reads the 520.Tn PCI 521configuration registers specified by the passed-in 522.Va pci_io 523structure. 524The 525.Va pci_io 526structure consists of the following fields: 527.Bl -tag -width pi_width 528.It pi_sel 529A 530.Va pcisel 531structure which specifies the bus, slot and function the user would like to 532query. 533.It pi_reg 534The 535.Tn PCI 536configuration register the user would like to access. 537.It pi_width 538The width, in bytes, of the data the user would like to read. 539This value can be only 4. 540.It pi_data 541The data returned by the kernel. 542.El 543.It PCIOCWRITE Fa "struct pci_io *" 544This 545.Xr ioctl 2 546allows users to write to the 547.Tn PCI 548device specified in the passed-in 549.Va pci_io 550structure. 551The 552.Va pci_io 553structure is described above. 554The limitations on data width described for 555reading registers, above, also apply to writing 556.Tn PCI 557configuration registers. 558.It PCIOCGETROM Fa "struct pci_rom *" 559This 560.Xr ioctl 2 561allows users to read the contents of the 562.Tn PCI 563ROM specified in the passed-in 564.Va pci_rom 565structure. 566The 567.Va pci_rom 568structure consists of the following fields: 569.Bl -tag -width pr_romlen 570.It pr_sel 571A 572.Va pcisel 573structure which specifies the bus, slot and function the user would like to 574query. 575.It pr_romlen 576Size of the buffer to store the contents of the ROM. 577Upon return, this field will contain the size of the ROM 578.It pr_rom 579The address of the buffer to store the contents of the ROM. 580.El 581.Pp 582If the ROM is larger than the specified buffer size, 583.Dv ENOMEM 584will be returned. 585.El 586.Sh FILES 587.Bl -tag -width /dev/pci* -compact 588.It Pa /dev/pci* 589Character device for the 590.Nm 591driver. 592.El 593.Sh SEE ALSO 594.Xr intro 4 , 595.Xr pcidump 8 596.Sh HISTORY 597The machine-independent 598.Tn PCI 599subsystem appeared in 600.Ox 1.2 . 601