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