xref: /openbsd-src/share/man/man4/pci.4 (revision f2da64fbbbf1b03f09f390ab01267c93dfd77c4c)
1.\"	$OpenBSD: pci.4,v 1.353 2016/09/04 10:35:39 tedu 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 4 2016 $
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 "# hppa"
53.Cd "pci* at dino?"
54.Cd "pci* at elroy?"
55.Pp
56.Cd "# landisk"
57.Cd "pci* at shpcic?"
58.Pp
59.Cd "# loongson"
60.Cd "pci* at bonito?"
61.Pp
62.Cd "# macppc"
63.Cd "pci* at mpcpcibr?"
64.Cd "pci* at ht?"
65.Cd "pci* at hpb?"
66.Pp
67.Cd "# sgi"
68.Cd "pci* at macepcibr?"
69.Cd "pci* at xbridge?"
70.Pp
71.Cd "# sparc64"
72.Cd "pci* at psycho?"
73.Cd "pci* at schizo?"
74.Cd "pci* at pyro?"
75.Cd "pci* at vpci?"
76.Pp
77.Cd "# all architectures"
78.Cd "pci* at pchb?"
79.Cd "pci* at ppb?"
80.Sh DESCRIPTION
81The system includes a machine-independent
82.Tn PCI
83bus subsystem and
84several machine-independent
85.Tn PCI
86device drivers.
87.Pp
88Note that interrupt mappings on the i386 may require that you configure
89your BIOS to reserve sufficient interrupts as "PCI/ISAPnP" so that there
90are sufficient interrupts remaining to configure the discovered PCI
91devices.
92For more information, see
93.Xr pcibios 4 .
94.Pp
95.Ox
96provides support for the following devices.
97Note that not all architectures support all devices.
98.Ss SCSI host adapters
99.Bl -tag -width 10n -offset ind -compact
100.It Xr adv 4 , Xr adw 4
101AdvanSys PCI SCSI interface
102.It Xr ahc 4
103Adaptec VL/EISA/PCI SCSI interface
104.It Xr ahd 4
105Adaptec PCI/PCI-X AIC79xx-based Ultra320 SCSI interface
106.It Xr iha 4
107Initio INIC-940/950 based PCI SCSI interface
108.It Xr mpi 4
109LSI Logic Fusion-MPT Message Passing Interface
110.It Xr mpii 4
111LSI Logic Fusion-MPT Message Passing Interface II
112.It Xr nvme 4
113Non-Volatile Memory Host Controller Interface
114.It Xr pcscp 4
115Advanced Micro Devices Am53c974 PCscsi-PCI SCSI interface
116.It Xr qla 4
117QLogic ISP2100/2200/2300 Fibre Channel controller
118.It Xr qle 4
119QLogic ISP2400/2500 Fibre Channel controller
120.It Xr qlw 4
121QLogic ISP1000/1020/1x40/1x80/1x160 SCSI controller
122.It Xr siop 4
123LSI/Symbios Logic/NCR 53c8xx SCSI interface
124.It Xr sli 4
125Emulex LightPulse Fibre Channel SCSI interface
126.It Xr trm 4
127TRM-S1040 based PCI SCSI interface
128.It Xr vmwpvs 4
129VMware Paravirtual SCSI
130.El
131.Ss IDE disk controllers
132.Bl -tag -width 10n -offset ind -compact
133.It Xr ahci 4
134Advanced Host Controller Interface for Serial ATA
135.It Xr jmb 4
136JMicron JMB36x SATA II and PATA Host Controller
137.It Xr pciide 4
138PCI IDE controller driver
139.It Xr sili 4
140Silicon Image 3124/3132/3531 SATA controller
141.El
142.Ss RAID and cache controllers
143.Bl -tag -width 10n -offset ind -compact
144.It Xr aac 4
145Adaptec SAS/SATA/SCSI RAID controller
146.It Xr ami 4
147American Megatrends Inc. MegaRAID PATA/SATA/SCSI RAID controller
148.It Xr arc 4
149Areca Technology Corporation SAS/SATA RAID controller
150.It Xr cac 4
151Compaq Smart Array 2/3/4 SCSI RAID controller
152.It Xr ciss 4
153Compaq Smart Array SAS/SATA/SCSI RAID controller
154.It Xr dpt 4
155DPT EATA SCSI RAID controller
156.It Xr gdt 4
157ICP-Vortex and Intel GDT SATA/SCSI RAID controller
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 mfii 4
163LSI Logic MegaRAID SAS Fusion RAID controller
164.It Xr twe 4
1653ware 5000/6000/7000/8000 series PATA/SATA RAID controller
166.El
167.Ss Wired network interfaces
168.Bl -tag -width 10n -offset ind -compact
169.It Xr age 4
170Attansic L1 10/100/Gigabit Ethernet device
171.It Xr alc 4
172Atheros AR813x/AR815x 10/100/Gigabit Ethernet device
173.It Xr ale 4
174Atheros AR8121/AR8113/AR8114 10/100/Gigabit Ethernet 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 fxp 4
199Intel EtherExpress PRO/100 10/100 Ethernet device
200.It Xr gem 4
201GEM 10/100/Gigabit Ethernet device
202.It Xr hme 4
203Sun Happy Meal 10/100 Ethernet device
204.It Xr ix 4
205Intel 82598/82599/X540 PCI Express 10Gb Ethernet device
206.It Xr ixgb 4
207Intel PRO/10GbE 10Gb Ethernet device
208.It Xr jme 4
209JMicron JMC25x/JMC26x 10/100/Gigabit Ethernet device
210.It Xr lge 4
211Level 1 LXT1001 NetCellerator PCI Gigabit Ethernet device
212.It Xr lii 4
213Attansic L2 10/100 Ethernet device
214.It Xr msk 4
215Marvell Yukon-2 10/100/Gigabit Ethernet device
216.It Xr mtd 4
217Myson Technology MTD800/MTD803/MTD891 10/100/Gigabit Ethernet device
218.It Xr myx 4
219Myricom Myri-10G PCI Express 10Gb Ethernet device
220.It Xr ne 4
221NE2000 and compatible 10/100 Ethernet device
222.It Xr nep 4
223Sun Neptune 10Gb Ethernet device
224.It Xr nfe 4
225NVIDIA nForce MCP 10/100/Gigabit Ethernet device
226.It Xr nge 4
227National Semiconductor PCI 10/100/Gigabit Ethernet device
228.It Xr oce 4
229Emulex OneConnect 10Gb 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 se 4
237SiS 190/191 10/100/Gigabit Ethernet 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 vge 4
257VIA Velocity 10/100/Gigabit Ethernet device
258.It Xr vic 4
259VMware VMXnet Virtual Interface Controller device
260.It Xr vmx 4
261VMware VMXNET3 Virtual Interface Controller device
262.It Xr vr 4
263VIA Rhine I/II/III 10/100 Ethernet device
264.It Xr vte 4
265RDC R6040 10/100 Ethernet device
266.It Xr wb 4
267Winbond W89C840F 10/100 Ethernet device
268.It Xr xge 4
269Neterion Xframe/Xframe II 10Gb Ethernet device
270.It Xr xl 4
2713Com EtherLink XL and Fast EtherLink XL 10/100 Ethernet device
272.El
273.Ss Wireless network interfaces
274.Bl -tag -width 10n -offset ind -compact
275.It Xr acx 4
276TI ACX100/ACX111 IEEE 802.11a/b/g wireless network device
277.It Xr an 4
278Aironet Communications 4500/4800 IEEE 802.11FH/b wireless network device
279.It Xr ath 4
280Atheros IEEE 802.11a/b/g wireless network device with GPIO
281.It Xr athn 4
282Atheros IEEE 802.11a/b/g/n wireless network device
283.It Xr atw 4
284ADMtek ADM8211 IEEE 802.11b wireless network device
285.It Xr bwi 4
286Broadcom AirForce IEEE 802.11b/g wireless network device
287.It Xr ipw 4
288Intel PRO/Wireless 2100 IEEE 802.11b wireless network device
289.It Xr iwi 4
290Intel
291PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11a/b/g wireless network device
292.It Xr iwn 4
293Intel WiFi Link and Centrino IEEE 802.11a/b/g/n wireless network devices
294.It Xr iwm 4
295Intel 7000/8000 IEEE 802.11a/ac/b/g/n wireless network devices
296.It Xr malo 4
297Marvell Libertas IEEE 802.11b/g wireless network device
298.It Xr pgt 4
299Conexant/Intersil Prism GT Full-MAC IEEE 802.11a/b/g wireless network device
300.It Xr ral 4
301Ralink Technology/MediaTek IEEE 802.11a/b/g/n wireless network device
302.It Xr rtw 4
303Realtek RTL8180L IEEE 802.11b wireless network device
304.It Xr rtwn 4
305Realtek RTL8188CE PCIe IEEE 802.11b/g/n wireless network device
306.It Xr wi 4
307WaveLAN/IEEE, PRISM 2-3, and Spectrum24 IEEE 802.11b wireless network
308device
309.It Xr wpi 4
310Intel PRO/Wireless 3945ABG IEEE 802.11a/b/g wireless network device
311.El
312.Ss Cryptography accelerators
313.Bl -tag -width 10n -offset ind -compact
314.It Xr glxsb 4
315Geode LX Security Block crypto accelerator
316.It Xr hifn 4
317Hifn 7751/7811/7951/7955/7956/9751 crypto accelerator
318.It Xr safe 4
319SafeNet crypto accelerator
320.It Xr ubsec 4
321Broadcom and BlueSteel uBsec 5x0x crypto accelerator
322.El
323.Ss Serial interfaces
324.Bl -tag -width 10n -offset ind -compact
325.It Xr cy 4
326Cyclades Cyclom-4Y, -8Y, and -16Y asynchronous serial communications devices
327.It Xr cz 4
328Cyclades-Z series multi-port serial adapter device
329.It Xr puc 4
330PCI
331.Dq universal
332communications card driver
333.El
334.Ss Display adapters
335.Bl -tag -width 10n -offset ind -compact
336.It Xr sti 4
337HP Standard Text Interface
338.It Xr tga 4
339DECchip 21030 (TGA) graphics driver
340.It Xr vga 4
341VGA graphics cards
342.El
343.Ss Audio devices
344.Bl -tag -width 10n -offset ind -compact
345.It Xr auacer 4
346Acer Labs I/O Controller Hub integrated AC'97 audio device
347.It Xr auglx 4
348AMD Geode LX CS5536 integrated AC'97 audio device
349.It Xr auich 4
350Intel ICH integrated AC'97 audio device
351.It Xr auixp 4
352ATI SB200/SB300/SB400/SB600 integrated AC'97 audio device
353.It Xr autri 4
354Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 audio device
355.It Xr auvia 4
356VIA VT82C686A/VT8233/VT8235/VT8237 integrated AC'97 audio device
357.It Xr azalia 4
358generic High Definition Audio device
359.It Xr clcs 4
360Cirrus Logic CS4280/CS4610/CS4615 audio device
361.It Xr clct 4
362Cirrus Logic CS4281 audio device
363.It Xr cmpci 4
364C-Media CMI8338/CMI8738/CMI8768 PCI audio device
365.It Xr eap 4
366Ensoniq AudioPCI audio device
367.It Xr emu 4
368Creative Labs SBLive!, PCI 512, and Audigy audio device
369.It Xr envy 4
370VIA Envy24 audio device
371.It Xr esa 4
372ESS Technology Allegro-1/Maestro-3 family audio device
373.It Xr eso 4
374ESS Technology Solo-1 PCI AudioDrive audio device
375.It Xr fms 4
376Forte Media FM801 audio device
377.It Xr maestro 4
378ESS Maestro 1 and 2 audio device
379.It Xr neo 4
380NeoMagic 256AV/ZX audio device
381.It Xr sv 4
382S3 SonicVibes audio device
383.It Xr yds 4
384Yamaha DS-XG audio device
385.El
386.Ss Time receiver devices
387.Bl -tag -width 10n -offset ind -compact
388.It Xr mbg 4
389Meinberg Funkuhren timedelta sensor
390.El
391.Ss Radio receiver devices
392.Bl -tag -width 10n -offset ind -compact
393.It Xr fms 4
394Forte Media FM801 audio device
395.El
396.Ss Hardware Sensors
397.Bl -tag -width 10n -offset ind -compact
398.It Xr berkwdt 4
399Berkshire Products watchdog timer device
400.It Xr elansc 4
401AMD Elan SC520 System Controller with watchdog timer and GPIO
402.It Xr geodesc 4
403Geode SC1100/SCx200 IAOC watchdog timer device
404.It Xr ichwdt 4
405Intel 6300ESB ICH watchdog timer device
406.It Xr itherm 4
407Intel 3400 temperature sensor
408.It Xr kate 4
409AMD K8 temperature sensor
410.It Xr km 4
411AMD K10 temperature sensor
412.It Xr pchtemp 4
413Intel PCH temperature sensor
414.It Xr pwdog 4
415Quancom PWDOG1 watchdog timer device
416.It Xr viapm 4
417VIA SMBus controller and VIA VT82C686A/VT8231 hardware monitor
418.It Xr wdt 4
419ICS PCI-WDT500/501 watchdog timer device
420.El
421.Ss Miscellaneous devices
422.Bl -tag -width "piixpcib(4)" -offset ind -compact
423.It Xr alipm 4
424Acer Labs M7101 SMBus controller
425.It Xr amas 4
426AMD memory address map
427.It Xr amdiic 4
428AMD-8111 SMBus controller
429.It Xr amdpcib 4
430AMD-8111 series LPC bridge and timecounter
431.It Xr amdpm 4
432AMD-756/766/768/8111 Power Management and SMBus controller
433.It Xr bktr 4
434Brooktree Bt848/849/878/879
435.Tn PCI
436TV tuners and video capture boards
437.It Xr cbb 4
438.Tn PCI
439Yenta compatible
440.Tn CardBus
441bridges
442.It Xr ehci 4
443USB Enhanced Host Controller Interface
444.It Xr gcu 4
445Intel EP80579 Global Configuration Unit
446.It Xr glxpcib 4
447CS5536 PCI-ISA Bridge with timecounter, watchdog timer, and GPIO
448.It Xr gscpcib 4
449National Semiconductor Geode SC1100 PCI-ISA bridge with GPIO
450.It Xr hpb 4
451.Tn HyperTransport Ns \- Ns Tn PCI bridge
452.It Xr ichiic 4
453Intel ICH SMBus controller
454.It Xr nviic 4
455NVIDIA nForce2/3/4 SMBus controller
456.It Xr ohci 4
457USB Open Host Controller Interface
458.It Xr pcib 4
459PCI-ISA bridge
460.It Xr pcic 4
461.Tn PCI
462.Tn PCMCIA
463controllers, including the Cirrus Logic GD6729
464.It Xr piixpcib 4
465Intel PIIX4 ISA bridges
466.It Xr piixpm 4
467Intel PIIX SMBus controller
468.It Xr ppb 4
469.Tn PCI Ns \- Ns Tn PCI bridge
470.It Xr rtsx 4
471Realtek SD card reader
472.It Xr sdhc 4
473SD Host Controller
474.It Xr ssio 4
475National Semiconductor PC87560 Legacy IO
476.It Xr tcpcib 4
477Intel Atom E600 series LPC bridge and watchdog timer
478.It Xr uhci 4
479USB Universal Host Controller Interface
480.It Xr viapm 4
481VIA SMBus controller
482.It Xr virtio 4
483VirtIO support driver
484.El
485.Sh IOCTLS
486If the kernel is compiled with the
487.Va USER_PCICONF
488kernel option, the following
489.Xr ioctl 2
490calls are supported by the
491.Nm
492driver.
493They are defined in the header file
494.In sys/pciio.h .
495.Bl -tag -width Ds
496.It PCIOCREAD Fa "struct pci_io *"
497This
498.Xr ioctl 2
499reads the
500.Tn PCI
501configuration registers specified by the passed-in
502.Va pci_io
503structure.
504The
505.Va pci_io
506structure consists of the following fields:
507.Bl -tag -width pi_width
508.It pi_sel
509A
510.Va pcisel
511structure which specifies the bus, slot and function the user would like to
512query.
513.It pi_reg
514The
515.Tn PCI
516configuration register the user would like to access.
517.It pi_width
518The width, in bytes, of the data the user would like to read.
519This value can be only 4.
520.It pi_data
521The data returned by the kernel.
522.El
523.It PCIOCWRITE Fa "struct pci_io *"
524This
525.Xr ioctl 2
526allows users to write to the
527.Tn PCI
528device specified in the passed-in
529.Va pci_io
530structure.
531The
532.Va pci_io
533structure is described above.
534The limitations on data width described for
535reading registers, above, also apply to writing
536.Tn PCI
537configuration registers.
538.It PCIOCGETROM Fa "struct pci_rom *"
539This
540.Xr ioctl 2
541allows users to read the contents of the
542.Tn PCI
543ROM specified in the passed-in
544.Va pci_rom
545structure.
546The
547.Va pci_rom
548structure consists of the following fields:
549.Bl -tag -width pr_romlen
550.It pr_sel
551A
552.Va pcisel
553structure which specifies the bus, slot and function the user would like to
554query.
555.It pr_romlen
556Size of the buffer to store the contents of the ROM.
557Upon return, this field will contain the size of the ROM
558.It pr_rom
559The address of the buffer to store the contents of the ROM.
560.El
561.Pp
562If the ROM is larger than the specified buffer size,
563.Dv ENOMEM
564will be returned.
565.El
566.Sh FILES
567.Bl -tag -width /dev/pci* -compact
568.It Pa /dev/pci*
569Character device for the
570.Nm
571driver.
572.El
573.Sh SEE ALSO
574.Xr intro 4 ,
575.Xr pcidump 8
576.Sh HISTORY
577The machine-independent
578.Tn PCI
579subsystem appeared in
580.Ox 1.2 .
581