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