xref: /openbsd-src/share/man/man4/pci.4 (revision d13be5d47e4149db2549a9828e244d59dbc43f15)
1.\"	$OpenBSD: pci.4,v 1.305 2011/06/20 05:32:09 deraadt 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: June 20 2011 $
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 "# armish"
53.Cd "pci* at iopxs0"
54.Pp
55.Cd "# hppa"
56.Cd "pci* at dino?"
57.Cd "pci* at elroy?"
58.Pp
59.Cd "# landisk"
60.Cd "pci* at shpcic?"
61.Pp
62.Cd "# loongson"
63.Cd "pci* at bonito?"
64.Pp
65.Cd "# macppc"
66.Cd "pci* at mpcpcibr?"
67.Cd "pci* at ht?"
68.Pp
69.Cd "# sgi"
70.Cd "pci* at macepcibr?"
71.Cd "pci* at xbridge?"
72.Pp
73.Cd "# sparc64"
74.Cd "pci* at psycho?"
75.Cd "pci* at schizo?"
76.Cd "pci* at pyro?"
77.Cd "pci* at vpci?"
78.Pp
79.Cd "# all architectures"
80.Cd "pci* at pchb?"
81.Cd "pci* at ppb?"
82.Sh DESCRIPTION
83The system includes a machine-independent
84.Tn PCI
85bus subsystem and
86several machine-independent
87.Tn PCI
88device drivers.
89.Pp
90Note that interrupt mappings on the i386 may require that you configure
91your BIOS to reserve sufficient interrupts as "PCI/ISAPnP" so that there
92are sufficient interrupts remaining to configure the discovered PCI
93devices.
94For more information, see
95.Xr pcibios 4 .
96.Pp
97.Ox
98provides support for the following devices.
99Note that not all architectures support all devices.
100.Ss SCSI host adapters
101.Bl -tag -width 10n -offset ind -compact
102.It Xr adv 4 , Xr adw 4
103AdvanSys PCI SCSI interface
104.It Xr ahc 4
105Adaptec VL/EISA/PCI SCSI interface
106.It Xr ahd 4
107Adaptec PCI/PCI-X AIC79xx-based Ultra320 SCSI interface
108.It Xr bha 4
109Buslogic SCSI interface
110.It Xr iha 4
111Initio INIC-940/950 based PCI SCSI interface
112.It Xr isp 4
113QLogic based SCSI or Fibre Channel 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 pcscp 4
119Advanced Micro Devices Am53c974 PCscsi-PCI SCSI interface
120.It Xr siop 4
121LSI/Symbios Logic/NCR 53c8xx SCSI interface
122.It Xr sli 4
123Emulex LightPulse Fibre Channel SCSI interface
124.It Xr trm 4
125TRM-S1040 based PCI SCSI interface
126.El
127.Ss IDE disk controllers
128.Bl -tag -width 10n -offset ind -compact
129.It Xr ahci 4
130Advanced Host Controller Interface for Serial ATA
131.It Xr jmb 4
132JMicron JMB36x SATA II and PATA Host Controller
133.It Xr pciide 4
134PCI IDE controller driver
135.It Xr sili 4
136Silicon Image 3124/3132/3531 SATA controller
137.El
138.Ss RAID and cache controllers
139.Bl -tag -width 10n -offset ind -compact
140.It Xr aac 4
141Adaptec SAS/SATA/SCSI RAID controller
142.It Xr ami 4
143American Megatrends Inc. MegaRAID PATA/SATA/SCSI RAID controller
144.It Xr arc 4
145Areca Technology Corporation SAS/SATA RAID controller
146.It Xr cac 4
147Compaq Smart ARRAY 2/3/4 SCSI RAID controller
148.It Xr ciss 4
149Compaq Smart ARRAY 5/6 SAS/SATA/SCSI RAID controller
150.It Xr dpt 4
151DPT EATA SCSI RAID controller
152.It Xr gdt 4
153ICP-Vortex and Intel GDT SATA/SCSI RAID controller
154.It Xr iop 4
155.Tn I2O
156.Tn RAID
157controller
158.It Xr ips 4
159IBM SATA/SCSI ServeRAID controller
160.It Xr mfi 4
161LSI Logic & Dell MegaRAID SAS RAID controller
162.It Xr twe 4
1633ware 5000/6000/7000/8000 series PATA/SATA RAID controller
164.El
165.Ss Wired network interfaces
166.Bl -tag -width 10n -offset ind -compact
167.It Xr age 4
168Attansic L1 10/100/Gigabit Ethernet device
169.It Xr alc 4
170Atheros AR813x/AR815x 10/100/Gigabit Ethernet device
171.It Xr ale 4
172Atheros AR8121/AR8113/AR8114 10/100/Gigabit Ethernet device
173.It Xr art 4
174Accoom Networks Artery T1/E1 network device
175.It Xr bce 4
176Broadcom BCM4401 10/100 Ethernet device
177.It Xr bge 4
178Broadcom BCM57xx/BCM590x 10/100/Gigabit Ethernet device
179.It Xr bnx 4
180Broadcom NetXtreme II 10/100/Gigabit Ethernet device
181.It Xr cas 4
182Sun Cassini 10/100/Gigabit Ethernet device
183.It Xr dc 4
184DEC/Intel 21140/21142/21143/21145 and clones 10/100 Ethernet device
185.It Xr de 4
186DEC DC21x4x (Tulip) 10/100 Ethernet device
187.It Xr em 4
188Intel PRO/1000 10/100/Gigabit Ethernet device
189.\" .It Xr en 4
190.\" Midway-based Efficient Networks Inc.\&
191.\" and Adaptec ATM interfaces
192.It Xr ep 4
1933Com EtherLink III and Fast EtherLink III 10/100 Ethernet device
194.It Xr epic 4
195SMC 83C170 (EPIC/100) 10/100 Ethernet device
196.It Xr et 4
197Agere/LSI ET1310 10/100/Gigabit Ethernet device
198.It Xr fpa 4
199.Tn DEC
200DEFPA/DEFEA/DEFTA
201.Tn FDDI
202network 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 PCI Express 10Gb Ethernet device
211.It Xr ixgb 4
212Intel PRO/10GbE 10Gb Ethernet device
213.It Xr jme 4
214JMicron JMC250/JMC260 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 lmc 4
220Lan Media Corporation
221.Tn SSI/T1/DS1/HSSI/DS3
222card device
223.It Xr msk 4
224Marvell Yukon-2 10/100/Gigabit Ethernet device
225.It Xr mtd 4
226Myson Technology MTD800/MTD803/MTD891 10/100/Gigabit Ethernet device
227.It Xr myx 4
228Myricom Myri-10G PCI Express 10Gb Ethernet device
229.It Xr ne 4
230NE2000 and compatible 10/100 Ethernet device
231.It Xr nfe 4
232NVIDIA nForce MCP 10/100/Gigabit Ethernet device
233.It Xr nge 4
234National Semiconductor PCI 10/100/Gigabit 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 san 4
242Sangoma Technologies AFT T1/E1 network device
243.It Xr se 4
244SiS 190/191 10/100/Gigabit Ethernet device
245.It Xr sf 4
246Adaptec AIC-6915 "Starfire" PCI 10/100 Ethernet device
247.It Xr sis 4
248SiS 900, SiS 7016, and NS DP83815/6 10/100 Ethernet device
249.It Xr sk 4
250SysKonnect XMAC II and Marvell Yukon 10/100/Gigabit Ethernet device
251.It Xr ste 4
252Sundance Technologies ST201 10/100 Ethernet device
253.It Xr stge 4
254Sundance/Tamarack TC9021 Gigabit Ethernet device
255.It Xr tht 4
256Tehuti Networks 10Gb Ethernet device
257.It Xr ti 4
258Alteon Networks Tigon I and II Gigabit Ethernet device
259.It Xr tl 4
260Texas Instruments ThunderLAN 10/100 Ethernet device
261.It Xr txp 4
2623Com 3XP Typhoon/Sidewinder (3CR990) 10/100 Ethernet device
263.It Xr vic 4
264VMware VMXnet Virtual Interface Controller device
265.It Xr vge 4
266VIA VT6122 PCI 10/100/Gigabit Ethernet device
267.It Xr vr 4
268VIA VT3043/VT86C100A/VT6105/VT6105M 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/g/n wireless network device
288.It Xr atw 4
289ADMtek ADM8211 IEEE 802.11b wireless network device
290.It Xr bwi 4
291Broadcom AirForce IEEE 802.11b/g wireless network device
292.It Xr ipw 4
293Intel PRO/Wireless 2100 IEEE 802.11b wireless network device
294.It Xr iwi 4
295Intel
296PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11a/b/g wireless network device
297.It Xr iwn 4
298Intel WiFi Link 4965/5000/1000/6000
299IEEE 802.11a/g/n wireless network devices
300.It Xr malo 4
301Marvell Libertas IEEE 802.11b/g wireless network device
302.It Xr pgt 4
303Conexant/Intersil Prism GT Full-MAC IEEE 802.11a/b/g wireless network device
304.It Xr ral 4
305Ralink Technology IEEE 802.11a/g/n wireless network device
306.It Xr rtw 4
307Realtek RTL8180L IEEE 802.11b 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 lofn 4
321Hifn 6500 crypto accelerator
322.It Xr noct 4
323NetOctave NSP2000 crypto accelerator
324.It Xr nofn 4
325Hifn 7814/7851/7854 HIPP1 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 ``universal'' communications card driver
339.El
340.Ss Display adapters
341.Bl -tag -width 10n -offset ind -compact
342.It Xr sti 4
343HP Standard Text Interface
344.It Xr tga 4
345TGA graphics driver
346.It Xr vga 4
347VGA graphics cards
348.El
349.Ss Audio devices
350.Bl -tag -width 10n -offset ind -compact
351.It Xr auacer 4
352Acer Labs I/O Controller Hub integrated AC'97 audio device
353.It Xr auglx 4
354AMD Geode LX CS5536 integrated AC'97 audio device
355.It Xr auich 4
356Intel ICH integrated AC'97 audio device
357.It Xr auixp 4
358ATI SB200/SB300/SB400/SB600 integrated AC'97 audio device
359.It Xr autri 4
360Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 audio device
361.It Xr auvia 4
362VIA VT82C686A/VT8233/VT8235/VT8237 integrated AC'97 audio device
363.It Xr azalia 4
364generic High Definition Audio device
365.It Xr clcs 4
366Cirrus Logic CS4280/CS4610/CS4615 audio device
367.It Xr clct 4
368Cirrus Logic CS4281 audio device
369.It Xr cmpci 4
370C-Media CMI8338/CMI8738/CMI8768 PCI audio device
371.It Xr eap 4
372Ensoniq AudioPCI audio device
373.It Xr emu 4
374Creative Labs SBLive!, PCI 512, and Audigy audio device
375.It Xr envy 4
376VIA Envy24 audio device
377.It Xr esa 4
378ESS Technology Allegro-1/Maestro-3 family audio device
379.It Xr eso 4
380ESS Technology Solo-1 PCI AudioDrive audio device
381.It Xr fms 4
382Forte Media FM801 audio device
383.It Xr maestro 4
384ESS Maestro 1 and 2 audio device
385.It Xr neo 4
386NeoMagic 256AV/ZX audio device
387.It Xr sv 4
388S3 SonicVibes audio device
389.It Xr yds 4
390Yamaha DS-XG audio device
391.El
392.Ss Time receiver devices
393.Bl -tag -width 10n -offset ind -compact
394.It Xr mbg 4
395Meinberg Funkuhren timedelta sensor
396.El
397.Ss Radio receiver devices
398.Bl -tag -width 10n -offset ind -compact
399.It Xr fms 4
400Forte Media FM801 audio device
401.It Xr gtp 4
402Gemtek PCI FM radio 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 pwdog 4
421Quancom PWDOG1 watchdog timer device
422.It Xr viapm 4
423VIA SMBus controller and VIA VT82C686A/VT8231 hardware monitor
424.It Xr wdt 4
425ICS PCI-WDT500/501 watchdog timer device
426.El
427.Ss Miscellaneous devices
428.Bl -tag -width "piixpcib(4)" -offset ind -compact
429.It Xr alipm 4
430Acer Labs M7101 SMBus controller
431.It Xr amas 4
432AMD memory address map
433.It Xr amdiic 4
434AMD-8111 SMBus controller
435.It Xr amdpcib 4
436AMD-8111 series LPC bridge and timecounter
437.It Xr amdpm 4
438AMD-756/766/768/8111 Power Management and SMBus controller
439.It Xr bktr 4
440Brooktree Bt848/849/878/879
441.Tn PCI
442TV tuners and video capture boards
443.It Xr cbb 4
444.Tn PCI
445Yenta compatible
446.Tn CardBus
447bridges
448.It Xr ehci 4
449USB Enhanced Host Controller Interface
450.It Xr gcu 4
451Intel EP80579 Global Configuration Unit
452.It Xr glxpcib 4
453CS5536 PCI-ISA Bridge with timecounter, watchdog timer, and GPIO
454.It Xr gscpcib 4
455National Semiconductor Geode SC1100 PCI-ISA bridge with GPIO
456.It Xr ichiic 4
457Intel ICH SMBus controller
458.It Xr nviic 4
459NVIDIA nForce2/3/4 SMBus controller
460.It Xr ohci 4
461USB Open Host Controller Interface
462.It Xr pcib 4
463PCI-ISA bridge
464.It Xr pcic 4
465.Tn PCI
466.Tn PCMCIA
467controllers, including the Cirrus Logic GD6729
468.It Xr piixpcib 4
469Intel PIIX4 ISA bridges
470.It Xr piixpm 4
471Intel PIIX SMBus controller
472.It Xr ppb 4
473Generic
474.Tn PCI Ns \- Ns Tn PCI
475bridges, including
476.Tn PCI
477expansion backplanes
478.It Xr sdhc 4
479SD Host Controller
480.It Xr ssio 4
481National Semiconductor PC87560 Legacy IO
482.It Xr uhci 4
483USB Universal Host Controller Interface
484.It Xr viapm 4
485VIA SMBus controller
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.Aq Pa sys/pciio.h .
497.Bl -tag -width 012345678901234
498.It PCIOCREAD
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
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
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