+2009-08-14 Martin Mares <mj@ucw.cz>
+
+ * Released as 3.1.4 (sorry that I have missed 22/7 and released
+ it later :-))
+
+ * Updated pci.ids to the today's snapshot of the database.
+
+ * Fixed memory and file descriptor leak in the dump back-end.
+
+ * The SR-IOV capability decoder now prints the VF BAR's.
+ Patch by Chris Wright, cleaned up by me.
+
+ * On request of certain company's lawyers, we now include a copy
+ of the GPL with our package. It seems that the pciutils are getting
+ mature if the most important bug of the month was this one ;-)
+
+2009-07-04 Martin Mares <mj@ucw.cz>
+
+ * Released as 3.1.3.
+
+ * Updated pci.ids to the current snapshot of the database.
+
+ * The VPD parser now reports unknown and vendor-defined items
+ properly. It also stops on any item in unknown format, avoiding long
+ output on bogus VPD data. Thanks to Ben Hutchings and Matthew Wilcox.
+
+ * The MSI-X table size now matches the spec. Thanks to Michael S.
+ Tsirkin.
+
+ * The Power Management capability now includes the soft reset bit.
+ Thanks to Yu Zhao.
+
+ * Decoding of the Advanced Features capability has been added.
+ Thanks to Yu Zhao.
+
+ * The whole package compiles on GNU/kFreeBSD again.
+
+ The following patches have been contributed by Matthew Wilcox:
+
+ * The procfs back-end is able to cope with /proc/bus/pci
+ containing names with domains, which occur on sparc64 and
+ possibly other architectures due to a kernel bug.
+
+ * The sysfs back-end no longer complains when a slot address
+ is missing, which happens with old versions of Linux fakephp.
+
+ * The Device Serial Number capability is printed in the right
+ byte order.
+
+ * The MSI and MSI-X capabilities are printed in a prettier way.
+
+ * The tree output mode (`lspci -t') shows domain numbers only
+ at the root, which makes the output more compact.
+
+ * Updated documentation on the bus mapping mode (`lspci -M').
+
+2009-02-01 Martin Mares <mj@ucw.cz>
+
+ * Released as 3.1.2.
+
+ * Fixed another silly bug in the command-line parser of setpci.
+
+2009-01-30 Martin Mares <mj@ucw.cz>
+
+ * Released as 3.1.1.
+
+ * Updated pci.ids to the current snapshot of the database.
+
+ * The configure script now sets LC_ALL to avoid being fooled by
+ locale-dependent behavior of `tr'.
+
+ * The command-line parser of setpci did sometimes segfault on invalid
+ input. Thanks to Andreas Wiese for a fix.
+
+2009-01-18 Martin Mares <mj@ucw.cz>
+
+ * Released as 3.1.0.
+
+ * Updated pci.ids to the current snapshot of the database.
+
+ * The Cygwin backend now works on Windows Vista. Thanks to Jonathan
+ Kotta.
+
+ * Fixed a bug in decoding of the SR-IOV capability. Patch by Yu Zhao.
+
+ * Details of some PCIe capabilities are displayed only with -vv.
+
+ * When a BAR is reported by the OS, but not by the device (i.e.,
+ it is marked as [virtual] in lspci), the [disabled] flag is
+ suppressed, because it does not make sense in such cases.
+ Patch by Yu Zhao.
+
+2008-12-13 Martin Mares <mj@ucw.cz>
+
+ * The source code of lspci has been split to multiple files, hopefully
+ making it easier to maintain.
+
+ * The library and lspci now know about physical slot names. So far,
+ they are provided by the sysfs back-end only. Thanks go to Alex Chiang.
+
+ * When a device has the VPD (Vital Product Data) capability and the
+ VPD data are supplied by the OS, they are decoded and printed in the
+ verbose mode. This currently works only on Linux with the sysfs
+ back-end. Thanks to Ben Hutchings of Solarflare for the patch.
+
+ * `setpci --version' now works properly.
+
+ * `setpci --dumpregs' prints a table of all known names of
+ registers and capabilities. This replaces the table of registers
+ in the setpci man page.
+
+ * The dry-run mode of setpci gives better feedback.
+
+ * The setpci utility is now able to address registers stored in PCI
+ capabilities (actually it allows a more general form of relative
+ addressing).
+
+ * The library has gained functions for working with PCI capabilities.
+
+ * Address Translation Services capability is now decoded. Patch by
+ Yu Zhao.
+
+2008-11-09 Martin Mares <mj@ucw.cz>
+
+ * Released as 3.0.3.
+
+ * `lspci -k' now displays the subsystem ID, too. This makes `-k'
+ show everything needed to identify the device and the available
+ drivers, which was called for by many users.
+
+ * Fixed spelling of MSI. Patch by Matthew Wilcox.
+
+ * Better support for cross-compilation. Thanks to Alon Bar-Lev
+ for the patch.
+
+ * Fixed printing of the AER capability. Patch by Max Asbock.
+
+ * HT 1.02 capabilities are decoded as HT 1.03. Suggested by
+ Carl-Daniel Hailfinger.
+
+ * Fixed Cygwin build. Thanks to Steve Elliott for reporting the bug.
+
+ * Updated pci.ids to the current snapshot of the database.
+
+2008-09-19 Martin Mares <mj@ucw.cz>
+
+ * Released as 3.0.2.
+
+ * Fixed a minor bug in the configure script, which caused warnings
+ about redefinition of symbols during compilation.
+
+2008-09-11 Martin Mares <mj@ucw.cz>
+
+ * Released as 3.0.1.
+
+ * Updated pci.ids to the most recent snapshot.
+
+ * Added a Cygwin port. Patch by Christopher Voltz, ported to the
+ current tree by Martin Mares.
+
+ * Worked around compatibility problems with various default settings
+ of wget (we have to set --no-timestamping explicitly). Thanks to Ville
+ Skytta for pointing that out.
+
+ * Fixed printing of MSI capabilities. Thanks to Matthew Wilcox for
+ a patch.
+
+ * Added decoding of several PCI-X capabilities: device/link/slot 2,
+ Advanced Error Reporting, Access Control Services, Alternative Routing-ID,
+ Single Root I/O Virtualization. Thanks to Yu Zhao for patches.
+
+ * Fixed bug in filters which caused them to refuse vendor/device ID 0xffff.
+
+ * README: The linux-pci mailing list has moved to linux-pci@vger.kernel.org.
+
+ * Fixed several build problems: builds without PCI_USE_DNS on Linux
+ and with PCI_USE_DNS on Solaris and *BSD. Static library mode also
+ compiles again on old versions of GCC.
+
+2008-04-10 Martin Mares <mj@ucw.cz>
+
+ * Released as 3.0.0.
+
+ * Updated API and ABI version.
+
+2008-02-20 Martin Mares <mj@ucw.cz>
+
+ * Released as 2.99.1-alpha2.
+
+ * Changed the default domain for the DNS resolver.
+
+2008-02-18 Martin Mares <mj@ucw.cz>
+
+ * Released as 2.99.1-alpha1.
+
+ * 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.
* 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>