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