X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=ChangeLog;h=f5852d7a3c7ce3cbee96d683981adb70905b2631;hb=52097446c2dcac123f4ff040a15a07acdbe2b11f;hp=6e4a5c60ad05d3db686536bd33a539e312cdc4a9;hpb=8a8301681d34ca9f29746e69178f7c28cd826a5d;p=pciutils.git diff --git a/ChangeLog b/ChangeLog index 6e4a5c6..f5852d7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,1026 @@ +2022-04-18 Martin Mares + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * Released as 3.6.1. + + * Fixed compilation issues on Linux systems with MUSL libc. + +2018-06-30 Martin Mares + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * Released as 3.5.1. + + * Fixed symbol versioning of pci_init(). + +2016-05-19 Martin Mares + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * Released as 3.1.7. + + * Minor improvements and bug fixes in decoding of the Virtual Channel + capability. + +2010-01-24 Martin Mares + + * 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 + + * 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 + + * 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 + + * 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 + + * Released as 3.1.2. + + * Fixed another silly bug in the command-line parser of setpci. + +2009-01-30 Martin Mares + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * Released as 3.0.0. + + * Updated API and ABI version. + +2008-02-20 Martin Mares + + * Released as 2.99.1-alpha2. + + * Changed the default domain for the DNS resolver. + +2008-02-18 Martin Mares + + * 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 + + * 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 ' + instead of `Unknown device '. 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 if the + compiler claims C99 support. + +2008-02-11 Martin Mares + + * 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 + + * 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 + + * lib/dump.c: Squashed compiler warnings about code with + no effect (there really were surplus *'s). + +2007-11-06 Martin Mares + + * 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 + for help. + +2007-10-19 Martin Mares + + * 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 + + * 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 + + * lib/[fno]bsd-*: Removed extraneous braces. + +2007-10-12 Martin Mares + + * Capability loop detection introduced 2.2.7 did not work + properly with extended capabilities. Fixed. + +2007-10-05 Martin Mares + + * 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 + + * Extended the fbsd-device backend to run on Dragonfly BSD. + + * lspci.c: alloca() is declared in on BSD's, not . + +2007-09-03 Martin Mares + + * Resurrected the Windows port, including cross-compilation by MinGW. + Patch by Samuel Bronson . + +2007-08-31 Martin Mares + + * Makefile, lib/Makefile: `ar' and `ranlib' can be overridden to allow + cross-compilation. + +2007-08-27 Martin Mares + + * 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 + + * 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 + + * 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 + + * lib/i386-io-hurd.h: Rewritten for new Hurd kernels. + +2007-05-04 Martin Mares + + * Released as 2.2.5. + + * pci.ids: Updated to the current snapshot of the database. + +2007-02-14 Martin Mares + + * lspci.c (show_express): Added PCI/PCI-X to PCI-Express Bridge type. + Patch by Mark Glines. + +2007-02-09 Martin Mares + + * pci.ids: Updated to the current snapshot of the database. + +2007-02-06 Martin Mares + + * 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 to get precise + integer types. + +2007-02-04 Martin Mares + + * lspci.c: alloca() needs . + +2006-09-17 Martin Mares + + * 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 + + * 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 + + * 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 + + * lib/i386-io-hurd.h: Fixed a silly typo. + +2006-07-30 Martin Mares + + * 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 + + * 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 + + * 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 + + * 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 + + * README: Mention the public GIT tree. + + * README: Updated the list of ports. + +2006-05-10 Martin Mares + + * lib/configure, lib/fbsd-device.c: Added support for GNU/kFreeBSD. + Thanks to Petr Salinger for the patch. + 2006-05-05 Martin Mares + * 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 + + * Released as 2.2.2. + * pci.ids: Updated to the current database snapshot. * lib/obsd-device.c (and other files in lib/*): Added OpenBSD @@ -357,7 +1378,7 @@ 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 @@ -880,7 +1901,7 @@ Wed Jul 7 00:55:48 1999 Martin Mares * 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 @@ -995,7 +2016,7 @@ Thu Jan 28 20:54:16 1999 Martin Mares 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. @@ -1027,11 +2048,11 @@ Sun Jan 24 22:10:36 1999 Martin Mares * 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 @@ -1105,7 +2126,7 @@ Tue Jan 19 23:00:12 1999 Martin Mares * 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