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