1pcilib(7)                      The PCI Utilities                     pcilib(7)
2
3
4

NAME

6       pcilib - a library for accessing PCI devices
7
8

DESCRIPTION

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

ACCESS METHODS

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

PARAMETERS

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

SEE ALSO

184       lspci(8), setpci(8), pci.ids(5), update-pciids(8)
185
186

AUTHOR

188       The PCI Utilities are maintained by Martin Mares <mj@ucw.cz>.
189
190
191
192pciutils-3.9.0                 20 November 2022                      pcilib(7)
Impressum