dwww Home | Manual pages | Find package

pcilib(7)                      The PCI Utilities                     pcilib(7)

NAME
       pcilib - a library for accessing PCI devices

DESCRIPTION
       The PCI library (also known as pcilib and libpci) is a portable library
       for accessing PCI devices and their configuration space.

ACCESS METHODS
       The library supports a variety of methods to access  the  configuration
       space  on  different  operating systems. By default, the first matching
       method in this list is used, but you can specify override the  decision
       (see the -A switch of lspci).

       linux-sysfs
              The  /sys filesystem on Linux 2.6 and newer. The standard header
              of the config space is available to all users, the rest only  to
              root.  Supports  extended  configuration space, PCI domains, VPD
              (from Linux 2.6.26), physical slots (also  since  Linux  2.6.26)
              and information on attached kernel drivers.

       linux-proc
              The  /proc/bus/pci  interface  supported by Linux 2.1 and newer.
              The standard header of the config  space  is  available  to  all
              users, the rest only to root.

       intel-conf1
              Direct  hardware  access  via  Intel  configuration mechanism 1.
              Available on i386 and compatibles  on  Linux,  Solaris/x86,  GNU
              Hurd, Windows, BeOS and Haiku. Requires root privileges.

       intel-conf2
              Direct  hardware  access  via  Intel  configuration mechanism 2.
              Available on i386 and compatibles  on  Linux,  Solaris/x86,  GNU
              Hurd,  Windows,  BeOS and Haiku. Requires root privileges. Warn-
              ing: This method is able to address only the first 16 devices on
              any bus and it seems to be very unreliable in many cases.

       mmio-conf1
              Direct  hardware  access via Intel configuration mechanism 1 via
              memory-mapped I/O.  Mostly used on non-i386 platforms.  Requires
              root  privileges. Warning: This method needs to be properly con-
              figured via the mmio-conf1.addrs parameter.

       mmio-conf1-ext
              Direct hardware access via  Extended  PCIe  Intel  configuration
              mechanism  1  via  memory-mapped  I/O.   Mostly used on non-i386
              platforms. Requires root privileges. Warning: This method  needs
              to  be  properly configured via the mmio-conf1-ext.addrs parame-
              ter.

       fbsd-device
              The /dev/pci device on FreeBSD. Requires root privileges.

       aix-device
              Access method used on AIX. Requires root privileges.

       nbsd-libpci
              The /dev/pci0 device on NetBSD accessed using the  local  libpci
              library.

       obsd-device
              The /dev/pci device on OpenBSD. Requires root privileges.

       dump   Read  the contents of configuration registers from a file speci-
              fied in the dump.name parameter. The format corresponds  to  the
              output of lspci -x.

       darwin Access method used on Mac OS X / Darwin. Must be run as root and
              the system must have been booted with debug=0x144.

       win32-cfgmgr32
              Device listing on Windows systems using the  Windows  Configura-
              tion  Manager  via cfgmgr32.dll system library. This method does
              not require any special Administrator rights or privileges. Con-
              figuration  Manager  provides  only  basic information about de-
              vices, assigned resources and device tree structure. There is no
              access  to the PCI configuration space but libpci provides read-
              only virtual emulation based on information  from  Configuration
              Manager.  Starting with Windows 8 (NT 6.2) it is not possible to
              retrieve resources from 32-bit application or library on  64-bit
              system.

       win32-sysdbg
              Access to the PCI configuration space via NT SysDbg interface on
              Windows systems. Process needs to have  Debug  privilege,  which
              local  Administrators  have  by default. Not available on 64-bit
              systems and neither on recent 32-bit systems. Only devices  from
              the  first domain are accessible and only first 256 bytes of the
              PCI configuration space is accessible via this method.

       win32-kldbg
              Access to the PCI configuration space via Kernel Local Debugging
              Driver kldbgdrv.sys. This driver is not part of the Windows sys-
              tem but is part of the Microsoft WinDbg tool. It is required  to
              have  kldbgdrv.sys driver installed in the system32 directory or
              to have windbg.exe  or  kd.exe  binary  in  PATH.   kldbgdrv.sys
              driver has some restrictions. Process needs to have Debug privi-
              lege and Windows system has to be booted with Debugging  option.
              Debugging  option  can be enabled by calling (takes effect after
              next boot): bcdedit /debug on

              Download links for WinDbg 6.12.2.633 standalone  installer  from
              Microsoft Windows SDK for Windows 7 and .NET Framework 4:
              amd64:   https://download.microsoft.com/download/A/6/A/A6AC035D-
              DA3F-4F0C-ADA4-37C8E5D34E3D/setup/WinSDKDebugging-
              Tools_amd64/dbg_amd64.msi
              ia64:    https://download.microsoft.com/download/A/6/A/A6AC035D-
              DA3F-4F0C-ADA4-37C8E5D34E3D/setup/WinSDKDebugging-
              Tools_ia64/dbg_ia64.msi
              x86:     https://download.microsoft.com/download/A/6/A/A6AC035D-
              DA3F-4F0C-ADA4-37C8E5D34E3D/setup/WinSDKDebugging-
              Tools/dbg_x86.msi

              Archived download links of previous WinDbg versions:
              https://web.archive.org/web/20110221133326/https://www.micro-
              soft.com/whdc/devtools/debugging/installx86.mspx
              https://web.archive.org/web/20110214012715/https://www.micro-
              soft.com/whdc/devtools/debugging/install64bit.mspx

PARAMETERS
       The  library is controlled by several parameters. They should have sen-
       sible default values, but in case you want to do something unusual  (or
       even  something  weird),  you  can  override them (see the -O switch of
       lspci).

   Parameters of specific access methods
       dump.name
              Name of the bus dump file to read from.

       fbsd.path
              Path to the FreeBSD PCI device.

       nbsd.path
              Path to the NetBSD PCI device.

       obsd.path
              Path to the OpenBSD PCI device.

       proc.path
              Path to the procfs bus tree.

       sysfs.path
              Path to the sysfs device tree.

       devmem.path
              Path to the /dev/mem device.

       mmio-conf1.addrs
              Physical addresses of memory-mapped I/O ports for Intel configu-
              ration  mechanism  1.  CF8 (address) and CFC (data) I/O port ad-
              dresses are separated by slash and multiple addresses  for  dif-
              ferent   PCI   domains   are   separated   by  commas.   Format:
              0xaddr1/0xdata1,0xaddr2/0xdata2,...

       mmio-conf1-ext.addrs
              Physical addresses of memory-mapped I/O ports for Extended  PCIe
              Intel  configuration  mechanism  1.  It has same format as mmio-
              conf1.addrs parameter.

   Parameters for resolving of ID's via DNS
       net.domain
              DNS domain containing the ID database.

       net.cache_name
              Name of the file used for caching of resolved ID's.

   Parameters for resolving of ID's via UDEV's HWDB
       hwdb.disable
              Disable use of HWDB if set to a non-zero value.

SEE ALSO
       lspci(8), setpci(8), pci.ids(5), update-pciids(8)

AUTHOR
       The PCI Utilities are maintained by Martin Mares <mj@ucw.cz>.

pciutils-3.9.0                 20 November 2022                      pcilib(7)

Generated by dwww version 1.15 on Sun Jun 23 21:13:25 CEST 2024.