]> git.ipfire.org Git - thirdparty/pciutils.git/blobdiff - ChangeLog
ls-ecaps: extend decode support for more fields for AER CE and UE status
[thirdparty/pciutils.git] / ChangeLog
index f57a0ac4f6bbad7db85db32de508a0b9fbfc7b7c..65128884d3152c421738f8a8efc9551811c00514 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2024-04-05  Martin Mares <mj@ucw.cz>
+
+       * lspci decodes the IDE (Integrity & Data Encryption) and TEE-IO
+         extended capabilities.
+
+       * Several bugs in back-ends for Windows were fixed and the
+         README.Windows updated.
+
+       * Fixed building on Haiku.
+
+       * We now use more C99 features.
+
+       * Optimization flags used for compiling individual object files
+         should be the same as optimization flags for linking the final
+         executable to make link-time optimization possible.
+
+       * We no longer look up subsystems in the HWDB, because there is
+         no API for querying only the subsystem. The lookup we used
+         previously returned a device name if there was no entry for
+         the particular subsystem.
+
+       * Updated pci.ids.
+
+2024-02-25  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.11.1.
+
+       * Fixed wrong API version in lib/pci.h.
+
+       * Updated README.Windows.
+
+       * Fix compilation on Windows.
+
+2024-02-24  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.11.0.
+
+       * update-pciids now supports XZ compression. If libpci is configured
+         with support for compression, all downloaded files are recompressed
+         as gzip. Otherwise they are stored as plain text.
+
+       * update-pciids now sends itself as the User-Agent.
+
+       * Added a pcilmr utility for PCIe lane margining. Thanks to Nikita
+         Proshkin for contributing it.
+
+       * Re-factored access to i386 ports on all relevant platforms.
+
+       * Added i386 port access on OpenBSD.
+
+       * Back-ends for Windows received many bug fixes and improvements.
+
+       * ECAM back-end now scans ACPI and BIOS memory faster.
+
+       * Linux systems without pread/pwrite are no longer supported
+         as they are hopefully long gone. This helps avoid the tricky check
+         for presence of pread which was found to fail on musl libc.
+
+       * Improved decoding of PCIe control and status registers.
+
+       * Decoding of CXL capabilities now supports up to CXL 3.0.
+
+       * lspci now displays interrupt message numbers consistently across
+         different capabilities.
+
+       * Cache of IDs resolved via DNS, which was located in ~/.pci-ids
+         by default, is now stored according to the XDG base directory
+         specification in $XDG_CACHE_HOME/pci-ids.
+
+       * All source files now have SPDX license identifiers.
+
+       * Internal: The "aux" fields of structs pci_access and pci_dev
+         reserved for use by back-ends were renamed to backend_data to better
+         reflect their meaning.
+
+       * As usually, various minor bug fixes and updated pci.ids.
+
+2023-05-01  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.10.0.
+
+       * Fixed bug in definition of versioned symbol aliases
+         in shared libpci, which made compiling with link-time
+         optimization fail.
+
+       * Filters now accept "0x..." syntax for backward compatibility.
+
+       * Windows: The cfgmgr32 back-end which provides the list of devices
+         can be combined with another back-end which provides access
+         to configuration space.
+
+       * ECAM (Enhanced Configuration Access Mechanism), which is defined
+         by the PCIe standard, is now supported. It requires root privileges,
+         access to physical memory, and also manual configuration on some
+         systems.
+
+       * lspci: Tree view now works on multi-domain systems. It now respects
+         filters properly.
+
+       * Last but not least, pci.ids were updated to the current snapshot
+         of the database. This includes overall cleanup of entries with
+         non-ASCII characters in their names -- such characters are allowed,
+         but only if they convey interesting information (e.g., umlauts
+         in German company names, but not the "registered trade mark" sign).
+
+2022-11-20  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.9.0.
+
+       * We decode Compute Express Link (CXL) capabilities.
+
+       * The tree mode of lspci is now compatible with filtering options.
+
+       * When setpci is used with a named register, it checks whether
+         the register is present in the particular header type.
+
+       * Linux: The intel-conf[12] back-ends prefer to use ioperm() instead
+         of iopl() to gain access to I/O ports.
+
+       * Windows: We have two new back-ends thanks to Pali Rohár.
+         One uses the NT SysDbg interface, the other uses kldbgdrv.sys
+         (which is a part of the Microsoft WinDbg tool).
+
+       * Windows: We support building libpci as a DLL. Also, Windows
+         binaries now include meta-data with version.
+
+       * Hurd: The Hurd back-end works again.
+
+       * mmio-conf1(-ext): Added a new back-end implementing the intel-conf1
+         interface over MMIO. This is useful on some ARM machines, but it
+         requires manual configuration of the MMIO addresses.
+
+       * As usually, updated pci.ids to the current snapshot of the database.
+
+2022-04-18  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.8.0.
+
+       * Filters can now match devices based on partially specified
+         class code and also on the programming interface.
+
+       * Reporting of link speeds, power limits, and virtual function tags
+         has been updated to the current PCIe specification.
+
+       * We decode the Data Object Exchange capability.
+
+       * Bus mapping mode works in non-zero domains.
+
+       * pci_fill_info() can fetch more fields: bridge bases, programming
+         interface, revision, subsystem vendor and device ID, OS driver,
+         and also parent bridge. Internally, the implementation was rewritten,
+         significantly reducing the number of corner cases to be handled.
+
+       * The Windows port was revived and greatly improved by Pali Rohár.
+         It requires less magic to compile. More importantly, it runs on both
+         old and recent Windows systems (see README.Windows for details).
+
+       * Added a new Windows back-end using the cfgmgr32 interface.
+         It does not provide direct access to the configuration space,
+         but basic information about the device is reported via pci_fill_info().
+         For back-ends of this type, we now provide an emulated read-only
+         config space.
+
+       * If the configuration space is not readable for some reason
+         (e.g., the cfgmgr32 back-end, but also badly implemented sleep mode
+         of some devices), lspci prints only information provided by the OS.
+
+       * The Hurd back-end was greatly improved thanks to Joan Lledó.
+
+       * Various minor bug fixes and improvements.
+
+       * We officially require a working C99 compiler. Sorry, MSVC.
+
+       * As usually, updated pci.ids to the current snapshot of the database.
+
+2020-05-31  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.7.0.
+
+       * Added or improved the following capabilities: Designated Vendor-Specific,
+         Compute eXpress Link, Resizable BARs, VF Resizable BARs, Link
+         Capabilities 2, Link Status 2.
+
+       * On Linux, lspci can show IOMMU groups.
+
+       * setpci can be asked to skip bus scan and operate on a device
+         completely specified by its domain/bus/dev/func address. This
+         involved major internal cleanup.
+
+       * The above feature of setpci uses the pci_get_dev() function,
+         which obtains a struct pci_dev without doing a bus scan. This was
+         always possible, but apparently little used, because back-ends
+         frequently choked when operating on such devices. Fixed a lot
+         of minor bugs related to this.
+
+       * Also, back-ends which do not support domains now correctly fail when
+         trying to access devices outside domain 0.
+
+       * Semantics of pci_fill_info() and pci_dev->known_fields was underspecified,
+         which lead to inconsistencies between back-ends. Improved documentation
+         to give a more precise definition and updated all back-ends to conform
+         to it. Most importantly, pci_dev->known_fields shows all fields requested
+         over the lifetime of the pci_dev, but never those which are not supported
+         by the back-end.
+
+       * As usually, updated pci.ids to the current snapshot of the database.
+
+2020-01-25  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.6.4.
+
+       * A new back-end for the GNU Hurd was contributed by Joan Lledó.
+
+       * When printing VPD item identifiers, non-ASCII characters are escaped.
+
+2020-01-22  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.6.3.
+
+       * `lspci -t' (tree mode) can be combined with `-s' to show a sub-tree.
+         We also fixed potential buffer overflows in the tree dumper.
+
+       * Cleaned messy code for dumping of I/O, memory, and ROM regions.
+         This helped fixing a bug, which caused some 64-bit regions to be
+         reported as virtual. All flags are now printed after the address
+         (previously, "[virtual]" and "[enhanced]" were before it for no good
+         reason).
+
+       * Added pci_find_cap_nr() to the library, which handles capabilities
+         which occur multiple times in a single device.
+
+       * Minor improvements in printing of PCIe capabilities.
+
+       * We now decode the Multicast and Secondary PCI Express extended
+         capabilities.
+
+       * The list of capability names available to setpci was updated.
+
+       * Minor bugs were fixed in FreeBSD and Solaris ports.
+
+       * We now prefer HTTPS URLs in all documentation
+
+       * The pci.ids file has a man page.
+
+       * As usually, updated pci.ids to the current snapshot of the database.
+
+2018-08-12  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.6.2.
+
+       * Added "-P" and "-PP" switches to lspci, which display the path
+         through bridges to each device.
+
+       * Fixed a couple of bugs in computation of bus topology. It was
+         previously used only for the tree display, but we re-use it for
+         computing the paths.
+
+       * As usually, updated pci.ids to the current snapshot of the database.
+
+2018-07-12  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.6.1.
+
+       * Fixed compilation issues on Linux systems with MUSL libc.
+
+2018-06-30  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.6.0.
+
+       * BARs reported by the OS, but not set on the device itself are
+         reliably marked with "[virtual]".
+
+       * Library: Introduced a generic mechanism of string properties. This
+         avoids lots of special cases and makes ABI compatibility easier.
+
+       * On Linux systems with OpenFirmware, report corresponding device tree nodes
+         as device properties.
+
+       * VPD decoder knows several non-standard extensions.
+
+       * When PCIe link speed is less than the maximum supported by the
+         device, it is explicitly marked as "downgraded".
+
+       * Several new capabilities are not decoded yet, but at least their
+         names are printed.
+
+       * The Null capability is easily decoded.
+
+       * Formatting of several capabilities was cleaned up.
+
+       * The VGA16 bit in the bridge control register is now supported.
+
+       * Added a port to SylixOS. Thanks to YuJian Gong for contribution.
+
+       * Added a port to DOS/DJGPP. Thanks to Rudolf Marek for contribution.
+
+       * The order in which back-ends are probed was decoupled from the
+         internal back-end IDs. This helps, because new back-ends must have
+         their ID allocated at the end to keep the ABI, but they might need
+         to be probed earlier.
+
+       * The fbsd-device back-end should work again.
+
+       * Fixed a couple of bugs. Most notably, DeviceName was not printed.
+
+       * As usually, updated pci.ids to the current snapshot of the database.
+
+2017-11-17  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.5.6.
+
+       * Improvements of the FreeBSD back-end: read-only access for non-root,
+         support DragonFly BSD, support extended config space.
+
+       * MN VPD keyword is decoded correctly.
+
+       * As usually, updated pci.ids to the current snapshot of the database.
+
+2017-07-05  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.5.5.
+
+       * Better decoding of AER capability.
+
+       * "Slot Implemented" flag is decoded for PCI/PCI-X to PCIe bridges.
+
+       * Minor fixes of decoding other capabilities.
+
+       * As usually, updated pci.ids to the current snapshot of the database.
+
+2017-02-25  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.5.4.
+
+       * Previous version broke compilation on systems, for which lib/types.h
+         did not provide a 64-bit integer type. It is provided everywhere now.
+
+2017-02-15  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.5.3.
+
+       * When lspci looks for Linux kernel modules, it uses the default
+         path to module directory provided by libkmod. Previously,
+         it tried to construct the path explicitly, which need not
+         work on all systems.
+
+       * Improved formatting of memory and I/O ranges behind a bridge.
+
+       * PCIe link capabilities now display GEN4 speed (16GT/s).
+
+       * PCIe device capabilities now show bits related to atomic operations.
+         Thanks to Satanand Burla for a patch.
+
+       * As usually, updated pci.ids to the current snapshot of the database.
+
+2016-10-03  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.5.2.
+
+       * The L1 power management capability is now decoded more
+         thoroughly. Thanks to Rajat Jain for the patch.
+
+       * The table of configuration registers used by setpci
+         had a bug in the definition of SUBSYSTEM_VENDOR_ID.
+
+2016-05-22  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.5.1.
+
+       * Fixed symbol versioning of pci_init().
+
+2016-05-19  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.5.0.
+
+       * New capabilities decoded: Downstream Port Containment,
+         Precision Time Measurement. Thanks to Keith Busch and
+         Jonathan Yong.
+
+       * Domain numbers extended to 31 bits. This will be used by the
+         Linux kernel on some machines in near future.
+
+       * Enhanced allocation regions are now decoded on Linux.
+
+       * The NetBSD back-end supports PCIe extended configuration space.
+
+       * Updated pci.ids to the current snapshot of the database.
+
+2016-01-03  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.4.1.
+
+       * New capabilities decoded: Process Address Space, Page Request
+         Interface, Enhanced Allocation. Thanks to David Daney and
+         David Woodhouse.
+
+       * DevCap SlotPowerLimit is now decoded for all components with
+         upstream ports.
+
+       * Database mirror at SourceForge moved to GitHub.
+
+       * Updated pci.ids to the current snapshot of the database.
+
+2015-09-14  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.4.0.
+
+       * On Linux, we report NUMA nodes of devices.
+
+       * The sysfs back-end does not die on read errors
+         of optional attributes. Instead, a warning is produced.
+
+       * Fixed several minor bugs.
+
+       * Updated pci.ids to the current snapshot of the database.
+
+2015-04-09  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.3.1.
+
+       * Removed hacks for backward compatibility with Linux libc5,
+         which were breaking newer non-glibc Linux systems. Thanks
+         to Felix Janda.
+
+       * Display VirtIO vendor-specific capability. Patch by Gerd
+         Hoffmann.
+
+       * Fixed memory leak in name cache.
+
+       * Updated pci.ids to the current snapshot of the database.
+
+2014-11-10  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.3.0.
+         (celebrating a one-year anniversary of the previous version :))
+
+       * Device names exported by BIOS are displayed on Linux.
+
+       * On Linux systems, HWDB is used to look up device names
+         when our ID database gives no match. (More precisely,
+         HWDB is consulted after local pci.ids, but before using
+         network to query online pci.ids.) Thanks to Tom Gundersen
+         for the initial patch.
+
+       * Added experimental back-end for OS X / Darwin. Thanks to
+         Richard Yao for providing it.
+
+       * Filters now support matching by device class. Original
+         patch by Matthew Wilcox, wrappers for ABI compatibility
+         by me.
+
+       * Interrupt Pin and Interrupt Line registers are displayed
+         for bridge devices, too.
+
+       * Several portability bugs have been fixed.
+
+       * Several typos have been fixed. Also, use of questionable
+         constructs in man pages has been reduced.
+
+       * PCIe link capabilities now include the ASPMOptComp bit.
+
+       * The "CRS Software Visibility" bit is now decoded properly.
+
+       * Updated pci.ids to the current snapshot of the database.
+
+2013-11-10  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.2.1.
+
+       * CardBus bridge capabilities are displayed.
+
+       * PCIe L1 PM substates are decoded.
+
+       * Various bugs were fixed in decoding of PCIe capabilities.
+
+       * The sysfs back-end does not spit out unnecessary warnings when
+         empty slots report only a partial device address. This actually
+         happens on IBM pSeries.
+
+       * Updated pci.ids to the today's snapshot of the database.
+
+2013-04-19  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.2.0.
+
+       * On newer Linux systems, we use libkmod to look up kernel modules
+         (modules.pcimap no longer exists). To facilitate this, libpci
+         is able to look up module aliases in sysfs.
+
+       * Various minor bug fixes.
+
+       * Updated pci.ids to the today's snapshot of the database.
+
+2012-06-25  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.1.10.
+
+       * Decoding of LTR/OBFF in PCIe capabilities.
+
+       * Various minor bug fixes.
+
+       * Updated pci.ids to the today's snapshot of the database.
+
+2012-01-14  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.1.9.
+
+       * Updated README.
+
+       * Wherever we mention the PCI ID database, we now refer to
+         http://pci-ids.ucw.cz/ and the sf.net site is mentioned only
+         as a mirror. This includes update-pciids.
+
+       * Decode PCIe Gen 3 speeds and link status fields.
+
+       * Various minor bug fixes.
+
+       * Updated pci.ids to the today's snapshot of the database.
+
+2011-10-02  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.1.8.
+
+       * More capabilities: Transaction Processing Hints, Latency Tolerance
+       Reporting. Thanks to Jesse Barnes.
+
+       * Added BeOS and Haiku ports. Contributed by Francois Revol.
+
+       * pciutils.pc now uses Libs.private properly.
+
+       * When we format a name and it does not fit in the buffer, we truncate
+       it instead of returning "buffer too small" instead. This works on all
+       platforms with sane (i.e., C99-compatible) snprintf().
+
+       * Various minor bug fixes.
+
+       * Updated pci.ids to the today's snapshot of the database.
+
+2010-01-31  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.1.7.
+
+       * Minor improvements and bug fixes in decoding of the Virtual Channel
+       capability.
+
+2010-01-24  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.1.6.
+
+       * More capabilities decoded: Virtual Channel (except arbitration
+       tables), Root Complex Link, Vendor-Specific (header only), SATA HBA.
+
+       * All extended capabilities have their version displayed (-vv or more).
+
+2010-01-19  Martin Mares <mj@ucw.cz>
+
+       * Released as 3.1.5.
+
+       * Updated pci.ids to the today's snapshot of the database.
+
+       * When scanning extended capabilities, properly mask the lowest 2 bits,
+         which are currently reserved. This avoids unaligned access errors on
+         broken hardware (see tests/broken-ecaps).
+
+       * Large bar sizes are displayed in human-readable format (with units).
+         Thanks to Matthew Wilcox.
+
+       * Physical slot information is displayed correctly for multi-function cards.
+         Fixed by Matthew Wilcox.
+
+       * Fixed a couple of typos everywhere.
+
+       * Library: Fixed bugs in freeing of capabilities.
+
+       * Windows back-end compiles again.
+
+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.
+       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>
 
 
 2007-08-31  Martin Mares <mj@ucw.cz>
 
