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