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