1pcilib(7) The PCI Utilities pcilib(7)
2
3
4
6 pcilib - a library for accessing PCI devices
7
8
10 The PCI library (also known as pcilib and libpci) is a portable library
11 for accessing PCI devices and their configuration space.
12
13
15 The library supports a variety of methods to access the configuration
16 space on different operating systems. By default, the first matching
17 method in this list is used, but you can specify override the decision
18 (see the -A switch of lspci).
19
20
21 linux-sysfs
22 The /sys filesystem on Linux 2.6 and newer. The standard header
23 of the config space is available to all users, the rest only to
24 root. Supports extended configuration space, PCI domains, VPD
25 (from Linux 2.6.26), physical slots (also since Linux 2.6.26)
26 and information on attached kernel drivers.
27
28 linux-proc
29 The /proc/bus/pci interface supported by Linux 2.1 and newer.
30 The standard header of the config space is available to all
31 users, the rest only to root.
32
33 intel-conf1
34 Direct hardware access via Intel configuration mechanism 1.
35 Available on i386 and compatibles on Linux, Solaris/x86, GNU
36 Hurd, Windows, BeOS and Haiku. Requires root privileges.
37
38 intel-conf2
39 Direct hardware access via Intel configuration mechanism 2.
40 Available on i386 and compatibles on Linux, Solaris/x86, GNU
41 Hurd, Windows, BeOS and Haiku. Requires root privileges. Warn‐
42 ing: This method is able to address only the first 16 devices on
43 any bus and it seems to be very unreliable in many cases.
44
45 mmio-conf1
46 Direct hardware access via Intel configuration mechanism 1 via
47 memory-mapped I/O. Mostly used on non-i386 platforms. Requires
48 root privileges. Warning: This method needs to be properly con‐
49 figured via the mmio-conf1.addrs parameter.
50
51 mmio-conf1-ext
52 Direct hardware access via Extended PCIe Intel configuration
53 mechanism 1 via memory-mapped I/O. Mostly used on non-i386
54 platforms. Requires root privileges. Warning: This method needs
55 to be properly configured via the mmio-conf1-ext.addrs parame‐
56 ter.
57
58 fbsd-device
59 The /dev/pci device on FreeBSD. Requires root privileges.
60
61 aix-device
62 Access method used on AIX. Requires root privileges.
63
64 nbsd-libpci
65 The /dev/pci0 device on NetBSD accessed using the local libpci
66 library.
67
68 obsd-device
69 The /dev/pci device on OpenBSD. Requires root privileges.
70
71 dump Read the contents of configuration registers from a file speci‐
72 fied in the dump.name parameter. The format corresponds to the
73 output of lspci -x.
74
75 darwin Access method used on Mac OS X / Darwin. Must be run as root and
76 the system must have been booted with debug=0x144.
77
78 win32-cfgmgr32
79 Device listing on Windows systems using the Windows Configura‐
80 tion Manager via cfgmgr32.dll system library. This method does
81 not require any special Administrator rights or privileges. Con‐
82 figuration Manager provides only basic information about de‐
83 vices, assigned resources and device tree structure. There is no
84 access to the PCI configuration space but libpci provides read-
85 only virtual emulation based on information from Configuration
86 Manager. Starting with Windows 8 (NT 6.2) it is not possible to
87 retrieve resources from 32-bit application or library on 64-bit
88 system.
89
90 win32-sysdbg
91 Access to the PCI configuration space via NT SysDbg interface on
92 Windows systems. Process needs to have Debug privilege, which
93 local Administrators have by default. Not available on 64-bit
94 systems and neither on recent 32-bit systems. Only devices from
95 the first domain are accessible and only first 256 bytes of the
96 PCI configuration space is accessible via this method.
97
98 win32-kldbg
99 Access to the PCI configuration space via Kernel Local Debugging
100 Driver kldbgdrv.sys. This driver is not part of the Windows sys‐
101 tem but is part of the Microsoft WinDbg tool. It is required to
102 have kldbgdrv.sys driver installed in the system32 directory or
103 to have windbg.exe or kd.exe binary in PATH. kldbgdrv.sys
104 driver has some restrictions. Process needs to have Debug privi‐
105 lege and Windows system has to be booted with Debugging option.
106 Debugging option can be enabled by calling (takes effect after
107 next boot): bcdedit /debug on
108
109 Download links for WinDbg 6.12.2.633 standalone installer from
110 Microsoft Windows SDK for Windows 7 and .NET Framework 4:
111 amd64: https://download.microsoft.com/download/A/6/A/A6AC035D-
112 DA3F-4F0C-ADA4-37C8E5D34E3D/setup/WinSDKDebugging‐
113 Tools_amd64/dbg_amd64.msi
114 ia64: https://download.microsoft.com/download/A/6/A/A6AC035D-
115 DA3F-4F0C-ADA4-37C8E5D34E3D/setup/WinSDKDebugging‐
116 Tools_ia64/dbg_ia64.msi
117 x86: https://download.microsoft.com/download/A/6/A/A6AC035D-
118 DA3F-4F0C-ADA4-37C8E5D34E3D/setup/WinSDKDebugging‐
119 Tools/dbg_x86.msi
120
121 Archived download links of previous WinDbg versions:
122 https://web.archive.org/web/20110221133326/https://www.micro‐
123 soft.com/whdc/devtools/debugging/installx86.mspx
124 https://web.archive.org/web/20110214012715/https://www.micro‐
125 soft.com/whdc/devtools/debugging/install64bit.mspx
126
127
129 The library is controlled by several parameters. They should have sen‐
130 sible default values, but in case you want to do something unusual (or
131 even something weird), you can override them (see the -O switch of
132 lspci).
133
134
135 Parameters of specific access methods
136 dump.name
137 Name of the bus dump file to read from.
138
139 fbsd.path
140 Path to the FreeBSD PCI device.
141
142 nbsd.path
143 Path to the NetBSD PCI device.
144
145 obsd.path
146 Path to the OpenBSD PCI device.
147
148 proc.path
149 Path to the procfs bus tree.
150
151 sysfs.path
152 Path to the sysfs device tree.
153
154 devmem.path
155 Path to the /dev/mem device.
156
157 mmio-conf1.addrs
158 Physical addresses of memory-mapped I/O ports for Intel configu‐
159 ration mechanism 1. CF8 (address) and CFC (data) I/O port ad‐
160 dresses are separated by slash and multiple addresses for dif‐
161 ferent PCI domains are separated by commas. Format:
162 0xaddr1/0xdata1,0xaddr2/0xdata2,...
163
164 mmio-conf1-ext.addrs
165 Physical addresses of memory-mapped I/O ports for Extended PCIe
166 Intel configuration mechanism 1. It has same format as mmio-
167 conf1.addrs parameter.
168
169
170 Parameters for resolving of ID's via DNS
171 net.domain
172 DNS domain containing the ID database.
173
174 net.cache_name
175 Name of the file used for caching of resolved ID's.
176
177
178 Parameters for resolving of ID's via UDEV's HWDB
179 hwdb.disable
180 Disable use of HWDB if set to a non-zero value.
181
182
184 lspci(8), setpci(8), pci.ids(5), update-pciids(8)
185
186
188 The PCI Utilities are maintained by Martin Mares <mj@ucw.cz>.
189
190
191
192pciutils-3.9.0 20 November 2022 pcilib(7)