-This package contains the PCI Utilities, version 2.1.4.
+This package contains the PCI Utilities, version @VERSION@.
-Copyright (c) 1997--2000 Martin Mares <mj@suse.cz>
+Copyright (c) 1997--2004 Martin Mares <mj@ucw.cz>
All files in this package can be freely distributed and used according
to the terms of the GNU General Public License, either version 2 or
-(at your opinion) any newer version. This is the same distribution
-policy as for the Linux kernel itself -- see /usr/src/linux/COPYING
-for details.
+(at your opinion) any newer version. See http://www.gnu.org/ for details.
- The PCI Utilities package contains a library for portable access to PCI bus
-configuration space and several utilities based on this library. Current
-version works only on Linux and also has an experimental support for FreeBSD,
-but it can be easily extended to work on other systems as well.
+############################################################################
- The utilities include: (See manual pages for more details)
+Beware, this is a preliminary test version! Anything might not work!
- - lspci: displays detailed information about all PCI busses and devices
- in the system, replacing the original /proc/pci interface.
+Some more things I intend to merge before the 2.2.0 release:
- - setpci: allows to read from and write to PCI device configuration
- registers. For example, you can adjust the latency timers with it.
+ o pcimodules and possibly other Linux module related stuff
+ o New ID's from the pciids project
+ o Avoid calling show_ext_caps() for non-ext devices.
- The library (and therefore all the utilities) can access PCI registers
-either via the /proc/bus/pci interface present since Linux 2.1.82 or
-via direct hardware access (to be used with older kernels and also for
-hardware diagnostics). It's also capable of reading and interpreting
-register dumps printed by `lspci -x'. Unfortunately, there is no documentation
-on how to use the library yet, so if you want to play with it, just ask
-me for whatever you want.
+############################################################################
- To compile the package, just run "make". To install it, "make install".
- If you have any bug reports or suggestions, send them to the author.
- If you want, subscribe to linux-pci@atrey.karlin.mff.cuni.cz (send
-"subscribe linux-pci Your Full Name" to listproc@atrey.karlin.mff.cuni.cz).
+1. What's that?
+~~~~~~~~~~~~~~~
+The PCI Utilities package contains a library for portable access to PCI bus
+configuration registers and several utilities based on this library.
+
+Currently, pciutils work on all versions of Linux and they also have somewhat
+experimental support for FreeBSD, NetBSD, AIX, GNU Hurd and Solaris/x86.
+It should be very easy to add support for other systems as well (volunteers
+wanted; if you want to try that, I'll be very glad to see the patches and
+include them in the next version).
+
+The utilities include: (See manual pages for more details)
+
+ - lspci: displays detailed information about all PCI busses and devices.
+
+ - setpci: allows to read from and write to PCI device configuration
+ registers. For example, you can adjust the latency timers with it.
+ CAUTION: There is a couple of dangerous points and caveats, please read
+ the manual page first!
+
+ - update-pciids: download the current version of the pci.ids file.
+
+
+2. Compiling and (un)installing
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Just run "make" to compile the package and then "make install" to install it.
+
+If you want to change the default installation location, please override
+the ROOT and PREFIX variables specified in the Makefile -- e.g., you can
+use "make PREFIX=/opt/pciutils ROOT=/opt/pciutils install" to create
+a separate installation not interfering with the rest of your system.
+
+When you are bored of dumping PCI registers, just use "make uninstall".
+
+
+3. Getting new ID's
+~~~~~~~~~~~~~~~~~~~
+The database of PCI ID's (the pci.ids file) gets out of date much faster
+than I release new versions of this package.
+
+If you are missing names for any of your devices or you just want to stay
+on the bleeding edge, download the most recent pci.ids file from
+http://pciids.sf.net/ (e.g., by running the update-ids utility).
+
+If your devices still appear as unknown, please send us their ID's and
+names, the detailed instructions for submissions are listed on the
+sf.net web page.
+
+
+4. Available access methods
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The library (and therefore all the utilities) know a variety of methods for
+accessing the PCI registers. Here is a list of them, sorted by autodetection
+priority:
+
+ /proc/bus/pci on all Linux systems since kernel 2.1.82.
+ /sys/bus/pci on all Linux systems since kernel 2.5.xx.
+ direct port access on i386 systems running Linux, GNU Hurd or Solaris/x86;
+ available only to root, useful if no other access
+ method is available or you want to hunt kernel bugs
+ /dev/pci used on FreeBSD
+ lsdev + odmget used on AIX
+ libpci used on NetBSD
+ dumps reading of dumps produced by `lspci -x'
+ (this one is not autodetected)
+
+
+5. Using the library
+~~~~~~~~~~~~~~~~~~~~
+There is still no documentation for the library, if you want to use it
+in your programs, please follow the comments in lib/pci.h and in the
+example program lib/example.c.
+
+
+6. Feedback
+~~~~~~~~~~~
+If you have any bug reports or suggestions, send them to the author.
+
+If you have any new ID's, I'll be very glad to add them to the database, but
+please take a look at http://pciids.sf.net/ first and follow the instructions.
+
+If you want, subscribe to linux-pci@atrey.karlin.mff.cuni.cz (send
+"subscribe linux-pci" to majordomo@atrey.karlin.mff.cuni.cz).
Release notes about new versions will be send to the list and problems with
the Linux PCI support will be probably discussed there, too.
- You also might want to look at the pciutils web page containing release
-notes and other news: http://atrey.karlin.mff.cuni.cz/~mj/pciutils.html .
- There also exists a utility called PowerTweak which is able to fine tune
+7. Miscellanea
+~~~~~~~~~~~~~~
+You also might want to look at the pciutils web page containing release
+notes and other news: http://atrey.karlin.mff.cuni.cz/~mj/pciutils.shtml .
+
+There also exists a utility called PowerTweak which is able to fine tune
parameters of many chipsets much better than the Bridge Optimization code
-in Linux kernel (already removed in 2.3.x). See http://linux.powertweak.com/
+in Linux kernel (already removed in 2.3.x). See http://powertweak.sf.net/
for more information.
Have fun