1.\" $OpenBSD: pci.4,v 1.305 2011/06/20 05:32:09 deraadt 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: June 20 2011 $ 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 "# loongson" 63.Cd "pci* at bonito?" 64.Pp 65.Cd "# macppc" 66.Cd "pci* at mpcpcibr?" 67.Cd "pci* at ht?" 68.Pp 69.Cd "# sgi" 70.Cd "pci* at macepcibr?" 71.Cd "pci* at xbridge?" 72.Pp 73.Cd "# sparc64" 74.Cd "pci* at psycho?" 75.Cd "pci* at schizo?" 76.Cd "pci* at pyro?" 77.Cd "pci* at vpci?" 78.Pp 79.Cd "# all architectures" 80.Cd "pci* at pchb?" 81.Cd "pci* at ppb?" 82.Sh DESCRIPTION 83The system includes a machine-independent 84.Tn PCI 85bus subsystem and 86several machine-independent 87.Tn PCI 88device drivers. 89.Pp 90Note that interrupt mappings on the i386 may require that you configure 91your BIOS to reserve sufficient interrupts as "PCI/ISAPnP" so that there 92are sufficient interrupts remaining to configure the discovered PCI 93devices. 94For more information, see 95.Xr pcibios 4 . 96.Pp 97.Ox 98provides support for the following devices. 99Note that not all architectures support all devices. 100.Ss SCSI host adapters 101.Bl -tag -width 10n -offset ind -compact 102.It Xr adv 4 , Xr adw 4 103AdvanSys PCI SCSI interface 104.It Xr ahc 4 105Adaptec VL/EISA/PCI SCSI interface 106.It Xr ahd 4 107Adaptec PCI/PCI-X AIC79xx-based Ultra320 SCSI interface 108.It Xr bha 4 109Buslogic SCSI interface 110.It Xr iha 4 111Initio INIC-940/950 based PCI SCSI interface 112.It Xr isp 4 113QLogic based SCSI or Fibre Channel SCSI interface 114.It Xr mpi 4 115LSI Logic Fusion-MPT Message Passing Interface 116.It Xr mpii 4 117LSI Logic Fusion-MPT Message Passing Interface II 118.It Xr pcscp 4 119Advanced Micro Devices Am53c974 PCscsi-PCI SCSI interface 120.It Xr siop 4 121LSI/Symbios Logic/NCR 53c8xx SCSI interface 122.It Xr sli 4 123Emulex LightPulse Fibre Channel SCSI interface 124.It Xr trm 4 125TRM-S1040 based PCI SCSI interface 126.El 127.Ss IDE disk controllers 128.Bl -tag -width 10n -offset ind -compact 129.It Xr ahci 4 130Advanced Host Controller Interface for Serial ATA 131.It Xr jmb 4 132JMicron JMB36x SATA II and PATA Host Controller 133.It Xr pciide 4 134PCI IDE controller driver 135.It Xr sili 4 136Silicon Image 3124/3132/3531 SATA controller 137.El 138.Ss RAID and cache controllers 139.Bl -tag -width 10n -offset ind -compact 140.It Xr aac 4 141Adaptec SAS/SATA/SCSI RAID controller 142.It Xr ami 4 143American Megatrends Inc. MegaRAID PATA/SATA/SCSI RAID controller 144.It Xr arc 4 145Areca Technology Corporation SAS/SATA RAID controller 146.It Xr cac 4 147Compaq Smart ARRAY 2/3/4 SCSI RAID controller 148.It Xr ciss 4 149Compaq Smart ARRAY 5/6 SAS/SATA/SCSI RAID controller 150.It Xr dpt 4 151DPT EATA SCSI RAID controller 152.It Xr gdt 4 153ICP-Vortex and Intel GDT SATA/SCSI RAID controller 154.It Xr iop 4 155.Tn I2O 156.Tn RAID 157controller 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 twe 4 1633ware 5000/6000/7000/8000 series PATA/SATA RAID controller 164.El 165.Ss Wired network interfaces 166.Bl -tag -width 10n -offset ind -compact 167.It Xr age 4 168Attansic L1 10/100/Gigabit Ethernet device 169.It Xr alc 4 170Atheros AR813x/AR815x 10/100/Gigabit Ethernet device 171.It Xr ale 4 172Atheros AR8121/AR8113/AR8114 10/100/Gigabit Ethernet device 173.It Xr art 4 174Accoom Networks Artery T1/E1 network 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 fpa 4 199.Tn DEC 200DEFPA/DEFEA/DEFTA 201.Tn FDDI 202network device 203.It Xr fxp 4 204Intel EtherExpress PRO/100 10/100 Ethernet device 205.It Xr gem 4 206GEM 10/100/Gigabit Ethernet device 207.It Xr hme 4 208Sun Happy Meal 10/100 Ethernet device 209.It Xr ix 4 210Intel 82598/82599 PCI Express 10Gb Ethernet device 211.It Xr ixgb 4 212Intel PRO/10GbE 10Gb Ethernet device 213.It Xr jme 4 214JMicron JMC250/JMC260 10/100/Gigabit Ethernet device 215.It Xr lge 4 216Level 1 LXT1001 NetCellerator PCI Gigabit Ethernet device 217.It Xr lii 4 218Attansic L2 10/100 Ethernet device 219.It Xr lmc 4 220Lan Media Corporation 221.Tn SSI/T1/DS1/HSSI/DS3 222card device 223.It Xr msk 4 224Marvell Yukon-2 10/100/Gigabit Ethernet device 225.It Xr mtd 4 226Myson Technology MTD800/MTD803/MTD891 10/100/Gigabit Ethernet device 227.It Xr myx 4 228Myricom Myri-10G PCI Express 10Gb Ethernet device 229.It Xr ne 4 230NE2000 and compatible 10/100 Ethernet device 231.It Xr nfe 4 232NVIDIA nForce MCP 10/100/Gigabit Ethernet device 233.It Xr nge 4 234National Semiconductor PCI 10/100/Gigabit Ethernet device 235.It Xr pcn 4 236AMD PCnet-PCI 10/100 Ethernet device 237.It Xr re 4 238Realtek 8139C+/8169/816xS/811xS/8168/810xE 10/100/Gigabit Ethernet device 239.It Xr rl 4 240Realtek 8129/8139 10/100 Ethernet device 241.It Xr san 4 242Sangoma Technologies AFT T1/E1 network device 243.It Xr se 4 244SiS 190/191 10/100/Gigabit Ethernet device 245.It Xr sf 4 246Adaptec AIC-6915 "Starfire" PCI 10/100 Ethernet device 247.It Xr sis 4 248SiS 900, SiS 7016, and NS DP83815/6 10/100 Ethernet device 249.It Xr sk 4 250SysKonnect XMAC II and Marvell Yukon 10/100/Gigabit Ethernet device 251.It Xr ste 4 252Sundance Technologies ST201 10/100 Ethernet device 253.It Xr stge 4 254Sundance/Tamarack TC9021 Gigabit Ethernet device 255.It Xr tht 4 256Tehuti Networks 10Gb Ethernet device 257.It Xr ti 4 258Alteon Networks Tigon I and II Gigabit Ethernet device 259.It Xr tl 4 260Texas Instruments ThunderLAN 10/100 Ethernet device 261.It Xr txp 4 2623Com 3XP Typhoon/Sidewinder (3CR990) 10/100 Ethernet device 263.It Xr vic 4 264VMware VMXnet Virtual Interface Controller device 265.It Xr vge 4 266VIA VT6122 PCI 10/100/Gigabit Ethernet device 267.It Xr vr 4 268VIA VT3043/VT86C100A/VT6105/VT6105M 10/100 Ethernet device 269.It Xr vte 4 270RDC R6040 10/100 Ethernet device 271.It Xr wb 4 272Winbond W89C840F 10/100 Ethernet device 273.It Xr xge 4 274Neterion Xframe/Xframe II 10Gb Ethernet device 275.It Xr xl 4 2763Com EtherLink XL and Fast EtherLink XL 10/100 Ethernet device 277.El 278.Ss Wireless network interfaces 279.Bl -tag -width 10n -offset ind -compact 280.It Xr acx 4 281TI ACX100/ACX111 IEEE 802.11a/b/g wireless network device 282.It Xr an 4 283Aironet Communications 4500/4800 IEEE 802.11FH/b wireless network device 284.It Xr ath 4 285Atheros IEEE 802.11a/b/g wireless network device with GPIO 286.It Xr athn 4 287Atheros IEEE 802.11a/g/n wireless network device 288.It Xr atw 4 289ADMtek ADM8211 IEEE 802.11b wireless network device 290.It Xr bwi 4 291Broadcom AirForce IEEE 802.11b/g wireless network device 292.It Xr ipw 4 293Intel PRO/Wireless 2100 IEEE 802.11b wireless network device 294.It Xr iwi 4 295Intel 296PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11a/b/g wireless network device 297.It Xr iwn 4 298Intel WiFi Link 4965/5000/1000/6000 299IEEE 802.11a/g/n wireless network devices 300.It Xr malo 4 301Marvell Libertas IEEE 802.11b/g wireless network device 302.It Xr pgt 4 303Conexant/Intersil Prism GT Full-MAC IEEE 802.11a/b/g wireless network device 304.It Xr ral 4 305Ralink Technology IEEE 802.11a/g/n wireless network device 306.It Xr rtw 4 307Realtek RTL8180L IEEE 802.11b 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 lofn 4 321Hifn 6500 crypto accelerator 322.It Xr noct 4 323NetOctave NSP2000 crypto accelerator 324.It Xr nofn 4 325Hifn 7814/7851/7854 HIPP1 crypto accelerator 326.It Xr safe 4 327SafeNet crypto accelerator 328.It Xr ubsec 4 329Broadcom and BlueSteel uBsec 5x0x crypto accelerator 330.El 331.Ss Serial interfaces 332.Bl -tag -width 10n -offset ind -compact 333.It Xr cy 4 334Cyclades Cyclom-4Y, -8Y, and -16Y asynchronous serial communications devices 335.It Xr cz 4 336Cyclades-Z series multi-port serial adapter device 337.It Xr puc 4 338PCI ``universal'' communications card driver 339.El 340.Ss Display adapters 341.Bl -tag -width 10n -offset ind -compact 342.It Xr sti 4 343HP Standard Text Interface 344.It Xr tga 4 345TGA graphics driver 346.It Xr vga 4 347VGA graphics cards 348.El 349.Ss Audio devices 350.Bl -tag -width 10n -offset ind -compact 351.It Xr auacer 4 352Acer Labs I/O Controller Hub integrated AC'97 audio device 353.It Xr auglx 4 354AMD Geode LX CS5536 integrated AC'97 audio device 355.It Xr auich 4 356Intel ICH integrated AC'97 audio device 357.It Xr auixp 4 358ATI SB200/SB300/SB400/SB600 integrated AC'97 audio device 359.It Xr autri 4 360Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 audio device 361.It Xr auvia 4 362VIA VT82C686A/VT8233/VT8235/VT8237 integrated AC'97 audio device 363.It Xr azalia 4 364generic High Definition Audio device 365.It Xr clcs 4 366Cirrus Logic CS4280/CS4610/CS4615 audio device 367.It Xr clct 4 368Cirrus Logic CS4281 audio device 369.It Xr cmpci 4 370C-Media CMI8338/CMI8738/CMI8768 PCI audio device 371.It Xr eap 4 372Ensoniq AudioPCI audio device 373.It Xr emu 4 374Creative Labs SBLive!, PCI 512, and Audigy audio device 375.It Xr envy 4 376VIA Envy24 audio device 377.It Xr esa 4 378ESS Technology Allegro-1/Maestro-3 family audio device 379.It Xr eso 4 380ESS Technology Solo-1 PCI AudioDrive audio device 381.It Xr fms 4 382Forte Media FM801 audio device 383.It Xr maestro 4 384ESS Maestro 1 and 2 audio device 385.It Xr neo 4 386NeoMagic 256AV/ZX audio device 387.It Xr sv 4 388S3 SonicVibes audio device 389.It Xr yds 4 390Yamaha DS-XG audio device 391.El 392.Ss Time receiver devices 393.Bl -tag -width 10n -offset ind -compact 394.It Xr mbg 4 395Meinberg Funkuhren timedelta sensor 396.El 397.Ss Radio receiver devices 398.Bl -tag -width 10n -offset ind -compact 399.It Xr fms 4 400Forte Media FM801 audio device 401.It Xr gtp 4 402Gemtek PCI FM radio device 403.El 404.Ss Hardware Sensors 405.Bl -tag -width 10n -offset ind -compact 406.It Xr berkwdt 4 407Berkshire Products watchdog timer device 408.It Xr elansc 4 409AMD Elan SC520 System Controller with watchdog timer and GPIO 410.It Xr geodesc 4 411Geode SC1100/SCx200 IAOC watchdog timer device 412.It Xr ichwdt 4 413Intel 6300ESB ICH watchdog timer device 414.It Xr itherm 4 415Intel 3400 temperature sensor 416.It Xr kate 4 417AMD K8 temperature sensor 418.It Xr km 4 419AMD K10 temperature sensor 420.It Xr pwdog 4 421Quancom PWDOG1 watchdog timer device 422.It Xr viapm 4 423VIA SMBus controller and VIA VT82C686A/VT8231 hardware monitor 424.It Xr wdt 4 425ICS PCI-WDT500/501 watchdog timer device 426.El 427.Ss Miscellaneous devices 428.Bl -tag -width "piixpcib(4)" -offset ind -compact 429.It Xr alipm 4 430Acer Labs M7101 SMBus controller 431.It Xr amas 4 432AMD memory address map 433.It Xr amdiic 4 434AMD-8111 SMBus controller 435.It Xr amdpcib 4 436AMD-8111 series LPC bridge and timecounter 437.It Xr amdpm 4 438AMD-756/766/768/8111 Power Management and SMBus controller 439.It Xr bktr 4 440Brooktree Bt848/849/878/879 441.Tn PCI 442TV tuners and video capture boards 443.It Xr cbb 4 444.Tn PCI 445Yenta compatible 446.Tn CardBus 447bridges 448.It Xr ehci 4 449USB Enhanced Host Controller Interface 450.It Xr gcu 4 451Intel EP80579 Global Configuration Unit 452.It Xr glxpcib 4 453CS5536 PCI-ISA Bridge with timecounter, watchdog timer, and GPIO 454.It Xr gscpcib 4 455National Semiconductor Geode SC1100 PCI-ISA bridge with GPIO 456.It Xr ichiic 4 457Intel ICH SMBus controller 458.It Xr nviic 4 459NVIDIA nForce2/3/4 SMBus controller 460.It Xr ohci 4 461USB Open Host Controller Interface 462.It Xr pcib 4 463PCI-ISA bridge 464.It Xr pcic 4 465.Tn PCI 466.Tn PCMCIA 467controllers, including the Cirrus Logic GD6729 468.It Xr piixpcib 4 469Intel PIIX4 ISA bridges 470.It Xr piixpm 4 471Intel PIIX SMBus controller 472.It Xr ppb 4 473Generic 474.Tn PCI Ns \- Ns Tn PCI 475bridges, including 476.Tn PCI 477expansion backplanes 478.It Xr sdhc 4 479SD Host Controller 480.It Xr ssio 4 481National Semiconductor PC87560 Legacy IO 482.It Xr uhci 4 483USB Universal Host Controller Interface 484.It Xr viapm 4 485VIA SMBus controller 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.Aq Pa sys/pciio.h . 497.Bl -tag -width 012345678901234 498.It PCIOCREAD 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 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 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