+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.
+
+ * lspci.c (show_slot_name, scan_device): If there are multiple PCI
+ domains or if the `-D' switch is used, show the domain number for
+ all devices.
+
+ * lspci.c (show_verbose): Report cache line size in bytes.
+
+ * update-pciids.sh: Use curl if available. Patch by Matthew Wilcox.
+
+2006-01-04 Martin Mares <mj@ucw.cz>
+
+ * lspci.c (show_express_link): Fixed decoding of link status register.
+ Thanks to Roland Dreier for his report.
+
+2005-12-12 Martin Mares <mj@ucw.cz>
+
+ * lib/nbsd-libpci.c: If libpci is used by an ordinary user, allow
+ at least read-only access. Patch by Pavel Celeda <celeda@liberouter.org>.
+
+ * Makefile: Corrected library path on NetBSD.
+
+2005-11-26 Martin Mares <mj@ucw.cz>
+
+ * Released as 2.2.1.
+
+ * lspci.c (show_machine): Subsystem vendors were printed incorrectly
+ in machine-readable modes. Thanks to Pavel Celeda for a bug report.
+
+2005-10-11 Martin Mares <mj@ucw.cz>
+
+ * lspci.c (new_bus): Fixed a memory leak. Thanks to Paul Sangree for reporting it.
+
+2005-09-21 Martin Mares <mj@ucw.cz>
+
+ * Released as 2.2.0.
+
+ * pci.ids: Updated copyright header.
+
+ * lib/sysfs.c (sysfs_get_resources): Removed warning about unsupported
+ 64-bit addresses, they are now always supported.
+
+ * lspci.c (show_bases): Corrected printing of 64-bit addresses
+ in bus-centric mode.
+
+ * lib/configure: Enable 64-bit addresses on all Linux systems.
+
+ * lib/types.h: Don't pad 64-bit addresses to 16 xigits, only to 8 if they
+ are shorter.
+
+2005-09-11 Martin Mares <mj@ucw.cz>
+
+ * Released as 2.1.99-test11.
+
+ * lspci.c: Removed unnecessary trailing zeros in pci_lookup_name() calls.
+
+2005-09-10 Martin Mares <mj@ucw.cz>
+
+ * Released as 2.1.99-test10.
+
+ * pci.ids: Synchronized with the current database snapshot.
+
+ * update-pciids.sh: Changed the default URL for downloading pci.ids
+ to http://pciids.sourceforge.net/v2.2/pci.ids.
+
+ * lib/pci.h (PCI_LIB_VERSION): Added version identifier.
+
+ * lib/names.c: Rewritten the name database module almost from scratch.
+ Everything is much cleaner and there are hopefully no more memory leaks;
+ pci_lookup_name() now uses varargs in a backward compatible fashion.
+ Introduced PCI_LOOKUP_NO_NUMBERS.
+
+ The new code supports subsystem entries not tied to a specific device.
+ I had to extend the format of pci.ids in order to support it, so I have
+ extended the idea of the "C" (class) blocks and introduced "S" blocks
+ for subsystems. To avoid doing more incompatible changes in the future,
+ the parser skips unknown single-letter blocks without reporting errors.
+