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