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