+2008-02-17 Martin Mares <mj@ucw.cz>
+
+ * The makefile system has been reworked. All configuration settings
+ are now passed to the configure script in environment variables,
+ allowing for easy tweaking in the top-level Makefile. All control
+ knobs are now described in the README.
+
+ * The libpci can be built as a shared library with properly restricted
+ symbol exports. Use `make SHARED=yes' to enable that or `make SHARED=local'
+ for a local testing build (with hardwired paths to the library, so that
+ it does not need installation).
+
+ * The example program has been moved from lib/example.c to the top-level
+ directory, because it should be built exactly as the other utilities
+ are. It has been also improved slightly to educate better.
+
+ * The i386-ports method is enabled on Linux/x86_64 as well.
+
+2008-02-13 Martin Mares <mj@ucw.cz>
+
+ * Released as 2.2.10-net2.
+
+ * Support for resolving of PCI ID's using DNS together with a local
+ cache of resolved entries has been added. See the `-q' and `-Q' options
+ of lspci.
+
+ * The library now has a generic system of settable parameters, which
+ also include settings of the DNS resolver and cache. An `-O' option
+ has been added to lspci and setpci to allow setting of these options.
+
+ * Configuration of the access methods are now specified by the new
+ parameter system, replacing the pci_access->method_params array.
+
+ * Access methods now also have sensible names and help texts and it
+ is possible to look up method ID by a name.
+
+ * An `-A' switch has been added to both lspci and setpci, allowing to
+ select an arbitrary access method. The `-P' switch (configure proc
+ backend) has been removed as it is no longer needed and I do not know
+ any its user.
+
+ * Several source files have been split for better maintainability
+ (most notably the resolving of ID's).
+
+ * Man pages and help texts have been updated. A new man page `pcilib(7)'
+ has been added and description of library options has been moved there.
+
+ * When an unknown device ID is encountered, we print `Device <id>'
+ instead of `Unknown device <id>'. It uses less space and it also
+ should reduce the number of inexperienced users complaining that
+ the device is not supported by the OS. To lookup up OS drivers,
+ use the `-k' option.
+
+ * PCI_LIB_VERSION has been bumped to 0x020299.
+
+ * Makefile: stripping of the binaries during installation can be
+ overridden by the STRIP variable.
+
+ * lib/types.h: We use the integer types from <stdint.h> if the
+ compiler claims C99 support.
+
+2008-02-11 Martin Mares <mj@ucw.cz>
+
+ * Released as 2.2.10.
+
+ * lspci.c, setpci.c: Cleaned up the list of options.
+
+ * lib/names.c: Fix displaying of errors reported by zlib.
+ Previously, the buffer containing the error message had
+ been deallocated by gzclose() before the message was printed.
+
+2008-01-07 Martin Mares <mj@ucw.cz>
+
+ * update-pciids.sh: Added quiet mode (-q). Clean up uncompressed
+ files left by previous versions of the pciutils. Patch by Mike
+ Frysinger.
+
+ * update-pciids.man: Mention the -q switch.
+
+2007-11-29 Martin Mares <mj@ucw.cz>
+
+ * lib/dump.c: Squashed compiler warnings about code with
+ no effect (there really were surplus *'s).
+
+2007-11-06 Martin Mares <mj@ucw.cz>
+
+ * Released as 2.2.9.
+
+ * lspci.c: Added a new switch `-k' which requests printing
+ of information on kernel drivers attached to each device
+ and on kernel modules reporting the ability to handle the
+ device. So far, this is supported only on Linux with the
+ sysfs back-end, so it is implemented internally in the lspci
+ instead of the libpci. Thanks to Anicka <anicka@anicka.net>
+ for help.
+
+2007-10-19 Martin Mares <mj@ucw.cz>
+
+ * Makefile, lib/Makefile: Moved -lz from LDFLAGS to LDLIBS.
+ Also added an explicit pattern rule for linking to make sure
+ that LDLIBS is used on all platforms. Thanks to Dan Nicholson
+ for the suggestion.
+
+2007-10-19 Martin Mares <mj@ucw.cz>
+
+ * Released as 2.2.8.
+
+ * pci.ids: Revised class codes to match Conventional PCI 3.0 specs.
+ Added a couple of new ones, renumbered `ADMA continuous operation'
+ prog-if to 0x30 (even the old SATA Class Code ECN doesn't mention
+ 0x40) and renumbered the satellite communication controllers.
+
+ * lib/header.h: Include `PCI hot-plug' and `Secure device'
+ capabilities from PCI 3.0 specs. Also added `SATA HBA' and
+ `Advanced features' caps from various ECN's.
+
+ * lspci.c: All known capabilities have at least their name displayed
+ now. When we are unable to decode them completely, we signalize it
+ with a `<?>' mark.
+
+ * lspci.man: Document `<?>' and also mention that extended config
+ space is currently available only with the linux_sysfs back-end.
+
+ * lspci.c: Decode the Debug port capability (per EHCI 0.96 spec).
+
+ * lspci.c: Big code cleanup: re-arranged functions in the code,
+ renamed everything related to capabilities to cap_* and
+ all options except verbose to opt_*.
+
+2007-10-14 Martin Mares <mj@ucw.cz>
+
+ * lib/[fno]bsd-*: Removed extraneous braces.
+
+2007-10-12 Martin Mares <mj@ucw.cz>
+
+ * Capability loop detection introduced 2.2.7 did not work
+ properly with extended capabilities. Fixed.
+
+2007-10-05 Martin Mares <mj@ucw.cz>
+
+ * Released as 2.2.7.
+
+ * lspci.c (show_caps, show_ext_caps): Detect and report loops in
+ capability lists.
+
+ * lspci.c, lib/header.h: Finished decoding of the PCI Express
+ capability. The extended capabilities remain undecoded for now,
+ but at least the list of them has been updated to reflect the
+ current PCI Express 2.0 spec.
+
+ * lspci.c, lib/header.h: Decode new bits of traditional registers
+ as defined by PCIE / PCI-X. This includes discard timers in the bridge
+ control register and INTx enable/status in device control/status
+ registers.
+
+ * lib/fbsd-device.c: Support domains on new FreeBSD's. Contributed
+ by Marius Strobl.
+
+2007-09-12 Hasso Tepper <hasso@estpak.ee>
+
+ * Extended the fbsd-device backend to run on Dragonfly BSD.
+
+ * lspci.c: alloca() is declared in <stdlib.h> on BSD's, not <alloca.h>.
+
+2007-09-03 Martin Mares <mj@ucw.cz>
+
+ * Resurrected the Windows port, including cross-compilation by MinGW.
+ Patch by Samuel Bronson <naesten@gmail.com>.
+
+2007-08-31 Martin Mares <mj@ucw.cz>
+
+ * Makefile, lib/Makefile: `ar' and `ranlib' can be overriden to allow
+ cross-compilation.
+
+2007-08-27 Martin Mares <mj@ucw.cz>
+
+ * lib/names.c (pci_open): When calling gzopen(), use "rb" file mode
+ instead of "r". This is needed on DOS systems, where this function
+ somewhat illogically uses the binary flag for the compressed file
+ instead of the decompressed stream inside, where binariness really
+ matters.
+
+2007-08-14 Martin Mares <mj@ucw.cz>
+
+ * lspci.c (show_ht): Added decoding of Hypertransport MSI mapping capability,
+ based on a patch by Jason Gunthorpe.
+
+ * tests/cap-MSI-mapping: Added a test case. I plan to add test cases
+ (which are dumps of config space) for all new features.
+
+2007-06-20 Martin Mares <mj@ucw.cz>
+
+ * Released as 2.2.6.
+
+ * Makefile: Added an "install-lib" target. Thanks to Dan Nicholson
+ for a patch.
+
+ * Makefile, lib/Makefile: Generate and install pkg-config file
+ for libpci. Again by Dan Nicholson.
+
+2007-06-20 Thomas Schwinge <tschwinge@gnu.org>
+
+ * lib/i386-io-hurd.h: Rewritten for new Hurd kernels.
+
+2007-05-04 Martin Mares <mj@ucw.cz>
+
+ * Released as 2.2.5.
+
+ * pci.ids: Updated to the current snapshot of the database.
+
+2007-02-14 Martin Mares <mj@ucw.cz>
+
+ * lspci.c (show_express): Added PCI/PCI-X to PCI-Express Bridge type.
+ Patch by Mark Glines.
+
+2007-02-09 Martin Mares <mj@ucw.cz>
+
+ * pci.ids: Updated to the current snapshot of the database.
+
+2007-02-06 Martin Mares <mj@ucw.cz>
+
+ * Replaced bzero() by memset() everywhere, it's better to lose a tiny
+ bit of readability than maintain hacks to make it work on various systems.
+
+ * lib/configure: tr on Solaris is a bit weird and it requires `[A-Z]'
+ instead of `A-Z'. Fortunately, the extra brackets don't hurt otherwise.
+
+ * lib/types.h, lib/configure: Solaris should use <stdint.h> to get precise
+ integer types.
+
+2007-02-04 Martin Mares <mj@ucw.cz>
+
+ * lspci.c: alloca() needs <alloca.h>.
+
+2006-09-17 Martin Mares <mj@ucw.cz>
+
+ * lib/dump.c: Fixed a couple of bugs in the dump backend which caused
+ devices with domains or with extended config space to be read incorrectly.
+ Also, dumps with partial lines are allowed now.
+
+2006-09-10 Martin Mares <mj@ucw.cz>
+
+ * pci.ids: Updated to the current database snapshot.
+
+ * lspci.c (scan_device): If an error occurs when reading the standard config
+ header of a device, report it and ignore the device and return with exit
+ code 2 at the end.
+
+2006-09-09 Martin Mares <mj@ucw.cz>
+
+ * Released as 2.2.4.
+
+ * maint/release: Remind the maintainer about the current PCI_LIB_VERSION.
+
+ * lib/pci.h: Updated PCI_LIB_VERSION.
+
+ * lspci.c (show_machine): In the `-m' mode, do proper shell escaping
+ if the fields printed contain quotes or backslashes.
+
+ * lspci.c (show_machine): Added a `-vmm' mode, which removes the misuse
+ of the `Device' tag for two different purposes.
+
+ * Makefile: Moved all system-dependent decisions to lib/configure,
+ since config.mk is included in the top-level Makefile anyway.
+
+ * lib/configure: When configuring for Linux, ignore the kernel version
+ and always build all access methods.
+
+ * Makefile (CFLAGS): Removed -Winline, it's not needed and triggers
+ at many non-interesting places with gcc 3.4.
+
+ * Whitespace cleanup of all source files.
+
+ * The pci.ids file can be stored compressed if zlib is available.
+ Added transparent decompression to lib/names.c, modified update-pciids.sh
+ to keep the file compressed if applicable, updated Makefiles.
+ Based on a patch by Matthew Wilcox, but all the bugs are mine.
+
+ * Makefile, README: Allow installation to be done to a different directory
+ from the one we will eventually be placed in by setting DESTDIR.
+ Patch by Matthew Wilcox.
+
+ * Added .gitignore files.
+
+ * Makefile (clean): Clean *.orig, too.
+
+ * Cleaned up usage of `char' and `byte'.
+
+ * lib/header.h: PCI_CLASS_DOCKING_OTHER should be 0x0a80, not 0x0a01.
+
+ * lib/header.h: Added PCI_CLASS_xxx constants for all classes currently
+ defined in the pci.ids file.
+
+2006-08-01 Martin Mares <mj@ucw.cz>
+
+ * lib/i386-io-hurd.h: Fixed a silly typo.
+
+2006-07-30 Martin Mares <mj@ucw.cz>
+
+ * lib/Makefile: Added a missing rule for obsd-device.o.
+
+ * lspci.c, lib/header.h: Added support for MSI per-vector masking.
+ Contributed by Petr Vandrovec.
+
+ * lspci.c, lib/header.h: Added support for the `bridge subsystem ID'
+ capability. Contributed by Petr Vandrovec.
+
+ * lspci.c (show_htype1): Fixed bug in printing of 64-bit prefetchable
+ memory windows. Fix by Petr Vandrovec.
+
+ * maint/release.pm: Exclude .git directory from releases.
+
+ * lib/i386-ports.c, lib/i386-io-*: Report failures during port access
+ initialization by a->warn() instead of calling printf() or perror()
+ directly.
+
+ * lib/i386-ports.c, lib/i386-io-*: Moved the logic which keeps track of
+ the port access state to generic code.
+
+ * lib/i386-io-hurd.h: Ask the kernel for I/O port access appropriately.
+ Contributed by Thomas Schwinge and Samuel Thibault.
+
+ * lib/i386-ports.c: Define _GNU_SOURCE, it's needed by the Hurd module.
+
+ * lib/header.h: Whitespace cleanups.
+
+ * lib/i386-io-windows.h: Fixed indentation and spelling.
+
+ * README.Windows: Mention that WinIO.dll is needed and where to get it.
+
+2006-06-27 Martin Mares <mj@ucw.cz>
+
+ * lib/Makefile, Makefile: Added rules for building and cleaning the example.
+
+ * lib/example.c: Show how to use PCI_FILL_CLASS and used another register
+ for demonstrating the config space accesses. The example is still very
+ incomplete, though.
+
+ * lib/pci.h, lib/generic.c: Added PCI_FILL_CLASS.
+
+ * lib/sysfs.c: Fetch device ID and class from sysfs, because they can
+ be modified by kernel fixups.
+
+ * lspci.c: Use PCI_FILL_CLASS. Thanks to Matthew Willcox for the patch.
+
+2006-06-03 Martin Mares <mj@ucw.cz>
+
+ * lspci.c: Introduced the -nn switch. Thanks to David N. Welton
+ for the idea.
+
+ * lib/names.c (pci_lookup_name): Introduced PCI_LOOKUP_MIXED and
+ cleaned up the name selection code.
+
+ * lib/names.c (pci_lookup_name): If PCI_LOOKUP_NO_NUMBERS is given,
+ pci_access->numeric_ids is ignored.
+
+ * lib/names.c (pci_lookup_name): When class is identified and
+ subclass isn't, display class name and subclass number.
+
+2006-05-31 Martin Mares <mj@ucw.cz>
+
+ * setpci.c (main): Don't crash when an invalid width is specified.
+
+ * lspci.c, setpci.c, common.c: die() now uses the right program
+ name when printing an error message.
+
+2006-05-19 Martin Mares <mj@ucw.cz>
+
+ * README: Mention the public GIT tree.
+
+ * README: Updated the list of ports.
+
+2006-05-10 Martin Mares <mj@ucw.cz>
+
+ * lib/configure, lib/fbsd-device.c: Added support for GNU/kFreeBSD.
+ Thanks to Petr Salinger for the patch.
+
+2006-05-05 Martin Mares <mj@ucw.cz>
+
+ * Released as 2.2.3.
+
+ * lspci.c (scan_device): The -D switch didn't work as intended
+ in -m mode.
+
+2006-05-05 Martin Mares <mj@ucw.cz>
+
+ * Released as 2.2.2.
+
+ * pci.ids: Updated to the current database snapshot.
+
+ * lib/obsd-device.c (and other files in lib/*): Added OpenBSD
+ interface by Matthieu Herrb <matthieu.herrb@laas.fr>, based on
+ the existing FreeBSD interface.
+
+ * Moved pciutils to a GIT repository, which now contains merged
+ history from both CVS and Arch. Good bye, TLA!
+
+2006-03-21 Martin Mares <mj@ucw.cz>
+
+ * lspci.c (show_slot_name): Avoid the previous changes in default
+ display of domain name when in machine-readable mode. However, `-D'
+ forces domain display even there.
+
+ * lspci.man: Added a warning on -m being the only format, which is
+ guaranteed to be stable between lspci versions.
+
2006-03-13 Martin Mares <mj@ucw.cz>
* lspci.man: Documented the -D switch.
* Started the "New Generation" branch and introduced the
PCI library.
-
+
* lspci: Rewritten to use the library.
Tue Jan 19 22:24:08 1999 Martin Mares <mj@albireo.ucw.cz>