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