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