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