-       * Makefile, lib/Makefile: `ar' and `ranlib' can be overriden to allow
+       * Makefile, lib/Makefile: `ar' and `ranlib' can be overridden to allow
        cross-compilation.
 
 2007-08-27  Martin Mares  <mj@ucw.cz>
        is not supported by all C libraries.
 
        * Makefile: Always enter the lib directory (remember that we don't have
-       full dependecies for the library in the top-level Makefile; hmmm, another
+       full dependencies for the library in the top-level Makefile; hmmm, another
        thing to rewrite some day).
 
        * lib/sysfs.c: Added Linux sysfs access method based on the patch
@@ -1147,7 +2035,7 @@ Wed Jul  7 00:55:48 1999  Martin Mares  <mj@albireo.ucw.cz>
 
        * lspci.c (show_msi): Added dumping of the MSI capability.
        (show_slotid): The same for SlotID capability.
-       (show_caps): Seperated capability dumping, because it should
+       (show_caps): Separated capability dumping, because it should
        be used for both htype0 and htype1. Even PCI 2.2 doesn't mention
        layout of htype2, so I'm a bit unsure about it wrt capabilities
        -- they at least have to live somewhere else since address 0x34
@@ -1262,7 +2150,7 @@ Thu Jan 28 20:54:16 1999  Martin Mares  <mj@albireo.ucw.cz>
        is mainly guesswork based on DEC/Intel 21153 bridge specs
        since I don't have the PCI Power Management document).
 
-       * lspci.c: Replaced numerous occurences of (x & flag) ? '+' : '-'
+       * lspci.c: Replaced numerous occurrences of (x & flag) ? '+' : '-'
        by FLAG macro.
 
        * lspci.c: Added bridge checks to bus mapping code.
@@ -1294,11 +2182,11 @@ Sun Jan 24 22:10:36 1999  Martin Mares  <mj@albireo.ucw.cz>
        * lib/header.h: Until kernel adopts new layout of PCI
        includes (i.e., separate declaration of header structure,
        functions and device IDs), which is not going to happen
-       before 2.3, we'll use our own definiton of the header.
+       before 2.3, we'll use our own definition of the header.
 
        * lspci.c (show_verbose): Display `Cap' flag in device status.
 
-       * lspci.c (show_htype0): Display capability lists whereever
+       * lspci.c (show_htype0): Display capability lists wherever
        available. The only capability name we recognize now is `AGP'.
        Unfortunately, capabilities are stored in device-dependent
        portion of the configuration space and are thus available