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