xref: /netbsd-src/share/man/man4/pci.4 (revision e6cdeaa0349b8bd621fd0b0acd42f254efb4b482)
1.\"	$NetBSD: pci.4,v 1.125 2024/09/03 19:47:28 andvar 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 July 10, 2022
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 pdcsata 4
179Promise Serial-ATA disk controllers.
180.It Xr pciide 4
181IDE disk controllers.
182.It Xr rtsx 4
183Realtek SD card readers.
184.It Xr svwsata 4
185Serverworks Serial ATA disk controllers.
186.It Xr twa 4
1873ware Apache RAID controllers.
188.It Xr twe 4
1893Ware Escalade RAID controllers.
190.It Xr viaide 4
191AMD, NVIDIA and VIA IDE disk controllers.
192.El
193.Ss Wired network interfaces
194.Bl -tag -width pcdisplay(4) -offset indent
195.It Xr alc 4
196Atheros AR813x/AR815x/AR816x/AR817x and Killer E2200/2400/2500
19710/100/1000 Ethernet interfaces.
198.It Xr ale 4
199Atheros AR8121/AR8113/AR8114 (Attansic L1E) 10/100/1000 Ethernet
200interfaces.
201.It Xr aq 4
202Aquantia AQC multigigabit Ethernet interfaces.
203.It Xr bge 4
204Broadcom BCM57xx/BCM590x 10/100/1000 Ethernet interfaces.
205.It Xr bnx 4
206Broadcom NetXtreme II 10/100/1000 Ethernet interfaces.
207.It Xr ena 4
208Elastic Network Adapter interfaces.
209.It Xr ep 4
2103Com 3c590, 3c595, 3c900, and 3c905 Ethernet interfaces.
211.It Xr epic 4
212SMC83C170 (EPIC/100) Ethernet interfaces.
213.It Xr et 4
214Agere/LSI ET1310/ET1301 10/100/1000 Ethernet interfaces.
215.It Xr ex 4
2163Com 3c900, 3c905, and 3c980 Ethernet interfaces.
217.It Xr fxp 4
218Intel EtherExpress PRO 10+/100B Ethernet interfaces.
219.It Xr gsip 4
220National Semiconductor DP83820 based Gigabit Ethernet interfaces.
221.It Xr hme 4
222Sun Microelectronics STP2002-STQ Ethernet interfaces.
223.It Xr ixg 4
224Intel 82598EB, 82599, X540 and X550 10 Gigabit Ethernet interfaces.
225.It Xr ixl 4
226Intel 700 series Ethernet interfaces.
227.It Xr jme 4
228JMicron Technologies JMC250/JMC260 Ethernet interfaces.
229.It Xr le 4
230PCNet-PCI Ethernet interfaces.
231Note, the
232.Xr pcn 4
233driver supersedes this driver.
234.It Xr lii 4
235Attansic/Atheros L2 Fast-Ethernet interfaces.
236.It Xr mcx 4
237Mellanox 5th generation Ethernet devices.
238.It Xr msk 4
239Marvell Yukon 2 based Gigabit Ethernet interfaces.
240.It Xr ne 4
241NE2000-compatible Ethernet interfaces.
242.It Xr nfe 4
243NVIDIA nForce Ethernet interfaces.
244.It Xr ntwoc 4
245SDL Communications N2pci and WAN/ic 400 synchronous serial interfaces.
246.It Xr pcn 4
247AMD PCnet-PCI family of Ethernet interfaces.
248.It Xr re 4
249Realtek 10/100/1000 Ethernet adapters.
250.It Xr rge 4
251Realtek RTL8125-based Ethernet interfaces.
252.It Xr rtk 4
253Realtek 8129/8139 based Ethernet interfaces.
254.It Xr sf 4
255Adaptec AIC-6915 10/100 Ethernet interfaces.
256.It Xr sip 4
257Silicon Integrated Systems SiS 900, SiS 7016, and National Semiconductor
258DP83815 based Ethernet interfaces.
259.It Xr sk 4
260SysKonnect SK-98xx based Gigabit Ethernet interfaces.
261.It Xr ste 4
262Sundance ST-201 10/100 based Ethernet interfaces.
263.It Xr stge 4
264Sundance/Tamarack TC9021 based Gigabit Ethernet interfaces.
265.It Xr ti 4
266Alteon Networks Tigon I and Tigon II Gigabit Ethernet driver.
267.It Xr tl 4
268Texas Instruments ThunderLAN-based Ethernet interfaces.
269.It Xr tlp 4
270DECchip 21x4x and clone Ethernet interfaces.
271.It Xr vge 4
272VIA Networking Technologies VT6122 PCI Gigabit Ethernet adapter driver.
273.It Xr vmx 4
274VMware VMXNET3 virtual Ethernet interfaces.
275.It Xr vr 4
276VIA VT3043 (Rhine) and VT86C100A (Rhine-II) Ethernet interfaces.
277.It Xr wm 4
278Intel i8254x Gigabit Ethernet driver.
279.El
280.Ss Wireless network interfaces
281.Bl -tag -width pcdisplay(4) -offset indent
282.It Xr an 4
283Aironet 4500/4800 and Cisco 340 series 802.11 interfaces.
284.It Xr atw 4
285ADMtek ADM8211 IEEE 802.11b PCI/CardBus wireless network interfaces.
286.It Xr ath 4
287Atheros IEEE 802.11a/b/g wireless network interfaces.
288.It Xr athn 4
289Atheros IEEE 802.11a/b/g/n wireless network interfaces.
290.It Xr bwi 4
291Broadcom BCM430x/4318 IEEE 802.11b/g wireless network interfaces.
292.It Xr bwfm 4
293Broadcom and Cypress FullMAC wireless network interfaces.
294.It Xr ipw 4
295Intel PRO/Wireless 2100 MiniPCI network interfaces.
296.It Xr iwi 4
297Intel PRO/Wireless 2200BG and 2915ABG MiniPCI network interfaces.
298.It Xr iwm 4
299Intel Dual Band Wireless AC PCIe Mini Card network interfaces.
300.It Xr iwn 4
301Intel Wireless WiFi Link 4965/5000/1000 and Centrino Wireless-N 1000/2000/6000
302PCIe Mini network interfaces.
303.It Xr malo 4
304Marvell Libertas 88W8335/88W8310/88W8385 802.11b/g wireless network interfaces.
305.It Xr ral 4
306Ralink Technology RT2500/RT2600-based 802.11a/b/g wireless network interfaces.
307.It Xr rtw 4
308Realtek RTL8180L 802.11b wireless network interfaces.
309.It Xr rtwn 4
310Realtek RTL8188CE/RTL8192CE 802.11b/g/n wireless network interfaces.
311.It Xr wi 4
312WaveLAN/IEEE and PRISM-II 802.11 wireless interfaces.
313.It Xr wpi 4
314Intel PRO/Wireless 3945ABG Mini PCI Express network adapters.
315.El
316.Ss Cellular WAN interfaces
317.Bl -tag -width pcdisplay(4) -offset indent
318.It Xr wwanc 4
319Intel XMM 7360 LTE modem.
320.El
321.Ss Serial interfaces
322.Bl -tag -width pcdisplay(4) -offset indent
323.It Xr cy 4
324Cyclades Cyclom-4Y, -8Y, and -16Y multi-port serial interfaces.
325.It Xr cz 4
326Cyclades-Z series multi-port serial interfaces.
327.El
328.Ss Audio devices
329.Bl -tag -width pcdisplay(4) -offset indent
330.It Xr auacer 4
331Acer Labs M5455 I/O Controller Hub integrated AC'97 audio device.
332.It Xr auich 4
333Intel I/O Controller Hub integrated AC'97 audio device.
334.It Xr auvia 4
335VIA VT82C686A integrated AC'97 audio device.
336.It Xr autri 4
337Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 AC'97 audio device.
338.It Xr clcs 4
339Cirrus Logic CS4280 audio device.
340.It Xr clct 4
341Cirrus Logic CS4281 audio device.
342.It Xr cmpci 4
343C-Media CMI8x38 audio device.
344.It Xr eap 4
345Ensoniq AudioPCI audio device.
346.It Xr emuxki 4
347Creative Labs SBLive! and PCI 512 audio device.
348.It Xr esa 4
349ESS Technology Allegro-1 / Maestro-3 audio device.
350.It Xr esm 4
351ESS Maestro-1/2/2e PCI AC'97 Audio Accelerator audio device.
352.It Xr eso 4
353ESS Solo-1 PCI AudioDrive audio device.
354.It Xr fms 4
355Forte Media FM801 audio device.
356.It Xr hdaudio 4
357High Definition Audio Specification 1.0 device.
358.It Xr neo 4
359NeoMagic MagicMedia 256 audio device.
360.It Xr sv 4
361S3 SonicVibes audio device.
362.It Xr yds 4
363Yamaha YMF724/740/744/754-based audio device.
364.El
365.Ss Bridges
366.Bl -tag -width pcdisplay(4) -offset indent
367.It Xr cbb 4
368PCI Yenta compatible CardBus bridges.
369.It Xr pceb 4
370Generic PCI-EISA bridges; see
371.Xr eisa 4 .
372.It Xr pcib 4
373Generic PCI-ISA bridges; see
374.Xr isa 4 .
375.It Xr ppb 4
376Generic PCI bridges, including expansion backplanes.
377.El
378.Ss Miscellaneous devices
379.Bl -tag -width pcdisplay(4) -offset indent
380.It Xr bktr 4
381Brooktree 848 compatible TV cards.
382.It Xr ehci 4
383USB EHCI host controllers.
384.It Xr gtp 4
385Gemtek PCI FM radio devices.
386.It Xr ibmcd 4
387IBM 4810 BSP cash drawer ports.
388.It Xr iop 4
389I2O I/O processors.
390.It Xr oboe 4
391Toshiba OBOE IrDA SIR/FIR controller.
392.It Xr ohci 4
393USB OHCI host controllers.
394.It Xr pcic 4
395PCMCIA controllers, including the Cirrus Logic GD6729.
396.It Xr puc 4
397PCI
398.Dq universal
399communications cards, containing
400.Xr com 4
401and
402.Xr lpt 4
403communications ports.
404.It Xr uhci 4
405USB UHCI host controllers.
406.It Xr virtio 4
407Para-virtualized I/O in a virtual machine.
408.It Xr vga 4
409VGA graphics boards.
410.It Xr xhci 4
411USB XHCI host controllers.
412.El
413.Sh SEE ALSO
414.Xr pci 3 ,
415.Xr agp 4 ,
416.Xr intro 4 ,
417.Xr pcictl 8 ,
418.Xr pci 9
419.Sh HISTORY
420The machine-independent PCI subsystem appeared in
421.Nx 1.2 .
422