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