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