]> git.ipfire.org Git - thirdparty/pciutils.git/blame - README
Introduced an explicit probe sequence
[thirdparty/pciutils.git] / README
CommitLineData
ab12277e 1This package contains the PCI Utilities, version @VERSION@.
2f48f637 2
9f9e373b 3Copyright (c) 1997--2017 Martin Mares <mj@ucw.cz>
2f48f637
MM
4
5All files in this package can be freely distributed and used according
6to the terms of the GNU General Public License, either version 2 or
deaad187 7(at your opinion) any newer version. See http://www.gnu.org/ for details.
2f48f637 8
727ce158 9
07159913
MM
101. What's that?
11~~~~~~~~~~~~~~~
12The PCI Utilities package contains a library for portable access to PCI bus
13configuration registers and several utilities based on this library.
727ce158 14
0ac282f2
MM
15In runs on the following systems:
16
17 Linux (via /sys/bus/pci, /proc/bus/pci or i386 ports)
18 FreeBSD (via /dev/pci)
19 NetBSD (via libpci)
20 OpenBSD (via /dev/pci)
21 GNU/kFreeBSD (via /dev/pci)
22 Solaris/i386 (direct port access)
23 Aix (via /dev/pci and odmget)
24 GNU Hurd (direct port access)
b5847329 25 Windows (direct port access, see README.Windows for caveats)
550d67d1 26 CYGWIN (direct port access)
40e253d7
FR
27 BeOS (via syscalls)
28 Haiku (via /dev/misc/poke)
8d1cb3d7 29 Darwin (via IOKit)
5c5ce192 30 DOS/DJGPP (via i386 ports)
0ac282f2 31
81abd2a7
MM
32It should be very easy to add support for other systems as well (volunteers
33wanted; if you want to try that, I'll be very glad to see the patches and
34include them in the next version).
b2c9b373 35
07159913 36The utilities include: (See manual pages for more details)
b2c9b373 37
46ea554d 38 - lspci: displays detailed information about all PCI buses and devices.
b2c9b373 39
07159913
MM
40 - setpci: allows to read from and write to PCI device configuration
41 registers. For example, you can adjust the latency timers with it.
42 CAUTION: There is a couple of dangerous points and caveats, please read
43 the manual page first!
2f48f637 44
1b95f396
MM
45 - update-pciids: download the current version of the pci.ids file.
46
f3395cc5 47
07159913
MM
482. Compiling and (un)installing
49~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50Just run "make" to compile the package and then "make install" to install it.
d7ea742c 51Please note that GNU make is needed on most platforms.
2f48f637 52
07159913 53If you want to change the default installation location, please override
f4ddb8d3
MM
54the PREFIX variable specified in the Makefile -- e.g., you can use
55"make PREFIX=/opt/pciutils install" to create a separate installation
56not interfering with the rest of your system. Setting the DESTDIR variable
57will allow you to install to a different directory from the one you intend
58to eventually run it from. This is useful for people who are packaging
59pciutils to install on other computers.
07159913 60
d7ea742c
MM
61There are several options which can be set in the Makefile or overridden
62when running make:
63
64 ZLIB=yes/no Enable support for compressed pci.ids (requires zlib).
65 If it is enabled, pciutils will use pci.ids.gz in preference to
66 pci.ids, even if the pci.ids file is newer. If the pci.ids.gz
67 file is missing, it will use pci.ids instead. If you do not
68 specify this option, the configure script will try to guess
69 automatically based on the presence of zlib.
70
dab118d2 71 DNS=yes/no Enable support for querying the central database of PCI IDs
d7ea742c
MM
72 using DNS. Requires libresolv (which is available on most
73 systems as a part of the standard libraries) and tries to
74 autodetect its presence if the option is not specified.
75
2f421184 76 SHARED=yes/ Build libpci as a shared library. Requires GCC 4.0 or newer.
d7ea742c
MM
77 no/local The ABI of the shared library is intended to remain backward
78 compatible for a long time (we use symbol versioning to achieve
79 that, like GNU libc does). The value `local' includes the
80 right directory name in the binaries, so the utilities can be
81 run without installation. This is not recommended for any
82 production builds.
83
84"make install-lib" installs the library together with its header files
85for use by other programs.
cc062b4a 86
07159913
MM
87When you are bored of dumping PCI registers, just use "make uninstall".
88
89
dab118d2 903. Getting new IDs
07159913 91~~~~~~~~~~~~~~~~~~~
dab118d2
MM
92The database of PCI IDs (the pci.ids file) gets out of date much faster
93than I release new versions of this package, so it is maintained separately.
07159913 94
dab118d2
MM
95It lives at http://pci-ids.ucw.cz/, where you can browse the database,
96download the most recent pci.ids file (e.g., by running the update-ids utility)
97and also submit new entries.
a33d0eb7 98
14b85d7c
MM
99Alternatively, you can use `lspci -q' to query the central database
100for new entries via network.
101
cb968b8f 102The pci.ids file is also mirrored at https://github.com/pciutils/pciids.
07159913 103
b5847329
MM
104On Linux systems with a recent enough version of libudev, UDEV's HWDB
105database is consulted when pci.ids lacks the device.
106
07159913 107
0ac282f2
MM
1084. Getting new versions
109~~~~~~~~~~~~~~~~~~~~~~~
dab118d2
MM
110The current version of pciutils is available at:
111
112 http://mj.ucw.cz/sw/pciutils/
113
114The tarball can be downloaded at the following places:
0ac282f2
MM
115
116 ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci/
e4d209fd 117 https://www.kernel.org/pub/software/utils/pciutils/ (expect a couple of hours delay)
0ac282f2
MM
118
119There is also a public GIT tree at:
120
121 git://git.kernel.org/pub/scm/utils/pciutils/pciutils.git
cb968b8f 122 https://github.com/pciutils/pciutils
07159913
MM
123
124
1255. Using the library
126~~~~~~~~~~~~~~~~~~~~
14b85d7c
MM
127So far, there is only a little documentation for the library except for the
128general introduction in the pcilib(7) man page. If you want to use the
129library in your programs, please follow the comments in lib/pci.h and in
bc46bc39 130the example program example.c.
07159913
MM
131
132
1336. Feedback
134~~~~~~~~~~~
135If you have any bug reports or suggestions, send them to the author.
136
dab118d2
MM
137If you have any new IDs, I'll be very glad to add them to the database.
138Just submit them at http://pci-ids.ucw.cz/.
783ed67d 139
dab118d2
MM
140Announcements of new versions are sent to linux-pci@vger.kernel.org
141(see http://vger.kernel.org/ for instructions).
2bea6231 142
55c815b5
MM
143 Have fun
144 Martin