Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pcilib(7) [netbsd man page]

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, Win- dows, 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, Win- dows, BeOS and Haiku. Requires root privileges. Warning: This method is able to address only the first 16 devices on any bus and it seems to be very unreliable in many cases. 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 specified 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. PARAMETERS
The library is controlled by several parameters. They should have sensible 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. 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), update-pciids(8) AUTHOR
The PCI Utilities are maintained by Martin Mares <mj@ucw.cz>. pciutils-3.5.2 03 October 2016 pcilib(7)

Check Out this Related Man Page

lspci(8)							Linux PCI Utilities							  lspci(8)

NAME
lspci - list all PCI devices SYNOPSIS
lspci [options] DESCRIPTION
lspci is a utility for displaying information about all PCI buses in the system and all devices connected to them. To make use of all the features of this program, you need to have Linux kernel 2.1.82 or newer which supports the /proc/bus/pci interface. With older kernels, the PCI utilities have to use direct hardware access which is available only to root and it suffers from numerous race conditions and other problems. If you are going to report bugs in PCI device drivers or in lspci itself, please include output of "lspci -vvx". OPTIONS
-v Tells lspci to be verbose and display detailed information about all devices. -vv Tells lspci to be very verbose and display even more information (actually everything the PCI device is able to tell). The exact meaning of these data is not explained in this manual page, if you want to know more, consult /usr/include/linux/pci.h or the PCI specs. -n Show PCI vendor and device codes as numbers instead of looking them up in the PCI ID database. -x Show hexadecimal dump of first 64 bytes of the PCI configuration space (the standard header). Useful for debugging of drivers and lspci itself. -xxx Show hexadecimal dump of whole PCI configuration space. Available only for root as several PCI devices crash when you try to read undefined portions of the config space (this behaviour probably doesn't violate the PCI standard, but it's at least very stupid). -b Bus-centric view. Show all IRQ numbers and addresses as seen by the cards on the PCI bus instead of as seen by the kernel. -t Show a tree-like diagram containing all buses, bridges, devices and connections between them. -s [[<bus>]:][<slot>][.[<func>]] Show only devices in specified bus, slot and function. Each component of the device address can be omitted or set as "*" meaning "any value". All numbers are hexadecimal. E.g., "0:" means all devices on bus 0, "0" means all functions of device 0 on any bus, "0.3" selects third function of device 0 on all buses and ".4" shows only fourth function of each device. -d [<vendor>]:[<device>] Show only devices with specified vendor and device ID. Both ID's are given in hexadecimal and may be omitted or given as "*" meaning "any value". -i <file> Use <file> as PCI ID database instead of /usr/share/hwdata/pci.ids. -p <dir> Use <dir> as directory containing PCI bus information instead of /proc/bus/pci. -m Dump PCI device data in machine readable form (both normal and verbose format supported) for easy parsing by scripts. -M Invoke bus mapping mode which scans the bus extensively to find all devices including those behind misconfigured bridges etc. Please note that this is intended only for debugging and as it can crash the machine (only in case of buggy devices, but unfortunately these happen to exist), it's available only to root. Also using -M on PCI access methods which don't directly touch the hardware has no sense since the results are (modulo bugs in lspci) identical to normal listing modes. --version Shows lspci version. This option should be used standalone. PCILIB OPTIONS
The PCI utilities use PCILIB (a portable library providing platform-independent functions for PCI configuration space access) to talk to the PCI cards. The following options control parameters of the library, especially what access method it uses. By default, PCILIB uses the first available access method and displays no debugging messages. Each switch is accompanied by a list of hardware/software configurations it's supported in. -P <dir> Use Linux 2.1 style configuration access to directory <dir> instead of /proc/bus/pci. (Linux 2.1 or newer only) -H1 Use direct hardware access via Intel configuration mechanism 1. (i386 and compatible only) -H2 Use direct hardware access via Intel configuration mechanism 2. Warning: This method is able to address only first 16 devices on any bus and it seems to be very unrealiable in many cases. (i386 and compatible only) -S Use PCI access syscalls. (Linux on Alpha and UltraSparc only) -F <file> Extract all information from given file containing output of lspci -x. This is very useful for analysis of user-supplied bug reports, because you can display the hardware configuration in any way you want without disturbing the user with requests for more dumps. (All systems) -G Increase debug level of the library. (All systems) FILES
/usr/share/hwdata/pci.ids A list of all known PCI ID's (vendors, devices, classes and subclasses). /proc/bus/pci An interface to PCI bus configuration space provided by the post-2.1.82 Linux kernels. Contains per-bus subdirectories with per-card config space files and a devices file containing a list of all PCI devices. SEE ALSO
setpci(8) AUTHOR
The Linux PCI Utilities are maintained by Martin Mares <mj@ucw.cz>. pciutils-2.1.10 30 March 2002 lspci(8)
Man Page