xref: /netbsd-src/share/man/man4/pci.4 (revision 53d1339bf7f9c7367b35a9e1ebe693f9b047a47b)
1.\"	$NetBSD: pci.4,v 1.119 2021/03/17 14:10:29 nia Exp $
2.\"
3.\" Copyright (c) 1997 Jason R. Thorpe.  All rights reserved.
4.\" Copyright (c) 1997 Jonathan Stone
5.\" All rights reserved.
6.\"
7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions
9.\" are met:
10.\" 1. Redistributions of source code must retain the above copyright
11.\"    notice, this list of conditions and the following disclaimer.
12.\" 2. Redistributions in binary form must reproduce the above copyright
13.\"    notice, this list of conditions and the following disclaimer in the
14.\"    documentation and/or other materials provided with the distribution.
15.\" 3. All advertising materials mentioning features or use of this software
16.\"    must display the following acknowledgements:
17.\"      This product includes software developed by Jonathan Stone
18.\" 4. The name of the author may not be used to endorse or promote products
19.\"    derived from this software without specific prior written permission
20.\"
21.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31.\"
32.Dd March 17, 2021
33.Dt PCI 4
34.Os
35.Sh NAME
36.Nm pci
37.Nd introduction to machine-independent PCI bus support and drivers
38.Sh SYNOPSIS
39.Cd "pci* at mainbus? bus ?"
40.Cd "pci* at pchb? bus ?"
41.Cd "pci* at ppb? bus ?"
42.Pp
43.Cd options PCIVERBOSE
44.Cd options PCI_CONFIG_DUMP
45.Cd options PCI_ADDR_FIXUP
46.Cd options PCI_BUS_FIXUP
47.Cd options PCI_INTR_FIXUP
48.Sh DESCRIPTION
49.Nx
50includes a machine-independent PCI bus subsystem and several
51machine-independent PCI device drivers.
52.Pp
53Your system may support additional PCI devices and attachments.
54Drivers for PCI devices not listed here are machine-dependent.
55Consult your system's
56.Xr intro 4
57for additional information.
58.Sh OPTIONS
59.Bl -tag -width PCI_ADDR_FIXUP -offset 3n
60.It Dv PCI_ADDR_FIXUP
61Fixup PCI I/O and memory addresses.
62.Pp
63Some i386 and amd64 BIOS implementations don't allocate I/O space and
64memory space for some PCI devices \(em primarily BIOS in PnP mode, or laptops
65that expect devices to be configured via ACPI.
66Since necessary space isn't allocated, those devices
67will not work without special handling.
68.Pp
69This option allocates I/O space and memory space
70instead of relying upon the BIOS to do so.
71.Pp
72If necessary space is already correctly assigned to the devices,
73this option leaves the space as is.
74.It Dv PCI_BUS_FIXUP
75Fixup PCI bus numbering; needed for many
76.Xr cardbus 4
77bridges.
78.Pp
79Each PCI bus and CardBus should have a unique bus number.
80But some BIOS implementations don't assign a bus number
81for subordinate PCI buses.
82And many BIOS implementations
83don't assign a bus number for CardBuses.
84.Pp
85A typical symptom of this is the following boot message:
86.D1 Sy cardbus0 at cardslot0: bus 0 device 0...
87Please note that this cardbus0 has a bus number
88.Sq 0 ,
89but normally the bus number 0 is used by the machine's
90primary PCI bus.
91Thus, this bus number for cardbus is incorrect
92.Pq not assigned .
93In this situation, a device located in cardbus0 doesn't
94show correct device ID,
95because its bus number 0 incorrectly refers to the primary
96PCI bus, and a device ID in the primary PCI bus is shown
97in the boot message instead of the device's ID in the cardbus0.
98.Pp
99This option assigns bus numbers for all subordinate
100PCI buses and CardBuses.
101.Pp
102Since this option renumbers all PCI buses and CardBuses,
103all bus numbers of subordinate buses become different
104when this option is enabled.
105.It Dv PCI_INTR_FIXUP
106Fixup PCI interrupt routing via PCIBIOS or ACPI.
107.Pp
108Some i386 and amd64 BIOS implementations don't assign an interrupt for
109some devices.
110.Pp
111This option assigns an interrupt for such devices instead
112of relying upon the BIOS to do so.
113.Pp
114If a valid interrupt has already been assigned to a device, this
115option leaves the interrupt as is.
116.El
117.Sh HARDWARE
118.Nx
119includes machine-independent PCI drivers, sorted by device type and driver name:
120.Ss SCSI interfaces
121.Bl -tag -width pcdisplay(4) -offset indent
122.It Xr ahc 4
123Adaptec 29xx, 39xx, and other AIC-7xxx-based SCSI
124interfaces.
125.It Xr adv 4
126Advansys SCSI interfaces.
127.It Xr adw 4
128Advansys Ultra Wide SCSI interfaces.
129.It Xr bha 4
130Buslogic BT-9xx SCSI interfaces.
131.It Xr dpt 4
132DPT SmartCache/SmartRAID III and IV SCSI interfaces.
133.It Xr iha 4
134Initio INIC-940/950 SCSI interfaces.
135.It Xr isp 4
136QLogic ISP-1020, ISP-1040, and ISP-2100 SCSI and FibreChannel interfaces.
137.It Xr mfi 4
138LSI Logic & Dell MegaRAID SAS RAID controllers.
139.It Xr mly 4
140Mylex AcceleRAID and eXtremeRAID controllers with v6 firmware.
141.It Xr mpii 4
142LSI Logic Fusion-MPT Message Passing Interface II SAS controllers.
143.It Xr mpt 4
144LSI Logic Fusion-MPT SCSI/Fibre Channel/SAS controllers.
145.It Xr nca 4
146Domex 536 SCSI interfaces.
147.It Xr pcscp 4
148Advanced Micro Devices Am53c974 PCscsi-PCI SCSI interfaces.
149.It Xr siop 4
150Symbios Logic/NCR 53c8xx-family SCSI interfaces.
151.It Xr trm 4
152Tekram TRM-S1040 ASIC based SCSI interfaces.
153.El
154.Ss Storage controllers
155.Bl -tag -width pcdisplay(4) -offset indent
156.It Xr aac 4
157The Adaptec AAC family of RAID controllers.
158.It Xr ahcisata 4
159AHCI 1.0 and 1.1 compliant SATA controllers.
160.It Xr amr 4
161The AMI and LSI Logic MegaRAID family of RAID controllers.
162.It Xr arcmsr 4
163Areca Technology Corporation SATA/SAS RAID controllers.
164.It Xr cac 4
165Compaq array controllers.
166.It Xr ciss 4
167HP/Compaq Smart ARRAY 5/6 RAID controllers.
168.It Xr icp 4
169ICP Vortex GDT and Intel Storage RAID controllers.
170.It Xr ixpide 4
171ATI Technologies IXP IDE controllers
172.It Xr mlx 4
173Mylex DAC960 and DEC SWXCR RAID controllers.
174.It Xr nside 4
175National Semiconductor PC87415 PCI-IDE controllers.
176.It Xr nvme 4
177Non-Volatile Memory (NVM Express) host controllers.
178.It Xr pciide 4
179IDE disk controllers.
180.It Xr rtsx 4
181Realtek SD card readers.
182.It Xr svwsata 4
183Serverworks Serial ATA disk controllers.
184.It Xr twa 4
1853ware Apache RAID controllers.
186.It Xr twe 4
1873Ware Escalade RAID controllers.
188.It Xr viaide 4
189AMD, NVIDIA and VIA IDE disk controllers.
190.El
191.Ss Wired network interfaces
192.Bl -tag -width pcdisplay(4) -offset indent
193.It Xr alc 4
194Atheros AR813x/AR815x/AR816x/AR817x and Killer E2200/2400/2500
19510/100/1000 Ethernet interfaces.
196.It Xr ale 4
197Atheros AR8121/AR8113/AR8114 (Attansic L1E) 10/100/1000 Ethernet
198interfaces.
199.It Xr aq 4
200Aquantia AQC multigigabit Ethernet interfaces.
201.It Xr bge 4
202Broadcom BCM57xx/BCM590x 10/100/1000 Ethernet interfaces.
203.It Xr bnx 4
204Broadcom NetXtreme II 10/100/1000 Ethernet interfaces.
205.It Xr ena 4
206Elastic Network Adapter interfaces.
207.It Xr ep 4
2083Com 3c590, 3c595, 3c900, and 3c905 Ethernet interfaces.
209.It Xr epic 4
210SMC83C170 (EPIC/100) Ethernet interfaces.
211.It Xr et 4
212Agere/LSI ET1310/ET1301 10/100/1000 Ethernet interfaces.
213.It Xr ex 4
2143Com 3c900, 3c905, and 3c980 Ethernet interfaces.
215.It Xr fxp 4
216Intel EtherExpress PRO 10+/100B Ethernet interfaces.
217.It Xr gsip 4
218National Semiconductor DP83820 based Gigabit Ethernet interfaces.
219.It Xr hme 4
220Sun Microelectronics STP2002-STQ Ethernet interfaces.
221.It Xr ixg 4
222Intel 82598EB, 82599, X540 and X550 10 Gigabit Ethernet interfaces.
223.It Xr ixl 4
224Intel 700 series Ethernet interfaces.
225.It Xr jme 4
226JMicron Technologies JMC250/JMC260 Ethernet interfaces.
227.It Xr le 4
228PCNet-PCI Ethernet interfaces.
229Note, the
230.Xr pcn 4
231driver supersedes this driver.
232.It Xr lii 4
233Attansic/Atheros L2 Fast-Ethernet interfaces.
234.It Xr mcx 4
235Mellanox 5th generation Ethernet devices.
236.It Xr msk 4
237Marvell Yukon 2 based Gigabit Ethernet interfaces.
238.It Xr ne 4
239NE2000-compatible Ethernet interfaces.
240.It Xr nfe 4
241NVIDIA nForce Ethernet interfaces.
242.It Xr ntwoc 4
243SDL Communications N2pci and WAN/ic 400 synchronous serial interfaces.
244.It Xr pcn 4
245AMD PCnet-PCI family of Ethernet interfaces.
246.It Xr re 4
247Realtek 10/100/1000 Ethernet adapters.
248.It Xr rge 4
249Realtek RTL8125-based Ethernet interfaces.
250.It Xr rtk 4
251Realtek 8129/8139 based Ethernet interfaces.
252.It Xr sf 4
253Adaptec AIC-6915 10/100 Ethernet interfaces.
254.It Xr sip 4
255Silicon Integrated Systems SiS 900, SiS 7016, and National Semiconductor
256DP83815 based Ethernet interfaces.
257.It Xr sk 4
258SysKonnect SK-98xx based Gigabit Ethernet interfaces.
259.It Xr ste 4
260Sundance ST-201 10/100 based Ethernet interfaces.
261.It Xr stge 4
262Sundance/Tamarack TC9021 based Gigabit Ethernet interfaces.
263.It Xr ti 4
264Alteon Networks Tigon I and Tigon II Gigabit Ethernet driver.
265.It Xr tl 4
266Texas Instruments ThunderLAN-based Ethernet interfaces.
267.It Xr tlp 4
268DECchip 21x4x and clone Ethernet interfaces.
269.It Xr vge 4
270VIA Networking Technologies VT6122 PCI Gigabit Ethernet adapter driver.
271.It Xr vmx 4
272VMware VMXNET3 virtual Ethernet interfaces.
273.It Xr vr 4
274VIA VT3043 (Rhine) and VT86C100A (Rhine-II) Ethernet interfaces.
275.It Xr wm 4
276Intel i8254x Gigabit Ethernet driver.
277.El
278.Ss Wireless network interfaces
279.Bl -tag -width pcdisplay(4) -offset indent
280.It Xr an 4
281Aironet 4500/4800 and Cisco 340 series 802.11 interfaces.
282.It Xr atw 4
283ADMtek ADM8211 IEEE 802.11b PCI/CardBus wireless network interaces.
284.It Xr ath 4
285Atheros IEEE 802.11a/b/g wireless network interfaces.
286.It Xr athn 4
287Atheros IEEE 802.11a/b/g/n wireless network interfaces.
288.It Xr bwi 4
289Broadcom BCM430x/4318 IEEE 802.11b/g wireless network interfaces.
290.It Xr bwfm 4
291Broadcom and Cypress FullMAC wireless network interfaces.
292.It Xr ipw 4
293Intel PRO/Wireless 2100 MiniPCI network interfaces.
294.It Xr iwi 4
295Intel PRO/Wireless 2200BG and 2915ABG MiniPCI network interfaces.
296.It Xr iwm 4
297Intel Wireless 7260, 7265, and 3160 PCIe Mini Card Dual Band network interfaces.
298.It Xr iwn 4
299Intel Wireless WiFi Link 4965/5000/1000 and Centrino Wireless-N 1000/2000/6000
300PCIe Mini network interfaces.
301.It Xr malo 4
302Marvell Libertas 88W8335/88W8310/88W8385 802.11b/g wireless network interfaces.
303.It Xr ral 4
304Ralink Technology RT2500/RT2600-based 802.11a/b/g wireless network interfaces.
305.It Xr rtw 4
306Realtek RTL8180L 802.11b wireless network interfaces.
307.It Xr rtwn 4
308Realtek RTL8188CE/RTL8192CE 802.11b/g/n wireless network interfaces.
309.It Xr wi 4
310WaveLAN/IEEE and PRISM-II 802.11 wireless interfaces.
311.It Xr wpi 4
312Intel PRO/Wireless 3945ABG Mini PCI Express network adapters.
313.El
314.Ss Serial interfaces
315.Bl -tag -width pcdisplay(4) -offset indent
316.It Xr cy 4
317Cyclades Cyclom-4Y, -8Y, and -16Y multi-port serial interfaces.
318.It Xr cz 4
319Cyclades-Z series multi-port serial interfaces.
320.El
321.Ss Audio devices
322.Bl -tag -width pcdisplay(4) -offset indent
323.It Xr auacer 4
324Acer Labs M5455 I/O Controller Hub integrated AC'97 audio device.
325.It Xr auich 4
326Intel I/O Controller Hub integrated AC'97 audio device.
327.It Xr auvia 4
328VIA VT82C686A integrated AC'97 audio device.
329.It Xr autri 4
330Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 AC'97 audio device.
331.It Xr clcs 4
332Cirrus Logic CS4280 audio device.
333.It Xr clct 4
334Cirrus Logic CS4281 audio device.
335.It Xr cmpci 4
336C-Media CMI8x38 audio device.
337.It Xr eap 4
338Ensoniq AudioPCI audio device.
339.It Xr emuxki 4
340Creative Labs SBLive! and PCI 512 audio device.
341.It Xr esa 4
342ESS Technology Allegro-1 / Maestro-3 audio device.
343.It Xr esm 4
344ESS Maestro-1/2/2e PCI AC'97 Audio Accelerator audio device.
345.It Xr eso 4
346ESS Solo-1 PCI AudioDrive audio device.
347.It Xr fms 4
348Forte Media FM801 audio device.
349.It Xr hdaudio 4
350High Definition Audio Specification 1.0 device.
351.It Xr neo 4
352NeoMagic MagicMedia 256 audio device.
353.It Xr sv 4
354S3 SonicVibes audio device.
355.It Xr yds 4
356Yamaha YMF724/740/744/754-based audio device.
357.El
358.Ss Bridges
359.Bl -tag -width pcdisplay(4) -offset indent
360.It Xr cbb 4
361PCI Yenta compatible CardBus bridges.
362.It Xr ppb 4
363Generic PCI bridges, including expansion backplanes.
364.El
365.Ss Miscellaneous devices
366.Bl -tag -width pcdisplay(4) -offset indent
367.It Xr bktr 4
368Brooktree 848 compatible TV cards.
369.It Xr ehci 4
370USB EHCI host controllers.
371.It Xr ibmcd 4
372IBM 4810 BSP cash drawer ports.
373.It Xr iop 4
374I2O I/O processors.
375.It Xr oboe 4
376Toshiba OBOE IrDA SIR/FIR controller.
377.It Xr ohci 4
378USB OHCI host controllers.
379.It Xr pcic 4
380PCMCIA controllers, including the Cirrus Logic GD6729.
381.It Xr puc 4
382PCI
383.Dq universal
384communications cards, containing
385.Xr com 4
386and
387.Xr lpt 4
388communications ports.
389.It Xr uhci 4
390USB UHCI host controllers.
391.It Xr virtio 4
392Para-virtualized I/O in a virtual machine.
393.It Xr vga 4
394VGA graphics boards.
395.It Xr xhci 4
396USB XHCI host controllers.
397.El
398.Sh SEE ALSO
399.Xr pci 3 ,
400.Xr agp 4 ,
401.Xr intro 4 ,
402.Xr pcictl 8 ,
403.Xr pci 9
404.Sh HISTORY
405The machine-independent PCI subsystem appeared in
406.Nx 1.2 .
407