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