1.\" $OpenBSD: pci.4,v 1.274 2009/08/08 09:31:13 kevlo 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 8 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 pcscp 4 114Advanced Micro Devices Am53c974 PCscsi-PCI SCSI interface 115.It Xr siop 4 116LSI/Symbios Logic/NCR 53c8xx SCSI interface 117.It Xr sli 4 118Emulex LightPulse Fibre Channel SCSI interface 119.It Xr trm 4 120TRM-S1040 based PCI SCSI interface 121.El 122.Ss IDE disk controllers 123.Bl -tag -width 10n -offset ind -compact 124.It Xr ahci 4 125Advanced Host Controller Interface for Serial ATA 126.It Xr jmb 4 127JMicron JMB36x SATA II and PATA Host Controller 128.It Xr pciide 4 129PCI IDE controller driver 130.It Xr sili 4 131Silicon Image 3124/3132/3531 SATA controller 132.El 133.Ss RAID and cache controllers 134.Bl -tag -width 10n -offset ind -compact 135.It Xr aac 4 136Adaptec SAS/SATA/SCSI RAID controller 137.It Xr ami 4 138American Megatrends Inc. MegaRAID PATA/SATA/SCSI RAID controller 139.It Xr arc 4 140Areca Technology Corporation SAS/SATA RAID controller 141.It Xr cac 4 142Compaq Smart ARRAY 2/3/4 SCSI RAID controller 143.It Xr ciss 4 144Compaq Smart ARRAY 5/6 SAS/SATA/SCSI RAID controller 145.It Xr dpt 4 146DPT EATA SCSI RAID controller 147.It Xr gdt 4 148ICP-Vortex and Intel GDT SATA/SCSI RAID controller 149.It Xr iop 4 150Generic 151.Tn I2O 152specification 153.Tn RAID 154controllers 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 adapters 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/DS1/HSSI/DS3 219interfaces 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 interfaces 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 Networking Technologies VT6122 PCI 10/100/Gigabit Ethernet device 260.It Xr vr 4 261VIA Technologies 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 atw 4 278ADMtek ADM8211 IEEE 802.11b wireless network device 279.It Xr bwi 4 280Broadcom AirForce IEEE 802.11b/g wireless network device 281.It Xr ipw 4 282Intel PRO/Wireless 2100 IEEE 802.11b wireless network device 283.It Xr iwi 4 284Intel 285PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11a/b/g wireless network device 286.It Xr iwn 4 287Intel WiFi Link 4965/5100/5300 288IEEE 802.11a/b/g/Draft-N wireless network devices 289.It Xr malo 4 290Marvell Libertas IEEE 802.11b/g wireless network device 291.It Xr pgt 4 292Conexant/Intersil Prism GT Full-MAC IEEE 802.11a/b/g wireless network device 293.It Xr ral 4 294Ralink Technology IEEE 802.11a/b/g/Draft-N wireless network device 295.It Xr rtw 4 296Realtek RTL8180L IEEE 802.11b wireless network device 297.It Xr wi 4 298WaveLAN/IEEE, PRISM 2-3, and Spectrum24 IEEE 802.11b wireless network 299device 300.It Xr wpi 4 301Intel PRO/Wireless 3945ABG IEEE 802.11a/b/g wireless network device 302.El 303.Ss Cryptography accelerators 304.Bl -tag -width 10n -offset ind -compact 305.It Xr glxsb 4 306Geode LX Security Block crypto accelerator 307.It Xr hifn 4 308Hifn 7751/7811/7951/7955/7956/9751 crypto accelerator 309.It Xr lofn 4 310Hifn 6500 crypto accelerator 311.It Xr noct 4 312NetOctave NSP2000 crypto accelerator 313.It Xr nofn 4 314Hifn 7814/7851/7854 HIPP1 crypto accelerator 315.It Xr safe 4 316SafeNet crypto accelerator 317.It Xr ubsec 4 318Broadcom and BlueSteel uBsec 5x0x crypto accelerator 319.El 320.Ss Serial interfaces 321.Bl -tag -width 10n -offset ind -compact 322.It Xr cy 4 323Cyclades Cyclom-4Y, -8Y, and -16Y asynchronous serial communications devices 324.It Xr cz 4 325Cyclades-Z series multi-port serial adapter device driver 326.It Xr puc 4 327PCI ``universal'' communications card driver 328.El 329.Ss Display adapters 330.Bl -tag -width 10n -offset ind -compact 331.It Xr sti 4 332HP Standard Text Interface 333.It Xr tga 4 334TGA graphics driver 335.It Xr vga 4 336VGA graphics cards 337.El 338.Ss Audio devices 339.Bl -tag -width 10n -offset ind -compact 340.It Xr auacer 4 341Acer Labs I/O Controller Hub integrated AC'97 audio device 342.It Xr auglx 4 343AMD Geode LX CS5536 integrated AC'97 audio device 344.It Xr auich 4 345Intel ICH integrated AC'97 audio device 346.It Xr auixp 4 347ATI SB200/SB300/SB400 integrated AC'97 audio device 348.It Xr autri 4 349Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 audio device 350.It Xr auvia 4 351VIA VT82C686A, VT8233, VT8235, VT8237 integrated AC'97 audio device 352.It Xr azalia 4 353Generic High Definition Audio device 354.It Xr clcs 4 355Cirrus Logic CS4280/CS4610/CS4615 audio device 356.It Xr clct 4 357Cirrus Logic CS4281 audio device 358.It Xr cmpci 4 359C-Media CMI8338, CMI8738, CMI8768 PCI audio device 360.It Xr eap 4 361Ensoniq AudioPCI audio device 362.It Xr emu 4 363Creative Labs SBLive!, PCI 512, and Audigy audio device 364.It Xr envy 4 365VIA Envy24 audio device 366.It Xr esa 4 367ESS Technology Allegro-1/Maestro-3 family audio device 368.It Xr eso 4 369ESS Technology Solo-1 PCI AudioDrive audio device 370.It Xr fms 4 371Forte Media FM801 audio device 372.It Xr maestro 4 373ESS Maestro 1 and 2 audio device 374.It Xr neo 4 375NeoMagic 256AV/ZX audio device 376.It Xr sv 4 377S3 SonicVibes audio device 378.It Xr yds 4 379Yamaha DS-XG audio device 380.El 381.Ss Time receiver devices 382.Bl -tag -width 10n -offset ind -compact 383.It Xr mbg 4 384Meinberg Funkuhren timedelta sensor 385.El 386.Ss Radio receiver devices 387.Bl -tag -width 10n -offset ind -compact 388.It Xr fms 4 389Forte Media FM801 audio device 390.It Xr gtp 4 391Gemtek PCI FM radio device 392.El 393.Ss Hardware Sensors 394.Bl -tag -width 10n -offset ind -compact 395.It Xr berkwdt 4 396Berkshire Products watchdog timer device 397.It Xr elansc 4 398AMD Elan SC520 System Controller with watchdog timer and GPIO 399.It Xr geodesc 4 400Geode SC1100/SCx200 IAOC watchdog timer device 401.It Xr ichwdt 4 402Intel 6300ESB ICH watchdog timer device 403.It Xr kate 4 404AMD K8 temperature sensor 405.It Xr km 4 406AMD K10 temperature sensor 407.It Xr pwdog 4 408Quancom PWDOG1 watchdog timer device 409.It Xr viaenv 4 410VIA VT82C686A/VT8231 hardware monitor 411.It Xr wdt 4 412ICS PCI-WDT500/501 watchdog timer device 413.El 414.Ss Miscellaneous devices 415.Bl -tag -width "piixpcib(4)" -offset ind -compact 416.It Xr alipm 4 417Acer Labs M7101 SMBus controller 418.It Xr amas 4 419AMD memory address map 420.It Xr amdiic 4 421AMD-8111 SMBus controller 422.It Xr amdpcib 4 423AMD-8111 series LPC bridge and timecounter 424.It Xr amdpm 4 425AMD-756/766/768/8111 Power Management and SMBus controller 426.It Xr bktr 4 427Brooktree Bt848 428.Tn PCI 429TV tuners and video capture boards 430.It Xr cbb 4 431.Tn PCI 432Yenta compatible 433.Tn CardBus 434bridges 435.It Xr ehci 4 436USB Enhanced Host Controller Interface 437.It Xr glxpcib 4 438CS5536 PCI-ISA Bridge with timecounter, watchdog timer, and GPIO 439.It Xr gscpcib 4 440National Semiconductor Geode SC1100 PCI-ISA bridge with GPIO 441.It Xr ichiic 4 442Intel ICH SMBus controller 443.It Xr nviic 4 444NVIDIA nForce2/3/4 SMBus controller 445.It Xr ohci 4 446USB Open Host Controller Interface 447.It Xr pcib 4 448PCI-ISA bridge 449.It Xr pcic 4 450.Tn PCI 451.Tn PCMCIA 452controllers, including the Cirrus Logic GD6729 453.It Xr piixpcib 4 454Intel PIIX4 ISA bridges 455.It Xr piixpm 4 456Intel PIIX SMBus controller 457.It Xr ppb 4 458Generic 459.Tn PCI Ns \- Ns Tn PCI 460bridges, including 461.Tn PCI 462expansion backplanes 463.It Xr sdhc 4 464SD Host Controller 465.It Xr ssio 4 466National Semiconductor PC87560 Legacy IO 467.It Xr uhci 4 468USB Universal Host Controller Interface 469.It Xr viapm 4 470VIA SMBus controller 471.El 472.Sh IOCTLS 473If the kernel is compiled with the 474.Va USER_PCICONF 475kernel option, the following 476.Xr ioctl 2 477calls are supported by the 478.Nm 479driver. 480They are defined in the header file 481.Aq Pa sys/pciio.h . 482.Bl -tag -width 012345678901234 483.Pp 484.It PCIOCREAD 485This 486.Xr ioctl 2 487reads the 488.Tn PCI 489configuration registers specified by the passed-in 490.Va pci_io 491structure. 492The 493.Va pci_io 494structure consists of the following fields: 495.Bl -tag -width pi_width 496.It pi_sel 497A 498.Va pcisel 499structure which specifies the bus, slot and function the user would like to 500query. 501.It pi_reg 502The 503.Tn PCI 504configuration register the user would like to access. 505.It pi_width 506The width, in bytes, of the data the user would like to read. 507This value can be only 4. 508.It pi_data 509The data returned by the kernel. 510.El 511.It PCIOCWRITE 512This 513.Xr ioctl 2 514allows users to write to the 515.Tn PCI 516device specified in the passed-in 517.Va pci_io 518structure. 519The 520.Va pci_io 521structure is described above. 522The limitations on data width described for 523reading registers, above, also apply to writing 524.Tn PCI 525configuration registers. 526.It PCIOCGETROM 527This 528.Xr ioctl 2 529allows users to read the contents of the 530.Tn PCI 531ROM specified in the passed-in 532.Va pci_rom 533structure. 534The 535.Va pci_rom 536structure consists of the following fields: 537.Bl -tag -width pr_romlen 538.It pr_sel 539A 540.Va pcisel 541structure which specifies the bus, slot and function the user would like to 542query. 543.It pr_romlen 544Size of the buffer to store the contents of the ROM. 545Upon return, this field will contain the size of the ROM 546.It pr_rom 547The address of the buffer to store the contents of the ROM. 548.El 549.Pp 550If the ROM is larger than the specified buffer size, 551.Dv ENOMEM 552will be returned. 553.El 554.Sh FILES 555.Bl -tag -width /dev/pci* -compact 556.It Pa /dev/pci* 557Character device for the 558.Nm 559driver. 560.El 561.Sh SEE ALSO 562.Xr intro 4 , 563.Xr pcidump 8 564.Sh HISTORY 565The machine-independent 566.Tn PCI 567subsystem appeared in 568.Ox 1.2 . 569