1*61ecc14aSMartin Mares2020-01-25 Martin Mares <[email protected]> 2*61ecc14aSMartin Mares 3*61ecc14aSMartin Mares * Released as 3.6.4. 4*61ecc14aSMartin Mares 5*61ecc14aSMartin Mares * A new back-end for the GNU Hurd was contributed by Joan Lledó. 6*61ecc14aSMartin Mares 7*61ecc14aSMartin Mares * When printing VPD item identifiers, non-ASCII characters are escaped. 8*61ecc14aSMartin Mares 9154abc91SMartin Mares2020-01-22 Martin Mares <[email protected]> 10154abc91SMartin Mares 11154abc91SMartin Mares * Released as 3.6.3. 12154abc91SMartin Mares 13154abc91SMartin Mares * `lspci -t' (tree mode) can be combined with `-s' to show a sub-tree. 14154abc91SMartin Mares We also fixed potential buffer overflows in the tree dumper. 15154abc91SMartin Mares 16154abc91SMartin Mares * Cleaned messy code for dumping of I/O, memory, and ROM regions. 17154abc91SMartin Mares This helped fixing a bug, which caused some 64-bit regions to be 18154abc91SMartin Mares reported as virtual. All flags are now printed after the address 19154abc91SMartin Mares (previously, "[virtual]" and "[enhanced]" were before it for no good 20154abc91SMartin Mares reason). 21154abc91SMartin Mares 22154abc91SMartin Mares * Added pci_find_cap_nr() to the library, which handles capabilities 23154abc91SMartin Mares which occur multiple times in a single device. 24154abc91SMartin Mares 25154abc91SMartin Mares * Minor improvements in printing of PCIe capabilities. 26154abc91SMartin Mares 27154abc91SMartin Mares * We now decode the Multicast and Secondary PCI Express extended 28154abc91SMartin Mares capabilities. 29154abc91SMartin Mares 30154abc91SMartin Mares * The list of capability names available to setpci was updated. 31154abc91SMartin Mares 32154abc91SMartin Mares * Minor bugs were fixed in FreeBSD and Solaris ports. 33154abc91SMartin Mares 34154abc91SMartin Mares * We now prefer HTTPS URLs in all documentation 35154abc91SMartin Mares 36154abc91SMartin Mares * The pci.ids file has a man page. 37154abc91SMartin Mares 38154abc91SMartin Mares * As usually, updated pci.ids to the current snapshot of the database. 39154abc91SMartin Mares 40e3832c8fSMartin Mares2018-08-12 Martin Mares <[email protected]> 41e3832c8fSMartin Mares 42e3832c8fSMartin Mares * Released as 3.6.2. 43e3832c8fSMartin Mares 44e3832c8fSMartin Mares * Added "-P" and "-PP" switches to lspci, which display the path 45e3832c8fSMartin Mares through bridges to each device. 46e3832c8fSMartin Mares 47e3832c8fSMartin Mares * Fixed a couple of bugs in computation of bus topology. It was 48e3832c8fSMartin Mares previously used only for the tree display, but we re-use it for 49e3832c8fSMartin Mares computing the paths. 50e3832c8fSMartin Mares 51e3832c8fSMartin Mares * As usually, updated pci.ids to the current snapshot of the database. 52e3832c8fSMartin Mares 532b1451ebSMartin Mares2018-07-12 Martin Mares <[email protected]> 542b1451ebSMartin Mares 552b1451ebSMartin Mares * Released as 3.6.1. 562b1451ebSMartin Mares 572b1451ebSMartin Mares * Fixed compilation issues on Linux systems with MUSL libc. 582b1451ebSMartin Mares 59b3fb64ceSMartin Mares2018-06-30 Martin Mares <[email protected]> 60b3fb64ceSMartin Mares 61b3fb64ceSMartin Mares * Released as 3.6.0. 62b3fb64ceSMartin Mares 63b3fb64ceSMartin Mares * BARs reported by the OS, but not set on the device itself are 64b3fb64ceSMartin Mares reliably marked with "[virtual]". 65b3fb64ceSMartin Mares 66b3fb64ceSMartin Mares * Library: Introduced a generic mechanism of string properties. This 67b3fb64ceSMartin Mares avoids lots of special cases and makes ABI compatibility easier. 68b3fb64ceSMartin Mares 69b3fb64ceSMartin Mares * On Linux systems with OpenFirmware, report corresponding device tree nodes 70b3fb64ceSMartin Mares as device properties. 71b3fb64ceSMartin Mares 72b3fb64ceSMartin Mares * VPD decoder knows several non-standard extensions. 73b3fb64ceSMartin Mares 74b3fb64ceSMartin Mares * When PCIe link speed is less than the maximum supported by the 75b3fb64ceSMartin Mares device, it is explicitly marked as "downgraded". 76b3fb64ceSMartin Mares 77b3fb64ceSMartin Mares * Several new capabilities are not decoded yet, but at least their 78b3fb64ceSMartin Mares names are printed. 79b3fb64ceSMartin Mares 80b3fb64ceSMartin Mares * The Null capability is easily decoded. 81b3fb64ceSMartin Mares 82b3fb64ceSMartin Mares * Formatting of several capabilities was cleaned up. 83b3fb64ceSMartin Mares 84b3fb64ceSMartin Mares * The VGA16 bit in the bridge control register is now supported. 85b3fb64ceSMartin Mares 86b3fb64ceSMartin Mares * Added a port to SylixOS. Thanks to YuJian Gong for contribution. 87b3fb64ceSMartin Mares 88b3fb64ceSMartin Mares * Added a port to DOS/DJGPP. Thanks to Rudolf Marek for contribution. 89b3fb64ceSMartin Mares 90b3fb64ceSMartin Mares * The order in which back-ends are probed was decoupled from the 91b3fb64ceSMartin Mares internal back-end IDs. This helps, because new back-ends must have 92b3fb64ceSMartin Mares their ID allocated at the end to keep the ABI, but they might need 93*61ecc14aSMartin Mares to be probed earlier. 94b3fb64ceSMartin Mares 95b3fb64ceSMartin Mares * The fbsd-device back-end should work again. 96b3fb64ceSMartin Mares 97b3fb64ceSMartin Mares * Fixed a couple of bugs. Most notably, DeviceName was not printed. 98b3fb64ceSMartin Mares 99b3fb64ceSMartin Mares * As usually, updated pci.ids to the current snapshot of the database. 100b3fb64ceSMartin Mares 101b72f3827SMartin Mares2017-11-17 Martin Mares <[email protected]> 102b72f3827SMartin Mares 103b72f3827SMartin Mares * Released as 3.5.6. 104b72f3827SMartin Mares 105b72f3827SMartin Mares * Improvements of the FreeBSD back-end: read-only access for non-root, 106b72f3827SMartin Mares support DragonFly BSD, support extended config space. 107b72f3827SMartin Mares 108b72f3827SMartin Mares * MN VPD keyword is decoded correctly. 109b72f3827SMartin Mares 110b72f3827SMartin Mares * As usually, updated pci.ids to the current snapshot of the database. 111b72f3827SMartin Mares 112dfd15a80SMartin Mares2017-07-05 Martin Mares <[email protected]> 113dfd15a80SMartin Mares 114dfd15a80SMartin Mares * Released as 3.5.5. 115dfd15a80SMartin Mares 116dfd15a80SMartin Mares * Better decoding of AER capability. 117dfd15a80SMartin Mares 118dfd15a80SMartin Mares * "Slot Implemented" flag is decoded for PCI/PCI-X to PCIe bridges. 119dfd15a80SMartin Mares 120dfd15a80SMartin Mares * Minor fixes of decoding other capabilities. 121dfd15a80SMartin Mares 122dfd15a80SMartin Mares * As usually, updated pci.ids to the current snapshot of the database. 123dfd15a80SMartin Mares 1249f9e373bSMartin Mares2017-02-25 Martin Mares <[email protected]> 1259f9e373bSMartin Mares 1269f9e373bSMartin Mares * Released as 3.5.4. 1279f9e373bSMartin Mares 1289f9e373bSMartin Mares * Previous version broke compilation on systems, for which lib/types.h 1299f9e373bSMartin Mares did not provide a 64-bit integer type. It is provided everywhere now. 1309f9e373bSMartin Mares 1312ee7d45aSMartin Mares2017-02-15 Martin Mares <[email protected]> 1322ee7d45aSMartin Mares 1332ee7d45aSMartin Mares * Released as 3.5.3. 1342ee7d45aSMartin Mares 1352ee7d45aSMartin Mares * When lspci looks for Linux kernel modules, it uses the default 1362ee7d45aSMartin Mares path to module directory provided by libkmod. Previously, 1372ee7d45aSMartin Mares it tried to construct the path explicitly, which need not 1382ee7d45aSMartin Mares work on all systems. 1392ee7d45aSMartin Mares 1402ee7d45aSMartin Mares * Improved formatting of memory and I/O ranges behind a bridge. 1412ee7d45aSMartin Mares 1422ee7d45aSMartin Mares * PCIe link capabilities now display GEN4 speed (16GT/s). 1432ee7d45aSMartin Mares 1442ee7d45aSMartin Mares * PCIe device capabilities now show bits related to atomic operations. 1452ee7d45aSMartin Mares Thanks to Satanand Burla for a patch. 1462ee7d45aSMartin Mares 1472ee7d45aSMartin Mares * As usually, updated pci.ids to the current snapshot of the database. 1482ee7d45aSMartin Mares 1494a190235SMartin Mares2016-10-03 Martin Mares <[email protected]> 1504a190235SMartin Mares 1514a190235SMartin Mares * Released as 3.5.2. 1524a190235SMartin Mares 1534a190235SMartin Mares * The L1 power management capability is now decoded more 1544a190235SMartin Mares thoroughly. Thanks to Rajat Jain for the patch. 1554a190235SMartin Mares 1564a190235SMartin Mares * The table of configuration registers used by setpci 1574a190235SMartin Mares had a bug in the definition of SUBSYSTEM_VENDOR_ID. 1584a190235SMartin Mares 1592f8b8f9fSMartin Mares2016-05-22 Martin Mares <[email protected]> 1602f8b8f9fSMartin Mares 1612f8b8f9fSMartin Mares * Released as 3.5.1. 1622f8b8f9fSMartin Mares 1632f8b8f9fSMartin Mares * Fixed symbol versioning of pci_init(). 1642f8b8f9fSMartin Mares 165ab6ed5fdSMartin Mares2016-05-19 Martin Mares <[email protected]> 166ab6ed5fdSMartin Mares 167ab6ed5fdSMartin Mares * Released as 3.5.0. 168ab6ed5fdSMartin Mares 169ab6ed5fdSMartin Mares * New capabilities decoded: Downstream Port Containment, 170ab6ed5fdSMartin Mares Precision Time Measurement. Thanks to Keith Busch and 171ab6ed5fdSMartin Mares Jonathan Yong. 172ab6ed5fdSMartin Mares 173ab6ed5fdSMartin Mares * Domain numbers extended to 31 bits. This will be used by the 174ab6ed5fdSMartin Mares Linux kernel on some machines in near future. 175ab6ed5fdSMartin Mares 176ab6ed5fdSMartin Mares * Enhanced allocation regions are now decoded on Linux. 177ab6ed5fdSMartin Mares 178ab6ed5fdSMartin Mares * The NetBSD back-end supports PCIe extended configuration space. 179ab6ed5fdSMartin Mares 180ab6ed5fdSMartin Mares * Updated pci.ids to the current snapshot of the database. 181ab6ed5fdSMartin Mares 18237c9315cSMartin Mares2016-01-03 Martin Mares <[email protected]> 18337c9315cSMartin Mares 18437c9315cSMartin Mares * Released as 3.4.1. 18537c9315cSMartin Mares 18637c9315cSMartin Mares * New capabilities decoded: Process Address Space, Page Request 18737c9315cSMartin Mares Interface, Enhanced Allocation. Thanks to David Daney and 18837c9315cSMartin Mares David Woodhouse. 18937c9315cSMartin Mares 19037c9315cSMartin Mares * DevCap SlotPowerLimit is now decoded for all components with 19137c9315cSMartin Mares upstream ports. 19237c9315cSMartin Mares 19337c9315cSMartin Mares * Database mirror at SourceForge moved to GitHub. 19437c9315cSMartin Mares 19537c9315cSMartin Mares * Updated pci.ids to the current snapshot of the database. 19637c9315cSMartin Mares 197508c53ebSMartin Mares2015-09-14 Martin Mares <[email protected]> 198508c53ebSMartin Mares 199508c53ebSMartin Mares * Released as 3.4.0. 200508c53ebSMartin Mares 201508c53ebSMartin Mares * On Linux, we report NUMA nodes of devices. 202508c53ebSMartin Mares 203508c53ebSMartin Mares * The sysfs back-end does not die on read errors 204508c53ebSMartin Mares of optional attributes. Instead, a warning is produced. 205508c53ebSMartin Mares 206508c53ebSMartin Mares * Fixed several minor bugs. 207508c53ebSMartin Mares 208508c53ebSMartin Mares * Updated pci.ids to the current snapshot of the database. 209508c53ebSMartin Mares 210949f4469SMartin Mares2015-04-09 Martin Mares <[email protected]> 211949f4469SMartin Mares 212949f4469SMartin Mares * Released as 3.3.1. 213949f4469SMartin Mares 214949f4469SMartin Mares * Removed hacks for backward compatibility with Linux libc5, 215949f4469SMartin Mares which were breaking newer non-glibc Linux systems. Thanks 216949f4469SMartin Mares to Felix Janda. 217949f4469SMartin Mares 218949f4469SMartin Mares * Display VirtIO vendor-specific capability. Patch by Gerd 219949f4469SMartin Mares Hoffmann. 220949f4469SMartin Mares 221949f4469SMartin Mares * Fixed memory leak in name cache. 222949f4469SMartin Mares 2233bc4dd2cSMartin Mares * Updated pci.ids to the current snapshot of the database. 2243bc4dd2cSMartin Mares 225f14d4d87SMartin Mares2014-11-10 Martin Mares <[email protected]> 226f14d4d87SMartin Mares 2271481a1caSMartin Mares * Released as 3.3.0. 2281481a1caSMartin Mares (celebrating a one-year anniversary of the previous version :)) 22928617b24SMartin Mares 23028617b24SMartin Mares * Device names exported by BIOS are displayed on Linux. 23128617b24SMartin Mares 23228617b24SMartin Mares * On Linux systems, HWDB is used to look up device names 23328617b24SMartin Mares when our ID database gives no match. (More precisely, 23428617b24SMartin Mares HWDB is consulted after local pci.ids, but before using 23528617b24SMartin Mares network to query online pci.ids.) Thanks to Tom Gundersen 23628617b24SMartin Mares for the initial patch. 23728617b24SMartin Mares 23828617b24SMartin Mares * Added experimental back-end for OS X / Darwin. Thanks to 23928617b24SMartin Mares Richard Yao for providing it. 24028617b24SMartin Mares 241afb881ccSMartin Mares * Filters now support matching by device class. Original 242afb881ccSMartin Mares patch by Matthew Wilcox, wrappers for ABI compatibility 243afb881ccSMartin Mares by me. 244afb881ccSMartin Mares 24528617b24SMartin Mares * Interrupt Pin and Interrupt Line registers are displayed 24628617b24SMartin Mares for bridge devices, too. 24728617b24SMartin Mares 24828617b24SMartin Mares * Several portability bugs have been fixed. 24928617b24SMartin Mares 25028617b24SMartin Mares * Several typos have been fixed. Also, use of questionable 25128617b24SMartin Mares constructs in man pages has been reduced. 25228617b24SMartin Mares 25328617b24SMartin Mares * PCIe link capabilities now include the ASPMOptComp bit. 25428617b24SMartin Mares 25528617b24SMartin Mares * The "CRS Software Visibility" bit is now decoded properly. 25628617b24SMartin Mares 25728617b24SMartin Mares * Updated pci.ids to the current snapshot of the database. 25828617b24SMartin Mares 259dc49926aSMartin Mares2013-11-10 Martin Mares <[email protected]> 260dc49926aSMartin Mares 261dc49926aSMartin Mares * Released as 3.2.1. 262dc49926aSMartin Mares 263dc49926aSMartin Mares * CardBus bridge capabilities are displayed. 264dc49926aSMartin Mares 265dc49926aSMartin Mares * PCIe L1 PM substates are decoded. 266dc49926aSMartin Mares 267dc49926aSMartin Mares * Various bugs were fixed in decoding of PCIe capabilities. 268dc49926aSMartin Mares 269dc49926aSMartin Mares * The sysfs back-end does not spit out unnecessary warnings when 270dc49926aSMartin Mares empty slots report only a partial device address. This actually 271dc49926aSMartin Mares happens on IBM pSeries. 272dc49926aSMartin Mares 273dc49926aSMartin Mares * Updated pci.ids to the today's snapshot of the database. 274dc49926aSMartin Mares 2756a4909eeSMartin Mares2013-04-19 Martin Mares <[email protected]> 2766a4909eeSMartin Mares 2776a4909eeSMartin Mares * Released as 3.2.0. 2786a4909eeSMartin Mares 2796a4909eeSMartin Mares * On newer Linux systems, we use libkmod to look up kernel modules 28069a77b5cSMartin Mares (modules.pcimap no longer exists). To facilitate this, libpci 2816a4909eeSMartin Mares is able to look up module aliases in sysfs. 2826a4909eeSMartin Mares 2836a4909eeSMartin Mares * Various minor bug fixes. 2846a4909eeSMartin Mares 2856a4909eeSMartin Mares * Updated pci.ids to the today's snapshot of the database. 2866a4909eeSMartin Mares 28727c0f3acSMartin Mares2012-06-25 Martin Mares <[email protected]> 28827c0f3acSMartin Mares 28927c0f3acSMartin Mares * Released as 3.1.10. 29027c0f3acSMartin Mares 29127c0f3acSMartin Mares * Decoding of LTR/OBFF in PCIe capabilities. 29227c0f3acSMartin Mares 29327c0f3acSMartin Mares * Various minor bug fixes. 29427c0f3acSMartin Mares 29527c0f3acSMartin Mares * Updated pci.ids to the today's snapshot of the database. 29627c0f3acSMartin Mares 29768e5ff17SMartin Mares2012-01-14 Martin Mares <[email protected]> 29868e5ff17SMartin Mares 29968e5ff17SMartin Mares * Released as 3.1.9. 30068e5ff17SMartin Mares 30168e5ff17SMartin Mares * Updated README. 30268e5ff17SMartin Mares 3036a4909eeSMartin Mares * Wherever we mention the PCI ID database, we now refer to 30468e5ff17SMartin Mares http://pci-ids.ucw.cz/ and the sf.net site is mentioned only 30568e5ff17SMartin Mares as a mirror. This includes update-pciids. 30668e5ff17SMartin Mares 30768e5ff17SMartin Mares * Decode PCIe Gen 3 speeds and link status fields. 30868e5ff17SMartin Mares 30968e5ff17SMartin Mares * Various minor bug fixes. 31068e5ff17SMartin Mares 31168e5ff17SMartin Mares * Updated pci.ids to the today's snapshot of the database. 31268e5ff17SMartin Mares 313a70dab15SMartin Mares2011-10-02 Martin Mares <[email protected]> 314a70dab15SMartin Mares 315a70dab15SMartin Mares * Released as 3.1.8. 316a70dab15SMartin Mares 317a70dab15SMartin Mares * More capabilities: Transaction Processing Hints, Latency Tolerance 318a70dab15SMartin Mares Reporting. Thanks to Jesse Barnes. 319a70dab15SMartin Mares 320a70dab15SMartin Mares * Added BeOS and Haiku ports. Contributed by Francois Revol. 321a70dab15SMartin Mares 322a70dab15SMartin Mares * pciutils.pc now uses Libs.private properly. 323a70dab15SMartin Mares 324a70dab15SMartin Mares * When we format a name and it does not fit in the buffer, we truncate 325a70dab15SMartin Mares it instead of returning "buffer too small" instead. This works on all 326a70dab15SMartin Mares platforms with sane (i.e., C99-compatible) snprintf(). 327a70dab15SMartin Mares 328a70dab15SMartin Mares * Various minor bug fixes. 329a70dab15SMartin Mares 330a70dab15SMartin Mares * Updated pci.ids to the today's snapshot of the database. 331a70dab15SMartin Mares 3326bc2bc1cSMartin Mares2010-01-31 Martin Mares <[email protected]> 3336bc2bc1cSMartin Mares 3346bc2bc1cSMartin Mares * Released as 3.1.7. 3356bc2bc1cSMartin Mares 3366bc2bc1cSMartin Mares * Minor improvements and bug fixes in decoding of the Virtual Channel 3376bc2bc1cSMartin Mares capability. 3386bc2bc1cSMartin Mares 339e3a052daSMartin Mares2010-01-24 Martin Mares <[email protected]> 340e3a052daSMartin Mares 341e3a052daSMartin Mares * Released as 3.1.6. 342e3a052daSMartin Mares 343e3a052daSMartin Mares * More capabilities decoded: Virtual Channel (except arbitration 344e3a052daSMartin Mares tables), Root Complex Link, Vendor-Specific (header only), SATA HBA. 345e3a052daSMartin Mares 346e3a052daSMartin Mares * All extended capabilities have their version displayed (-vv or more). 347e3a052daSMartin Mares 3489978b6fdSMartin Mares2010-01-19 Martin Mares <[email protected]> 3499978b6fdSMartin Mares 3509978b6fdSMartin Mares * Released as 3.1.5. 3519978b6fdSMartin Mares 3529978b6fdSMartin Mares * Updated pci.ids to the today's snapshot of the database. 3539978b6fdSMartin Mares 3549978b6fdSMartin Mares * When scanning extended capabilities, properly mask the lowest 2 bits, 3559978b6fdSMartin Mares which are currently reserved. This avoids unaligned access errors on 3569978b6fdSMartin Mares broken hardware (see tests/broken-ecaps). 3579978b6fdSMartin Mares 3589978b6fdSMartin Mares * Large bar sizes are displayed in human-readable format (with units). 3599978b6fdSMartin Mares Thanks to Matthew Wilcox. 3609978b6fdSMartin Mares 3619978b6fdSMartin Mares * Physical slot information is displayed correctly for multi-function cards. 3629978b6fdSMartin Mares Fixed by Matthew Wilcox. 3639978b6fdSMartin Mares 3649978b6fdSMartin Mares * Fixed a couple of typos everywhere. 3659978b6fdSMartin Mares 3669978b6fdSMartin Mares * Library: Fixed bugs in freeing of capabilities. 3679978b6fdSMartin Mares 3689978b6fdSMartin Mares * Windows back-end compiles again. 3699978b6fdSMartin Mares 370c67775bcSMartin Mares2009-08-14 Martin Mares <[email protected]> 371c67775bcSMartin Mares 372ebb9bc54SMartin Mares * Released as 3.1.4. 373ebb9bc54SMartin Mares (sorry that I have missed 22/7 and released it later :-)) 374c67775bcSMartin Mares 375c67775bcSMartin Mares * Updated pci.ids to the today's snapshot of the database. 376c67775bcSMartin Mares 377c67775bcSMartin Mares * Fixed memory and file descriptor leak in the dump back-end. 378c67775bcSMartin Mares 379c67775bcSMartin Mares * The SR-IOV capability decoder now prints the VF BAR's. 380c67775bcSMartin Mares Patch by Chris Wright, cleaned up by me. 381c67775bcSMartin Mares 382c67775bcSMartin Mares * On request of certain company's lawyers, we now include a copy 383c67775bcSMartin Mares of the GPL with our package. It seems that the pciutils are getting 384c67775bcSMartin Mares mature if the most important bug of the month was this one ;-) 385c67775bcSMartin Mares 38610df48cbSMartin Mares2009-07-04 Martin Mares <[email protected]> 38710df48cbSMartin Mares 38810df48cbSMartin Mares * Released as 3.1.3. 38910df48cbSMartin Mares 39010df48cbSMartin Mares * Updated pci.ids to the current snapshot of the database. 39110df48cbSMartin Mares 39210df48cbSMartin Mares * The VPD parser now reports unknown and vendor-defined items 39310df48cbSMartin Mares properly. It also stops on any item in unknown format, avoiding long 39410df48cbSMartin Mares output on bogus VPD data. Thanks to Ben Hutchings and Matthew Wilcox. 39510df48cbSMartin Mares 39610df48cbSMartin Mares * The MSI-X table size now matches the spec. Thanks to Michael S. 39710df48cbSMartin Mares Tsirkin. 39810df48cbSMartin Mares 39910df48cbSMartin Mares * The Power Management capability now includes the soft reset bit. 40010df48cbSMartin Mares Thanks to Yu Zhao. 40110df48cbSMartin Mares 40210df48cbSMartin Mares * Decoding of the Advanced Features capability has been added. 40310df48cbSMartin Mares Thanks to Yu Zhao. 40410df48cbSMartin Mares 40510df48cbSMartin Mares * The whole package compiles on GNU/kFreeBSD again. 40610df48cbSMartin Mares 40710df48cbSMartin Mares The following patches have been contributed by Matthew Wilcox: 40810df48cbSMartin Mares 40910df48cbSMartin Mares * The procfs back-end is able to cope with /proc/bus/pci 41010df48cbSMartin Mares containing names with domains, which occur on sparc64 and 41110df48cbSMartin Mares possibly other architectures due to a kernel bug. 41210df48cbSMartin Mares 41310df48cbSMartin Mares * The sysfs back-end no longer complains when a slot address 41410df48cbSMartin Mares is missing, which happens with old versions of Linux fakephp. 41510df48cbSMartin Mares 41610df48cbSMartin Mares * The Device Serial Number capability is printed in the right 41710df48cbSMartin Mares byte order. 41810df48cbSMartin Mares 41910df48cbSMartin Mares * The MSI and MSI-X capabilities are printed in a prettier way. 42010df48cbSMartin Mares 42110df48cbSMartin Mares * The tree output mode (`lspci -t') shows domain numbers only 42210df48cbSMartin Mares at the root, which makes the output more compact. 42310df48cbSMartin Mares 42410df48cbSMartin Mares * Updated documentation on the bus mapping mode (`lspci -M'). 42510df48cbSMartin Mares 42634683007SMartin Mares2009-02-01 Martin Mares <[email protected]> 42734683007SMartin Mares 42834683007SMartin Mares * Released as 3.1.2. 42934683007SMartin Mares 43034683007SMartin Mares * Fixed another silly bug in the command-line parser of setpci. 43134683007SMartin Mares 432f6523e28SMartin Mares2009-01-30 Martin Mares <[email protected]> 433f6523e28SMartin Mares 434f6523e28SMartin Mares * Released as 3.1.1. 435f6523e28SMartin Mares 436f6523e28SMartin Mares * Updated pci.ids to the current snapshot of the database. 437f6523e28SMartin Mares 438f6523e28SMartin Mares * The configure script now sets LC_ALL to avoid being fooled by 439f6523e28SMartin Mares locale-dependent behavior of `tr'. 440f6523e28SMartin Mares 441f6523e28SMartin Mares * The command-line parser of setpci did sometimes segfault on invalid 442f6523e28SMartin Mares input. Thanks to Andreas Wiese for a fix. 443f6523e28SMartin Mares 444db557900SMartin Mares2009-01-18 Martin Mares <[email protected]> 445db557900SMartin Mares 446db557900SMartin Mares * Released as 3.1.0. 447db557900SMartin Mares 448af358b08SMartin Mares * Updated pci.ids to the current snapshot of the database. 449af358b08SMartin Mares 450db557900SMartin Mares * The Cygwin backend now works on Windows Vista. Thanks to Jonathan 451db557900SMartin Mares Kotta. 452db557900SMartin Mares 453db557900SMartin Mares * Fixed a bug in decoding of the SR-IOV capability. Patch by Yu Zhao. 454db557900SMartin Mares 455db557900SMartin Mares * Details of some PCIe capabilities are displayed only with -vv. 456db557900SMartin Mares 457db557900SMartin Mares * When a BAR is reported by the OS, but not by the device (i.e., 458db557900SMartin Mares it is marked as [virtual] in lspci), the [disabled] flag is 459db557900SMartin Mares suppressed, because it does not make sense in such cases. 460db557900SMartin Mares Patch by Yu Zhao. 461db557900SMartin Mares 4622b31207aSMartin Mares2008-12-13 Martin Mares <[email protected]> 4632b31207aSMartin Mares 4642b31207aSMartin Mares * The source code of lspci has been split to multiple files, hopefully 4652b31207aSMartin Mares making it easier to maintain. 4662b31207aSMartin Mares 4672b31207aSMartin Mares * The library and lspci now know about physical slot names. So far, 4682b31207aSMartin Mares they are provided by the sysfs back-end only. Thanks go to Alex Chiang. 4692b31207aSMartin Mares 4702b31207aSMartin Mares * When a device has the VPD (Vital Product Data) capability and the 4712b31207aSMartin Mares VPD data are supplied by the OS, they are decoded and printed in the 4722b31207aSMartin Mares verbose mode. This currently works only on Linux with the sysfs 4732b31207aSMartin Mares back-end. Thanks to Ben Hutchings of Solarflare for the patch. 4742b31207aSMartin Mares 4752b31207aSMartin Mares * `setpci --version' now works properly. 4762b31207aSMartin Mares 4774d4325f8SMartin Mares * `setpci --dumpregs' prints a table of all known names of 4782b31207aSMartin Mares registers and capabilities. This replaces the table of registers 4792b31207aSMartin Mares in the setpci man page. 4802b31207aSMartin Mares 4812b31207aSMartin Mares * The dry-run mode of setpci gives better feedback. 4822b31207aSMartin Mares 4832b31207aSMartin Mares * The setpci utility is now able to address registers stored in PCI 4842b31207aSMartin Mares capabilities (actually it allows a more general form of relative 4852b31207aSMartin Mares addressing). 4862b31207aSMartin Mares 4872b31207aSMartin Mares * The library has gained functions for working with PCI capabilities. 4882b31207aSMartin Mares 4892b31207aSMartin Mares * Address Translation Services capability is now decoded. Patch by 4902b31207aSMartin Mares Yu Zhao. 4912b31207aSMartin Mares 492b282435dSMartin Mares2008-11-09 Martin Mares <[email protected]> 493b282435dSMartin Mares 494b282435dSMartin Mares * Released as 3.0.3. 495b282435dSMartin Mares 496b282435dSMartin Mares * `lspci -k' now displays the subsystem ID, too. This makes `-k' 497b282435dSMartin Mares show everything needed to identify the device and the available 498b282435dSMartin Mares drivers, which was called for by many users. 499b282435dSMartin Mares 500b282435dSMartin Mares * Fixed spelling of MSI. Patch by Matthew Wilcox. 501b282435dSMartin Mares 502b282435dSMartin Mares * Better support for cross-compilation. Thanks to Alon Bar-Lev 503b282435dSMartin Mares for the patch. 504b282435dSMartin Mares 505b282435dSMartin Mares * Fixed printing of the AER capability. Patch by Max Asbock. 506b282435dSMartin Mares 507b282435dSMartin Mares * HT 1.02 capabilities are decoded as HT 1.03. Suggested by 508b282435dSMartin Mares Carl-Daniel Hailfinger. 509b282435dSMartin Mares 510b282435dSMartin Mares * Fixed Cygwin build. Thanks to Steve Elliott for reporting the bug. 511b282435dSMartin Mares 512b282435dSMartin Mares * Updated pci.ids to the current snapshot of the database. 513b282435dSMartin Mares 514daf2ef4eSMartin Mares2008-09-19 Martin Mares <[email protected]> 515daf2ef4eSMartin Mares 516daf2ef4eSMartin Mares * Released as 3.0.2. 517daf2ef4eSMartin Mares 518daf2ef4eSMartin Mares * Fixed a minor bug in the configure script, which caused warnings 519daf2ef4eSMartin Mares about redefinition of symbols during compilation. 520daf2ef4eSMartin Mares 52138254178SMartin Mares2008-09-11 Martin Mares <[email protected]> 52238254178SMartin Mares 52338254178SMartin Mares * Released as 3.0.1. 52438254178SMartin Mares 52538254178SMartin Mares * Updated pci.ids to the most recent snapshot. 52638254178SMartin Mares 52738254178SMartin Mares * Added a Cygwin port. Patch by Christopher Voltz, ported to the 52838254178SMartin Mares current tree by Martin Mares. 52938254178SMartin Mares 53038254178SMartin Mares * Worked around compatibility problems with various default settings 53138254178SMartin Mares of wget (we have to set --no-timestamping explicitly). Thanks to Ville 53238254178SMartin Mares Skytta for pointing that out. 53338254178SMartin Mares 53438254178SMartin Mares * Fixed printing of MSI capabilities. Thanks to Matthew Wilcox for 53538254178SMartin Mares a patch. 53638254178SMartin Mares 53738254178SMartin Mares * Added decoding of several PCI-X capabilities: device/link/slot 2, 53838254178SMartin Mares Advanced Error Reporting, Access Control Services, Alternative Routing-ID, 53938254178SMartin Mares Single Root I/O Virtualization. Thanks to Yu Zhao for patches. 54038254178SMartin Mares 54138254178SMartin Mares * Fixed bug in filters which caused them to refuse vendor/device ID 0xffff. 54238254178SMartin Mares 54338254178SMartin Mares * README: The linux-pci mailing list has moved to [email protected]. 54438254178SMartin Mares 54538254178SMartin Mares * Fixed several build problems: builds without PCI_USE_DNS on Linux 54638254178SMartin Mares and with PCI_USE_DNS on Solaris and *BSD. Static library mode also 54738254178SMartin Mares compiles again on old versions of GCC. 54838254178SMartin Mares 549cec9f7e7SMartin Mares2008-04-10 Martin Mares <[email protected]> 550cec9f7e7SMartin Mares 551cec9f7e7SMartin Mares * Released as 3.0.0. 552cec9f7e7SMartin Mares 553cec9f7e7SMartin Mares * Updated API and ABI version. 554cec9f7e7SMartin Mares 555cd2f6a34SMartin Mares2008-02-20 Martin Mares <[email protected]> 556cd2f6a34SMartin Mares 557cd2f6a34SMartin Mares * Released as 2.99.1-alpha2. 558cd2f6a34SMartin Mares 559cd2f6a34SMartin Mares * Changed the default domain for the DNS resolver. 560cd2f6a34SMartin Mares 561165a50cbSMartin Mares2008-02-18 Martin Mares <[email protected]> 562165a50cbSMartin Mares 563165a50cbSMartin Mares * Released as 2.99.1-alpha1. 564623234ecSMartin Mares 565a1fca487SMartin Mares * The makefile system has been reworked. All configuration settings 566a1fca487SMartin Mares are now passed to the configure script in environment variables, 567a1fca487SMartin Mares allowing for easy tweaking in the top-level Makefile. All control 568a1fca487SMartin Mares knobs are now described in the README. 569a1fca487SMartin Mares 570a1fca487SMartin Mares * The libpci can be built as a shared library with properly restricted 571a1fca487SMartin Mares symbol exports. Use `make SHARED=yes' to enable that or `make SHARED=local' 572a1fca487SMartin Mares for a local testing build (with hardwired paths to the library, so that 573a1fca487SMartin Mares it does not need installation). 574a1fca487SMartin Mares 575a1fca487SMartin Mares * The example program has been moved from lib/example.c to the top-level 576a1fca487SMartin Mares directory, because it should be built exactly as the other utilities 577a1fca487SMartin Mares are. It has been also improved slightly to educate better. 578a1fca487SMartin Mares 579623234ecSMartin Mares * The i386-ports method is enabled on Linux/x86_64 as well. 580623234ecSMartin Mares 581ae27e293SMartin Mares2008-02-13 Martin Mares <[email protected]> 582ae27e293SMartin Mares 583ae27e293SMartin Mares * Released as 2.2.10-net2. 584ae27e293SMartin Mares 585ae27e293SMartin Mares * Support for resolving of PCI ID's using DNS together with a local 586ae27e293SMartin Mares cache of resolved entries has been added. See the `-q' and `-Q' options 587ae27e293SMartin Mares of lspci. 588ae27e293SMartin Mares 589ae27e293SMartin Mares * The library now has a generic system of settable parameters, which 590ae27e293SMartin Mares also include settings of the DNS resolver and cache. An `-O' option 591ae27e293SMartin Mares has been added to lspci and setpci to allow setting of these options. 592ae27e293SMartin Mares 593ae27e293SMartin Mares * Configuration of the access methods are now specified by the new 594ae27e293SMartin Mares parameter system, replacing the pci_access->method_params array. 595ae27e293SMartin Mares 596ae27e293SMartin Mares * Access methods now also have sensible names and help texts and it 597ae27e293SMartin Mares is possible to look up method ID by a name. 598ae27e293SMartin Mares 599ae27e293SMartin Mares * An `-A' switch has been added to both lspci and setpci, allowing to 600ae27e293SMartin Mares select an arbitrary access method. The `-P' switch (configure proc 601ae27e293SMartin Mares backend) has been removed as it is no longer needed and I do not know 602ae27e293SMartin Mares any its user. 603ae27e293SMartin Mares 604ae27e293SMartin Mares * Several source files have been split for better maintainability 605ae27e293SMartin Mares (most notably the resolving of ID's). 606ae27e293SMartin Mares 607ae27e293SMartin Mares * Man pages and help texts have been updated. A new man page `pcilib(7)' 608ae27e293SMartin Mares has been added and description of library options has been moved there. 609ae27e293SMartin Mares 610ae27e293SMartin Mares * When an unknown device ID is encountered, we print `Device <id>' 611ae27e293SMartin Mares instead of `Unknown device <id>'. It uses less space and it also 612ae27e293SMartin Mares should reduce the number of inexperienced users complaining that 613ae27e293SMartin Mares the device is not supported by the OS. To lookup up OS drivers, 614ae27e293SMartin Mares use the `-k' option. 615ae27e293SMartin Mares 616ae27e293SMartin Mares * PCI_LIB_VERSION has been bumped to 0x020299. 617ae27e293SMartin Mares 618ae27e293SMartin Mares * Makefile: stripping of the binaries during installation can be 619ae27e293SMartin Mares overridden by the STRIP variable. 620ae27e293SMartin Mares 621ae27e293SMartin Mares * lib/types.h: We use the integer types from <stdint.h> if the 622ae27e293SMartin Mares compiler claims C99 support. 623ae27e293SMartin Mares 6240fc3bd18SMartin Mares2008-02-11 Martin Mares <[email protected]> 6250fc3bd18SMartin Mares 6262466b14bSMartin Mares * Released as 2.2.10. 6272466b14bSMartin Mares 6286add52f5SMartin Mares * lspci.c, setpci.c: Cleaned up the list of options. 6296add52f5SMartin Mares 6300fc3bd18SMartin Mares * lib/names.c: Fix displaying of errors reported by zlib. 6310fc3bd18SMartin Mares Previously, the buffer containing the error message had 6320fc3bd18SMartin Mares been deallocated by gzclose() before the message was printed. 6330fc3bd18SMartin Mares 634d26b5378SMartin Mares2008-01-07 Martin Mares <[email protected]> 635d26b5378SMartin Mares 636d26b5378SMartin Mares * update-pciids.sh: Added quiet mode (-q). Clean up uncompressed 637d26b5378SMartin Mares files left by previous versions of the pciutils. Patch by Mike 638d26b5378SMartin Mares Frysinger. 639d26b5378SMartin Mares 640d26b5378SMartin Mares * update-pciids.man: Mention the -q switch. 641d26b5378SMartin Mares 642dc01dd60SMartin Mares2007-11-29 Martin Mares <[email protected]> 643dc01dd60SMartin Mares 644dc01dd60SMartin Mares * lib/dump.c: Squashed compiler warnings about code with 645dc01dd60SMartin Mares no effect (there really were surplus *'s). 646dc01dd60SMartin Mares 64711339c0dSMartin Mares2007-11-06 Martin Mares <[email protected]> 64811339c0dSMartin Mares 64913463566SMartin Mares * Released as 2.2.9. 65013463566SMartin Mares 65111339c0dSMartin Mares * lspci.c: Added a new switch `-k' which requests printing 65211339c0dSMartin Mares of information on kernel drivers attached to each device 65311339c0dSMartin Mares and on kernel modules reporting the ability to handle the 65411339c0dSMartin Mares device. So far, this is supported only on Linux with the 65511339c0dSMartin Mares sysfs back-end, so it is implemented internally in the lspci 65611339c0dSMartin Mares instead of the libpci. Thanks to Anicka <[email protected]> 65711339c0dSMartin Mares for help. 65811339c0dSMartin Mares 6593de798bdSMartin Mares2007-10-19 Martin Mares <[email protected]> 6603de798bdSMartin Mares 6616cdb9d93SMartin Mares * Makefile, lib/Makefile: Moved -lz from LDFLAGS to LDLIBS. 6626cdb9d93SMartin Mares Also added an explicit pattern rule for linking to make sure 6636cdb9d93SMartin Mares that LDLIBS is used on all platforms. Thanks to Dan Nicholson 6646cdb9d93SMartin Mares for the suggestion. 6656cdb9d93SMartin Mares 6666cdb9d93SMartin Mares2007-10-19 Martin Mares <[email protected]> 6676cdb9d93SMartin Mares 668a404b115SMartin Mares * Released as 2.2.8. 669a404b115SMartin Mares 6703de798bdSMartin Mares * pci.ids: Revised class codes to match Conventional PCI 3.0 specs. 6713de798bdSMartin Mares Added a couple of new ones, renumbered `ADMA continuous operation' 6723de798bdSMartin Mares prog-if to 0x30 (even the old SATA Class Code ECN doesn't mention 6733de798bdSMartin Mares 0x40) and renumbered the satellite communication controllers. 6743de798bdSMartin Mares 6752d2c4810SMartin Mares * lib/header.h: Include `PCI hot-plug' and `Secure device' 676f7c76ec5SMartin Mares capabilities from PCI 3.0 specs. Also added `SATA HBA' and 677f7c76ec5SMartin Mares `Advanced features' caps from various ECN's. 6782d2c4810SMartin Mares 679fa2273caSMartin Mares * lspci.c: All known capabilities have at least their name displayed 680fa2273caSMartin Mares now. When we are unable to decode them completely, we signalize it 681fa2273caSMartin Mares with a `<?>' mark. 682fa2273caSMartin Mares 683fa2273caSMartin Mares * lspci.man: Document `<?>' and also mention that extended config 684fa2273caSMartin Mares space is currently available only with the linux_sysfs back-end. 685fa2273caSMartin Mares 68631c9bb28SMartin Mares * lspci.c: Decode the Debug port capability (per EHCI 0.96 spec). 68731c9bb28SMartin Mares 688a387042eSMartin Mares * lspci.c: Big code cleanup: re-arranged functions in the code, 689a387042eSMartin Mares renamed everything related to capabilities to cap_* and 690a387042eSMartin Mares all options except verbose to opt_*. 691a387042eSMartin Mares 6929c79fcc4SMartin Mares2007-10-14 Martin Mares <[email protected]> 6939c79fcc4SMartin Mares 6949c79fcc4SMartin Mares * lib/[fno]bsd-*: Removed extraneous braces. 6959c79fcc4SMartin Mares 696d5b4cd14SMartin Mares2007-10-12 Martin Mares <[email protected]> 697d5b4cd14SMartin Mares 698d5b4cd14SMartin Mares * Capability loop detection introduced 2.2.7 did not work 699d5b4cd14SMartin Mares properly with extended capabilities. Fixed. 700d5b4cd14SMartin Mares 701594de878SMartin Mares2007-10-05 Martin Mares <[email protected]> 702594de878SMartin Mares 7038a23eadcSMartin Mares * Released as 2.2.7. 7048a23eadcSMartin Mares 705594de878SMartin Mares * lspci.c (show_caps, show_ext_caps): Detect and report loops in 706594de878SMartin Mares capability lists. 707594de878SMartin Mares 7088a23eadcSMartin Mares * lspci.c, lib/header.h: Finished decoding of the PCI Express 7098a23eadcSMartin Mares capability. The extended capabilities remain undecoded for now, 7108a23eadcSMartin Mares but at least the list of them has been updated to reflect the 7118a23eadcSMartin Mares current PCI Express 2.0 spec. 7128a23eadcSMartin Mares 7138a23eadcSMartin Mares * lspci.c, lib/header.h: Decode new bits of traditional registers 7148a23eadcSMartin Mares as defined by PCIE / PCI-X. This includes discard timers in the bridge 7158a23eadcSMartin Mares control register and INTx enable/status in device control/status 7168a23eadcSMartin Mares registers. 7178a23eadcSMartin Mares 7188a23eadcSMartin Mares * lib/fbsd-device.c: Support domains on new FreeBSD's. Contributed 7198a23eadcSMartin Mares by Marius Strobl. 7208a23eadcSMartin Mares 72199091df9SMartin Mares2007-09-12 Hasso Tepper <[email protected]> 72299091df9SMartin Mares 72399091df9SMartin Mares * Extended the fbsd-device backend to run on Dragonfly BSD. 72499091df9SMartin Mares 72599091df9SMartin Mares * lspci.c: alloca() is declared in <stdlib.h> on BSD's, not <alloca.h>. 72699091df9SMartin Mares 72709156b3bSMartin Mares2007-09-03 Martin Mares <[email protected]> 72809156b3bSMartin Mares 72909156b3bSMartin Mares * Resurrected the Windows port, including cross-compilation by MinGW. 73009156b3bSMartin Mares Patch by Samuel Bronson <[email protected]>. 73109156b3bSMartin Mares 732325a3c50SMartin Mares2007-08-31 Martin Mares <[email protected]> 733325a3c50SMartin Mares 734325a3c50SMartin Mares * Makefile, lib/Makefile: `ar' and `ranlib' can be overriden to allow 735325a3c50SMartin Mares cross-compilation. 736325a3c50SMartin Mares 737a2322147SMartin Mares2007-08-27 Martin Mares <[email protected]> 738a2322147SMartin Mares 739a2322147SMartin Mares * lib/names.c (pci_open): When calling gzopen(), use "rb" file mode 740a2322147SMartin Mares instead of "r". This is needed on DOS systems, where this function 741a2322147SMartin Mares somewhat illogically uses the binary flag for the compressed file 742a2322147SMartin Mares instead of the decompressed stream inside, where binariness really 743a2322147SMartin Mares matters. 744a2322147SMartin Mares 7454f2c5b94SMartin Mares2007-08-14 Martin Mares <[email protected]> 7464f2c5b94SMartin Mares 7474f2c5b94SMartin Mares * lspci.c (show_ht): Added decoding of Hypertransport MSI mapping capability, 7484f2c5b94SMartin Mares based on a patch by Jason Gunthorpe. 7494f2c5b94SMartin Mares 7504f2c5b94SMartin Mares * tests/cap-MSI-mapping: Added a test case. I plan to add test cases 7514f2c5b94SMartin Mares (which are dumps of config space) for all new features. 7524f2c5b94SMartin Mares 7530d7f5331SMartin Mares2007-06-20 Martin Mares <[email protected]> 7540d7f5331SMartin Mares 7557cebe481SMartin Mares * Released as 2.2.6. 7567cebe481SMartin Mares 7570d7f5331SMartin Mares * Makefile: Added an "install-lib" target. Thanks to Dan Nicholson 7580d7f5331SMartin Mares for a patch. 7590d7f5331SMartin Mares 7607cebe481SMartin Mares * Makefile, lib/Makefile: Generate and install pkg-config file 7617cebe481SMartin Mares for libpci. Again by Dan Nicholson. 7627cebe481SMartin Mares 7630d7f5331SMartin Mares2007-06-20 Thomas Schwinge <[email protected]> 7640d7f5331SMartin Mares 7650d7f5331SMartin Mares * lib/i386-io-hurd.h: Rewritten for new Hurd kernels. 7660d7f5331SMartin Mares 7676e4a45edSMartin Mares2007-05-04 Martin Mares <[email protected]> 7686e4a45edSMartin Mares 76955c89179SMartin Mares * Released as 2.2.5. 77055c89179SMartin Mares 7716e4a45edSMartin Mares * pci.ids: Updated to the current snapshot of the database. 7726e4a45edSMartin Mares 773d0b07542SMartin Mares2007-02-14 Martin Mares <[email protected]> 774d0b07542SMartin Mares 775d0b07542SMartin Mares * lspci.c (show_express): Added PCI/PCI-X to PCI-Express Bridge type. 776d0b07542SMartin Mares Patch by Mark Glines. 777d0b07542SMartin Mares 7783df35926SMartin Mares2007-02-09 Martin Mares <[email protected]> 7793df35926SMartin Mares 7803df35926SMartin Mares * pci.ids: Updated to the current snapshot of the database. 7813df35926SMartin Mares 782e49ed044SMartin Mares2007-02-06 Martin Mares <[email protected]> 783e49ed044SMartin Mares 7841ac3a99dSMartin Mares * Replaced bzero() by memset() everywhere, it's better to lose a tiny 7851ac3a99dSMartin Mares bit of readability than maintain hacks to make it work on various systems. 7861ac3a99dSMartin Mares 787b0eb18ccSMartin Mares * lib/configure: tr on Solaris is a bit weird and it requires `[A-Z]' 788b0eb18ccSMartin Mares instead of `A-Z'. Fortunately, the extra brackets don't hurt otherwise. 789b0eb18ccSMartin Mares 790e49ed044SMartin Mares * lib/types.h, lib/configure: Solaris should use <stdint.h> to get precise 791e49ed044SMartin Mares integer types. 792e49ed044SMartin Mares 7939de2768cSMartin Mares2007-02-04 Martin Mares <[email protected]> 7949de2768cSMartin Mares 7959de2768cSMartin Mares * lspci.c: alloca() needs <alloca.h>. 7969de2768cSMartin Mares 797d19394dbSMartin Mares2006-09-17 Martin Mares <[email protected]> 798d19394dbSMartin Mares 799d19394dbSMartin Mares * lib/dump.c: Fixed a couple of bugs in the dump backend which caused 800d19394dbSMartin Mares devices with domains or with extended config space to be read incorrectly. 801d19394dbSMartin Mares Also, dumps with partial lines are allowed now. 802d19394dbSMartin Mares 803934e7e36SMartin Mares2006-09-10 Martin Mares <[email protected]> 804934e7e36SMartin Mares 805f09856deSMartin Mares * pci.ids: Updated to the current database snapshot. 806f09856deSMartin Mares 807934e7e36SMartin Mares * lspci.c (scan_device): If an error occurs when reading the standard config 808934e7e36SMartin Mares header of a device, report it and ignore the device and return with exit 809934e7e36SMartin Mares code 2 at the end. 810934e7e36SMartin Mares 811b2055313SMartin Mares2006-09-09 Martin Mares <[email protected]> 812b2055313SMartin Mares 813fb260653SMartin Mares * Released as 2.2.4. 814fb260653SMartin Mares 8151865e2ddSMartin Mares * maint/release: Remind the maintainer about the current PCI_LIB_VERSION. 8161865e2ddSMartin Mares 817028dffb2SMartin Mares * lib/pci.h: Updated PCI_LIB_VERSION. 818028dffb2SMartin Mares 81913081e57SMartin Mares * lspci.c (show_machine): In the `-m' mode, do proper shell escaping 82013081e57SMartin Mares if the fields printed contain quotes or backslashes. 82113081e57SMartin Mares 8223fd6b4d2SMartin Mares * lspci.c (show_machine): Added a `-vmm' mode, which removes the misuse 8233fd6b4d2SMartin Mares of the `Device' tag for two different purposes. 8243fd6b4d2SMartin Mares 825840d09aeSMartin Mares * Makefile: Moved all system-dependent decisions to lib/configure, 826840d09aeSMartin Mares since config.mk is included in the top-level Makefile anyway. 827840d09aeSMartin Mares 8282100f710SMartin Mares * lib/configure: When configuring for Linux, ignore the kernel version 8292100f710SMartin Mares and always build all access methods. 8302100f710SMartin Mares 8313e9c7a18SMartin Mares * Makefile (CFLAGS): Removed -Winline, it's not needed and triggers 8323e9c7a18SMartin Mares at many non-interesting places with gcc 3.4. 8333e9c7a18SMartin Mares 83494db5c82SMartin Mares * Whitespace cleanup of all source files. 83594db5c82SMartin Mares 836cc062b4aSMartin Mares * The pci.ids file can be stored compressed if zlib is available. 837cc062b4aSMartin Mares Added transparent decompression to lib/names.c, modified update-pciids.sh 838cc062b4aSMartin Mares to keep the file compressed if applicable, updated Makefiles. 839cc062b4aSMartin Mares Based on a patch by Matthew Wilcox, but all the bugs are mine. 840cc062b4aSMartin Mares 841f4ddb8d3SMartin Mares * Makefile, README: Allow installation to be done to a different directory 842f4ddb8d3SMartin Mares from the one we will eventually be placed in by setting DESTDIR. 843f4ddb8d3SMartin Mares Patch by Matthew Wilcox. 844f4ddb8d3SMartin Mares 84516e37012SMartin Mares * Added .gitignore files. 84616e37012SMartin Mares 847c7f5314dSMartin Mares * Makefile (clean): Clean *.orig, too. 848c7f5314dSMartin Mares 849afebde01SMartin Mares * Cleaned up usage of `char' and `byte'. 850afebde01SMartin Mares 851fd54ccebSMartin Mares * lib/header.h: PCI_CLASS_DOCKING_OTHER should be 0x0a80, not 0x0a01. 852fd54ccebSMartin Mares 853b2055313SMartin Mares * lib/header.h: Added PCI_CLASS_xxx constants for all classes currently 854b2055313SMartin Mares defined in the pci.ids file. 855b2055313SMartin Mares 8564254d153SMartin Mares2006-08-01 Martin Mares <[email protected]> 8574254d153SMartin Mares 8584254d153SMartin Mares * lib/i386-io-hurd.h: Fixed a silly typo. 8594254d153SMartin Mares 8601c5cc9b5SMartin Mares2006-07-30 Martin Mares <[email protected]> 8611c5cc9b5SMartin Mares 86238a9e3c3SMartin Mares * lib/Makefile: Added a missing rule for obsd-device.o. 86338a9e3c3SMartin Mares 864c7ddfa3eSMartin Mares * lspci.c, lib/header.h: Added support for MSI per-vector masking. 865c7ddfa3eSMartin Mares Contributed by Petr Vandrovec. 866c7ddfa3eSMartin Mares 867248a04f8SMartin Mares * lspci.c, lib/header.h: Added support for the `bridge subsystem ID' 868248a04f8SMartin Mares capability. Contributed by Petr Vandrovec. 869248a04f8SMartin Mares 870f29dcc87SMartin Mares * lspci.c (show_htype1): Fixed bug in printing of 64-bit prefetchable 871f29dcc87SMartin Mares memory windows. Fix by Petr Vandrovec. 872f29dcc87SMartin Mares 8738eab3bffSMartin Mares * maint/release.pm: Exclude .git directory from releases. 8748eab3bffSMartin Mares 875d305d704SMartin Mares * lib/i386-ports.c, lib/i386-io-*: Report failures during port access 876d305d704SMartin Mares initialization by a->warn() instead of calling printf() or perror() 877d305d704SMartin Mares directly. 878d305d704SMartin Mares 8799007a292SMartin Mares * lib/i386-ports.c, lib/i386-io-*: Moved the logic which keeps track of 8809007a292SMartin Mares the port access state to generic code. 8819007a292SMartin Mares 882bd20d5b5SMartin Mares * lib/i386-io-hurd.h: Ask the kernel for I/O port access appropriately. 883bd20d5b5SMartin Mares Contributed by Thomas Schwinge and Samuel Thibault. 884bd20d5b5SMartin Mares 88573750606SMartin Mares * lib/i386-ports.c: Define _GNU_SOURCE, it's needed by the Hurd module. 88673750606SMartin Mares 887d71daa45SMartin Mares * lib/header.h: Whitespace cleanups. 888d71daa45SMartin Mares 8891c5cc9b5SMartin Mares * lib/i386-io-windows.h: Fixed indentation and spelling. 8901c5cc9b5SMartin Mares 8911c5cc9b5SMartin Mares * README.Windows: Mention that WinIO.dll is needed and where to get it. 8921c5cc9b5SMartin Mares 893c2b144efSMartin Mares2006-06-27 Martin Mares <[email protected]> 894c2b144efSMartin Mares 89514d4f989SMartin Mares * lib/Makefile, Makefile: Added rules for building and cleaning the example. 89614d4f989SMartin Mares 89714d4f989SMartin Mares * lib/example.c: Show how to use PCI_FILL_CLASS and used another register 89814d4f989SMartin Mares for demonstrating the config space accesses. The example is still very 89914d4f989SMartin Mares incomplete, though. 90014d4f989SMartin Mares 901c2b144efSMartin Mares * lib/pci.h, lib/generic.c: Added PCI_FILL_CLASS. 902c2b144efSMartin Mares 903c2b144efSMartin Mares * lib/sysfs.c: Fetch device ID and class from sysfs, because they can 904c2b144efSMartin Mares be modified by kernel fixups. 905c2b144efSMartin Mares 906c2b144efSMartin Mares * lspci.c: Use PCI_FILL_CLASS. Thanks to Matthew Willcox for the patch. 907c2b144efSMartin Mares 908bc2eed2dSMartin Mares2006-06-03 Martin Mares <[email protected]> 909bc2eed2dSMartin Mares 910bc2eed2dSMartin Mares * lspci.c: Introduced the -nn switch. Thanks to David N. Welton 911bc2eed2dSMartin Mares for the idea. 912bc2eed2dSMartin Mares 913bc2eed2dSMartin Mares * lib/names.c (pci_lookup_name): Introduced PCI_LOOKUP_MIXED and 914bc2eed2dSMartin Mares cleaned up the name selection code. 915bc2eed2dSMartin Mares 916c72eeddeSMartin Mares * lib/names.c (pci_lookup_name): If PCI_LOOKUP_NO_NUMBERS is given, 917c72eeddeSMartin Mares pci_access->numeric_ids is ignored. 918c72eeddeSMartin Mares 919c72eeddeSMartin Mares * lib/names.c (pci_lookup_name): When class is identified and 920c72eeddeSMartin Mares subclass isn't, display class name and subclass number. 921c72eeddeSMartin Mares 9222f294d4bSMartin Mares2006-05-31 Martin Mares <[email protected]> 9232f294d4bSMartin Mares 9242f294d4bSMartin Mares * setpci.c (main): Don't crash when an invalid width is specified. 9252f294d4bSMartin Mares 92681afa98cSMartin Mares * lspci.c, setpci.c, common.c: die() now uses the right program 92781afa98cSMartin Mares name when printing an error message. 92881afa98cSMartin Mares 9290ac282f2SMartin Mares2006-05-19 Martin Mares <[email protected]> 9300ac282f2SMartin Mares 9310ac282f2SMartin Mares * README: Mention the public GIT tree. 9320ac282f2SMartin Mares 9330ac282f2SMartin Mares * README: Updated the list of ports. 9340ac282f2SMartin Mares 935d1058e9dSMartin Mares2006-05-10 Martin Mares <[email protected]> 936d1058e9dSMartin Mares 937d1058e9dSMartin Mares * lib/configure, lib/fbsd-device.c: Added support for GNU/kFreeBSD. 938d1058e9dSMartin Mares Thanks to Petr Salinger for the patch. 939d1058e9dSMartin Mares 940abf8d505SMartin Mares2006-05-05 Martin Mares <[email protected]> 941abf8d505SMartin Mares 9422ae2d1aeSMartin Mares * Released as 2.2.3. 9432ae2d1aeSMartin Mares 9442ae2d1aeSMartin Mares * lspci.c (scan_device): The -D switch didn't work as intended 9452ae2d1aeSMartin Mares in -m mode. 9462ae2d1aeSMartin Mares 9472ae2d1aeSMartin Mares2006-05-05 Martin Mares <[email protected]> 9482ae2d1aeSMartin Mares 9491d5cf727SMartin Mares * Released as 2.2.2. 9501d5cf727SMartin Mares 9518a830168SMartin Mares * pci.ids: Updated to the current database snapshot. 9528a830168SMartin Mares 953b6359063SMartin Mares * lib/obsd-device.c (and other files in lib/*): Added OpenBSD 954b6359063SMartin Mares interface by Matthieu Herrb <[email protected]>, based on 955b6359063SMartin Mares the existing FreeBSD interface. 956b6359063SMartin Mares 957abf8d505SMartin Mares * Moved pciutils to a GIT repository, which now contains merged 958abf8d505SMartin Mares history from both CVS and Arch. Good bye, TLA! 959abf8d505SMartin Mares 9606ac70402SMartin Mares2006-03-21 Martin Mares <[email protected]> 9616ac70402SMartin Mares 9622a124daeSMartin Mares * lspci.c (show_slot_name): Avoid the previous changes in default 9632a124daeSMartin Mares display of domain name when in machine-readable mode. However, `-D' 9642a124daeSMartin Mares forces domain display even there. 9652a124daeSMartin Mares 9666ac70402SMartin Mares * lspci.man: Added a warning on -m being the only format, which is 9676ac70402SMartin Mares guaranteed to be stable between lspci versions. 9686ac70402SMartin Mares 9691bbdea17SMartin Mares2006-03-13 Martin Mares <[email protected]> 9701bbdea17SMartin Mares 971af61eb25SMartin Mares * lspci.man: Documented the -D switch. 972af61eb25SMartin Mares 973af61eb25SMartin Mares * lspci.c (show_slot_name, scan_device): If there are multiple PCI 974af61eb25SMartin Mares domains or if the `-D' switch is used, show the domain number for 975af61eb25SMartin Mares all devices. 976af61eb25SMartin Mares 9777a61b93cSMartin Mares * lspci.c (show_verbose): Report cache line size in bytes. 9787a61b93cSMartin Mares 9791bbdea17SMartin Mares * update-pciids.sh: Use curl if available. Patch by Matthew Wilcox. 9801bbdea17SMartin Mares 9810e78ef8aSMartin Mares2006-01-04 Martin Mares <[email protected]> 9820e78ef8aSMartin Mares 9830e78ef8aSMartin Mares * lspci.c (show_express_link): Fixed decoding of link status register. 9840e78ef8aSMartin Mares Thanks to Roland Dreier for his report. 9850e78ef8aSMartin Mares 986e6859953SMartin Mares2005-12-12 Martin Mares <[email protected]> 987e6859953SMartin Mares 988e6859953SMartin Mares * lib/nbsd-libpci.c: If libpci is used by an ordinary user, allow 989e6859953SMartin Mares at least read-only access. Patch by Pavel Celeda <[email protected]>. 990e6859953SMartin Mares 991e6859953SMartin Mares * Makefile: Corrected library path on NetBSD. 992e6859953SMartin Mares 993a99c0d69SMartin Mares2005-11-26 Martin Mares <[email protected]> 994a99c0d69SMartin Mares 995e4af70c6SMartin Mares * Released as 2.2.1. 996e4af70c6SMartin Mares 997a99c0d69SMartin Mares * lspci.c (show_machine): Subsystem vendors were printed incorrectly 998a99c0d69SMartin Mares in machine-readable modes. Thanks to Pavel Celeda for a bug report. 999a99c0d69SMartin Mares 1000f23fd3fcSMartin Mares2005-10-11 Martin Mares <[email protected]> 1001f23fd3fcSMartin Mares 1002f23fd3fcSMartin Mares * lspci.c (new_bus): Fixed a memory leak. Thanks to Paul Sangree for reporting it. 1003f23fd3fcSMartin Mares 100415296723SMartin Mares2005-09-21 Martin Mares <[email protected]> 100515296723SMartin Mares 100615296723SMartin Mares * Released as 2.2.0. 100715296723SMartin Mares 100840b6d93fSMartin Mares * pci.ids: Updated copyright header. 100940b6d93fSMartin Mares 101015296723SMartin Mares * lib/sysfs.c (sysfs_get_resources): Removed warning about unsupported 101115296723SMartin Mares 64-bit addresses, they are now always supported. 101215296723SMartin Mares 101315296723SMartin Mares * lspci.c (show_bases): Corrected printing of 64-bit addresses 101415296723SMartin Mares in bus-centric mode. 101515296723SMartin Mares 101615296723SMartin Mares * lib/configure: Enable 64-bit addresses on all Linux systems. 101715296723SMartin Mares 101815296723SMartin Mares * lib/types.h: Don't pad 64-bit addresses to 16 xigits, only to 8 if they 101915296723SMartin Mares are shorter. 102015296723SMartin Mares 1021224707baSMartin Mares2005-09-11 Martin Mares <[email protected]> 1022224707baSMartin Mares 1023224707baSMartin Mares * Released as 2.1.99-test11. 1024224707baSMartin Mares 1025224707baSMartin Mares * lspci.c: Removed unnecessary trailing zeros in pci_lookup_name() calls. 1026224707baSMartin Mares 1027aeaca5d3SMartin Mares2005-09-10 Martin Mares <[email protected]> 1028aeaca5d3SMartin Mares 1029224707baSMartin Mares * Released as 2.1.99-test10. 1030224707baSMartin Mares 103163e6f2e0SMartin Mares * pci.ids: Synchronized with the current database snapshot. 103263e6f2e0SMartin Mares 1033043ebdeeSMartin Mares * update-pciids.sh: Changed the default URL for downloading pci.ids 1034043ebdeeSMartin Mares to http://pciids.sourceforge.net/v2.2/pci.ids. 1035043ebdeeSMartin Mares 1036043ebdeeSMartin Mares * lib/pci.h (PCI_LIB_VERSION): Added version identifier. 1037043ebdeeSMartin Mares 1038aeaca5d3SMartin Mares * lib/names.c: Rewritten the name database module almost from scratch. 1039aeaca5d3SMartin Mares Everything is much cleaner and there are hopefully no more memory leaks; 1040aeaca5d3SMartin Mares pci_lookup_name() now uses varargs in a backward compatible fashion. 1041aeaca5d3SMartin Mares Introduced PCI_LOOKUP_NO_NUMBERS. 1042aeaca5d3SMartin Mares 1043aeaca5d3SMartin Mares The new code supports subsystem entries not tied to a specific device. 1044aeaca5d3SMartin Mares I had to extend the format of pci.ids in order to support it, so I have 1045aeaca5d3SMartin Mares extended the idea of the "C" (class) blocks and introduced "S" blocks 1046aeaca5d3SMartin Mares for subsystems. To avoid doing more incompatible changes in the future, 1047aeaca5d3SMartin Mares the parser skips unknown single-letter blocks without reporting errors. 1048aeaca5d3SMartin Mares 1049121c76c9SMartin Mares2005-08-23 Martin Mares <[email protected]> 1050121c76c9SMartin Mares 105154e13765SMartin Mares * Released as 2.1.99-test9. 105254e13765SMartin Mares 105354e13765SMartin Mares * Makefile (OPT): Removed -fomit-frame-pointer, it's default in recent 105454e13765SMartin Mares gcc versions when optimizing anyway. 105554e13765SMartin Mares 105654e13765SMartin Mares * Made the path to pci.ids customizable and independent on the SHAREDIR. 105754e13765SMartin Mares Just override IDSDIR in the top-level Makefile. 105854e13765SMartin Mares 105954e13765SMartin Mares * pci.ids: Synchronized with the current database snapshot. 106054e13765SMartin Mares 106184d437d6SMartin Mares * lspci.man, setpci.man: Improved the man pages. Documented all access 106284d437d6SMartin Mares methods and which operations are privileged. 106384d437d6SMartin Mares 106484d437d6SMartin Mares * lspci.c: Another rewrite of config register caching, now also including 106584d437d6SMartin Mares lots of internal checks. It should be now perfectly able to cope with 106684d437d6SMartin Mares portions of the configuration space being inaccessible, for example 106784d437d6SMartin Mares due to insufficient access rights. 106884d437d6SMartin Mares 10693b8bf739SMartin Mares * lspci.c (show_pcix_nobridge, show_pcix_bridge): Cleaned up dumping of PCI-X 10703b8bf739SMartin Mares capabilities. Includes partial support for PCI-X 2.0 (probably incomplete 10713b8bf739SMartin Mares as I haven't seen the spec). 10723b8bf739SMartin Mares 10733b8bf739SMartin Mares * lspci.c: Quell warnings about unused parameters. 10743b8bf739SMartin Mares 107584d437d6SMartin Mares * lspci.c: Removed C++ comments. 107684d437d6SMartin Mares 10773b8bf739SMartin Mares * lib/header.h: Merged definitions of extended capabilities and some new 10783b8bf739SMartin Mares PCI-X capability bits from linux-2.6.11/include/pci.h. 10793b8bf739SMartin Mares 10803b8bf739SMartin Mares * lspci.c (show_caps): Try to scan extended capabilities only if the 10813b8bf739SMartin Mares device has either PCI-X or PCI Express capability in its normal capability 10823b8bf739SMartin Mares list. 10833b8bf739SMartin Mares 1084f7821e53SMartin Mares * lib/dump.c (dump_init): Reading of dumps works again. The dump reader 1085f7821e53SMartin Mares now also remembers how much data it has read and refuses attempts to 1086f7821e53SMartin Mares access more than that. 1087ea4e5f5dSMartin Mares 108846ea554dSMartin Mares * setpci.man, lspci.c, README: prefer spelling "buses" over "busses". 108946ea554dSMartin Mares 10908afaab22SMartin Mares * lspci.c: If alloca() is not available, use xmalloc(), not malloc(). 10918afaab22SMartin Mares 1092121c76c9SMartin Mares * lib/configure: Added x86_64 on Linux. 1093121c76c9SMartin Mares 1094c1c2c30eSMartin Mares2005-08-22 Martin Mares <[email protected]> 1095c1c2c30eSMartin Mares 1096b9ca9147SMartin Mares * lib/filter.c (pci_filter_parse_slot): Fixed parsing of domain filters. 1097b9ca9147SMartin Mares Thanks to Matthew Wilcox for bug report. 1098b9ca9147SMartin Mares 1099c1c2c30eSMartin Mares * lspci.c: Corrected spelling of "Hz" (it was "hz" at several places). 1100b9ca9147SMartin Mares Thanks to Krzysztof Oledzki for pointing that out. 1101c1c2c30eSMartin Mares 110226542a0bSMartin Mares2004-08-19 Martin Mares <[email protected]> 110326542a0bSMartin Mares 110426542a0bSMartin Mares * pciutils.spec (%attr): Setting attributes for /sbin/* is an anachronism, 110526542a0bSMartin Mares because pciutils by default install to /usr/sbin. Update. 110626542a0bSMartin Mares 11076aa54f1bSMartin Mares2004-08-13 Martin Mares <[email protected]> 11086aa54f1bSMartin Mares 1109aabb0a92SMartin Mares * Released as 2.1.99-test8. 1110aabb0a92SMartin Mares 1111f31412d1SMartin Mares * lib/types.h, lib/pci.h, lib/sysdep.h: `byte' and `word' are 1112f31412d1SMartin Mares no longer exported to the outside world. 1113f31412d1SMartin Mares 1114ee7d8384SMartin Mares * README.Windows: Updated. 1115ee7d8384SMartin Mares 1116ee7d8384SMartin Mares * maint/release: Substitute version number in win32/config.h. 1117ee7d8384SMartin Mares 1118ee7d8384SMartin Mares * win32/config.h: Added. 1119ee7d8384SMartin Mares 1120ee7d8384SMartin Mares * lib/sysdep.h (bzero, strcasecmp): are macros on Windows. 1121ee7d8384SMartin Mares 1122ee7d8384SMartin Mares * compat/getopt.[ch]: Added copies of getopt.[ch] from the GNU 1123ee7d8384SMartin Mares C library for use on systems where the default libraries lack 1124ee7d8384SMartin Mares proper getopt. Currently used by the Windows port. 1125ee7d8384SMartin Mares 1126ee7d8384SMartin Mares * lib/sysdep.h, lib/types.h: Updates of the Windows port from 1127ee7d8384SMartin Mares Alexander Stock. 1128ee7d8384SMartin Mares 1129489233b4SMartin Mares * lib/types.h: If PCI_HAVE_Uxx_TYPES is defined, libpci doesn't define 1130489233b4SMartin Mares its own u8, u16, u32, byte and word types and uses what the user 1131489233b4SMartin Mares has supplied instead. With this change, all namespace clashes should 1132489233b4SMartin Mares be gone. 1133489233b4SMartin Mares 1134489233b4SMartin Mares * Makefile, lib/Makefile: Updated dependencies. 1135489233b4SMartin Mares 1136489233b4SMartin Mares * pciutils.h: Include lib/sysdep.h and move NONRET et al. there. 1137489233b4SMartin Mares 1138489233b4SMartin Mares * lib/sysdep.h: No need to include <sys/types.h> on FreeBSD, because 1139489233b4SMartin Mares it is included unconditionally in lib/types.h. 1140489233b4SMartin Mares 1141489233b4SMartin Mares * Moved system-dependent stuff from lib/internal.h to lib/sysdep.h, 1142489233b4SMartin Mares which is also used by the utilities. Also moved type declarations 1143489233b4SMartin Mares from lib/pci.h to lib/types.h. 1144489233b4SMartin Mares 1145489233b4SMartin Mares * All files: Prepend a "PCI_" prefix in front of all configuration 1146489233b4SMartin Mares defines to avoid namespace clashes. CAVEAT: If there is any libpci 1147489233b4SMartin Mares application using the (undocumented) defines, it has to be updated. 1148489233b4SMartin Mares 1149489233b4SMartin Mares * lib/Makefile: Killed HAVE_OWN_HEADER_H, since we stopped sharing 1150489233b4SMartin Mares headers with the kernel a couple of years ago. 1151489233b4SMartin Mares 11529bb4b4eaSMartin Mares * lib/sysfs.c (sysfs_get_resources): We have 7 resources, not 6. 11539bb4b4eaSMartin Mares 11546aa54f1bSMartin Mares * lspci.c (show_rom): Use the same logic for printing disabled 11556aa54f1bSMartin Mares or unassigned ROM's as we do in show_bases() for the other BAR's. 11566aa54f1bSMartin Mares 11576aa54f1bSMartin Mares * lib/generic.c (pci_generic_fill_info): Better reaction to 11586aa54f1bSMartin Mares invalid 64-bit addresses. Also d->hdrtype should not include 11596aa54f1bSMartin Mares bit 7, which caused mysterious errors on multi-function devices. 11606aa54f1bSMartin Mares 11616aa54f1bSMartin Mares * lib/generic.c (pci_generic_fill_info): Fill in base addresses 11626aa54f1bSMartin Mares even if the regions are known to be disabled. It is the client's 11636aa54f1bSMartin Mares job to interpret them. (And it is not a trivial job if you want 11646aa54f1bSMartin Mares to do it correctly, since you need to check I/O and memory enables 11656aa54f1bSMartin Mares on all upstream bridges, too.) However, it could be interesting to 11666aa54f1bSMartin Mares introduce functions for interpreting the addresses and even for 11676aa54f1bSMartin Mares mapping the regions and doing I/O on them. 11686aa54f1bSMartin Mares 116980e6c636SMartin Mares2004-07-30 Martin Mares <[email protected]> 117080e6c636SMartin Mares 117180e6c636SMartin Mares * lspci.c: HyperTransport improvements from Maciej. 117280e6c636SMartin Mares 1173d6324891SMartin Mares2004-07-11 Martin Mares <[email protected]> 1174d6324891SMartin Mares 1175d6324891SMartin Mares * lib/sysfs.c (sysfs_get_resources): Arguments now correspond 1176d6324891SMartin Mares to the format string. [Patch by Bill Nottingham] 1177d6324891SMartin Mares 1178ec25b52dSMartin Mares2004-07-05 Martin Mares <[email protected]> 1179ec25b52dSMartin Mares 1180362be683SMartin Mares * Released as 2.1.99-test7. 1181362be683SMartin Mares 1182ec25b52dSMartin Mares * lspci.c (config_fetch): Wanted to merge Matthew's bug fix, but 1183ec25b52dSMartin Mares ended up with rewriting the fetching mechanism to be fully dynamic, 1184ec25b52dSMartin Mares but avoid reading config space registers not explicitly requested. 1185ec25b52dSMartin Mares 1186ec25b52dSMartin Mares2004-06-29 Matthew Wilcox <[email protected]> 1187ec25b52dSMartin Mares 1188ec25b52dSMartin Mares * lspci.c: More work on PCI Express dumping. 1189ec25b52dSMartin Mares 1190ec25b52dSMartin Mares * lib/header.h: Updated PCI Express capability definitions. 1191ec25b52dSMartin Mares 1192ec25b52dSMartin Mares * lib/proc.c (proc_read): Removed bogus warning. 1193ec25b52dSMartin Mares 1194ec25b52dSMartin Mares * common.c (xrealloc): Introduced. 1195ec25b52dSMartin Mares 1196ec25b52dSMartin Mares * lspci.man: Added -xxxx. 1197ec25b52dSMartin Mares 119809817437SMartin Mares2004-06-27 Martin Mares <[email protected]> 119909817437SMartin Mares 1200d1fa27ebSMartin Mares * Released as 2.1.99-test6. 1201d1fa27ebSMartin Mares 12024d67aa89SMartin Mares * lspci.c (show_msix), lib/header.h: Added dumping of MSI-X cap. 12034d67aa89SMartin Mares Patch by Roland Dreier <[email protected]>, cleaned up by me. 12044d67aa89SMartin Mares 12054d67aa89SMartin Mares * lspci.c (show_pcix_nobridge, show_pcix_bridge): Handle config_fetch() 12064d67aa89SMartin Mares failures. 12074d67aa89SMartin Mares 12084d67aa89SMartin Mares * lib/header.h: Added PCI Express extended capabilities. Again by Matthew. 12094d67aa89SMartin Mares 12104d67aa89SMartin Mares * lspci.c (show_express): Added dumping of PCI Express cap. 12114d67aa89SMartin Mares Patch by Matthew Wilcox. 12124d67aa89SMartin Mares 12134d67aa89SMartin Mares * lib/header.h: Added a list of PCI 3.0 capabilities and also details 12144d67aa89SMartin Mares on PCI Express caps. Patch by Matthew Wilcox <[email protected]>. 12154d67aa89SMartin Mares 121609817437SMartin Mares * lspci.c (check_root): Gone. No explicit checks for root are needed, 121709817437SMartin Mares report correct errors reported by the libpci instead. 121809817437SMartin Mares 121909817437SMartin Mares * lspci.c: Added dumping of the extended config space on "-xxxx". 122009817437SMartin Mares Better caching of config registers. 122109817437SMartin Mares 122209817437SMartin Mares * setpci.c (main): Allow access to whole 4096 bytes of the config space. 122309817437SMartin Mares 122409817437SMartin Mares * lib/sysfs.c, lib/proc.c: Don't print error messages on short reads, 122509817437SMartin Mares just return the appropriate error code. 122609817437SMartin Mares 122709817437SMartin Mares * lib: Added support for extended (4096-byte) configuration space, 122809817437SMartin Mares currently implemented only in Linux proc and sysfs access methods 122909817437SMartin Mares and of course in the dump reader. 123009817437SMartin Mares 12310d656226SMartin Mares2004-05-29 Martin Mares <[email protected]> 12320d656226SMartin Mares 1233c0eece92SMartin Mares * Released as 2.1.99-test5. 1234c0eece92SMartin Mares 1235a2413560SMartin Mares * lib/pci.h: Windows don't have the standard u_int* types. 1236a2413560SMartin Mares 1237a2413560SMartin Mares * lib/internal.h: <sys/param.h> required on Windows for endianity 1238a2413560SMartin Mares macros. 1239a2413560SMartin Mares 1240a2413560SMartin Mares * lib/i386-ports.c: Connected i386-io-windows.h. 1241a2413560SMartin Mares 1242a2413560SMartin Mares * lspci.c (check_root): geteuid() is not available on Windows. 1243a2413560SMartin Mares 1244a2413560SMartin Mares * lib/i386-io-windows.h: Added Windows port contributed by Alexander 1245a2413560SMartin Mares Stock <[email protected]>. 1246a2413560SMartin Mares 1247a2413560SMartin Mares * lib/configure: Hopefully fixed SunOS port broken by various 1248a2413560SMartin Mares changes to the configure script. 1249a2413560SMartin Mares 12500d656226SMartin Mares * Makefile, lib/configure: Cross-compilation support, patch by Maciej. 12510d656226SMartin Mares 1252138c0385SMartin Mares2004-05-28 Martin Mares <[email protected]> 1253138c0385SMartin Mares 12549f490382SMartin Mares * Released as 2.1.99-test4. 12559f490382SMartin Mares 1256cce2caacSMartin Mares * lspci.c (show_verbose): Header type 1 is probably legal for all 1257cce2caacSMartin Mares types of bridges, not only for PCI-to-PCI bridges. 1258cce2caacSMartin Mares 1259b569ef09SMartin Mares * lspci.c (format_agp_rate): Write "x16", not "x@". 1260b569ef09SMartin Mares (show_agp): rate[] could overflow. 1261b569ef09SMartin Mares Bugs reported by Jakub Bogusz <[email protected]>. 1262b569ef09SMartin Mares 1263bfc4fe7aSMartin Mares * lspci.c (show_ht_*): Show HyperTransport capability with all its 1264bfc4fe7aSMartin Mares details. Once again code by Maciej simplified (i.e., possibly broken) 1265bfc4fe7aSMartin Mares by me. 1266bfc4fe7aSMartin Mares 1267bfc4fe7aSMartin Mares * lib/header.h: Added declarations of HyperTransport capability. 1268bfc4fe7aSMartin Mares Again thanks to Maciej. 1269bfc4fe7aSMartin Mares 1270138c0385SMartin Mares * lspci.c: Decode all bits of the secondary status word in type 1 headers. 1271138c0385SMartin Mares Thanks to Maciej W. Rozycki <[email protected]> for the patch. 1272138c0385SMartin Mares 12738fc75dbcSMartin Mares2003-12-27 Martin Mares <[email protected]> 12748fc75dbcSMartin Mares 127581abd2a7SMartin Mares * Released as 2.1.99-test3. 127681abd2a7SMartin Mares 12771f7c91ccSMartin Mares * lspci.man, setpci.man: Document domains and correct spelling. 12781f7c91ccSMartin Mares 12791f7c91ccSMartin Mares * lib/dump.c (dump_init): Added ability to read domain numbers. 12801f7c91ccSMartin Mares 128184c8d1bbSMartin Mares * lspci.c: Devices in domains different from 0 have their slot number 12821f7c91ccSMartin Mares printed as "<domain>:<bus>:<slot>.<func>". Tree view supports domains 12831f7c91ccSMartin Mares as well. 128484c8d1bbSMartin Mares 128584c8d1bbSMartin Mares * lib/filter.c: Slot filters understand domains. 128684c8d1bbSMartin Mares 128784c8d1bbSMartin Mares * lib/generic.c: Mention the domain in slot numbers in all error messages. 128884c8d1bbSMartin Mares 128984c8d1bbSMartin Mares * lib/internal.h: The #ifdef for Linux <asm/byteorder.h> was wrong. 129084c8d1bbSMartin Mares 129184c8d1bbSMartin Mares * lib/access.c (pci_get_dev): Added support for domains. 129284c8d1bbSMartin Mares 129384c8d1bbSMartin Mares * lib/sysfs.c (sysfs_scan): Read vendor and device ID from the config 129484c8d1bbSMartin Mares registers (or to be precise, leave it for the generic parts of the pcilib 129584c8d1bbSMartin Mares to do so) instead of reading them from the sysfs. It's faster this way. 129684c8d1bbSMartin Mares 129784c8d1bbSMartin Mares * lspci.c (show_pcix): Don't touch pci_dev->hdrtype, it's an internal 129884c8d1bbSMartin Mares variable. Better read it from the config registers (it's cached anyway). 129984c8d1bbSMartin Mares 130084c8d1bbSMartin Mares * lib/sysfs.c (sysfs_scan), lib/proc.c (proc_scan): Don't read the hdrtype. 130184c8d1bbSMartin Mares lib/generic.c (pci_generic_fill_info): If hdrtype is -1 (unset), read it. 130284c8d1bbSMartin Mares Saves lots of unnecessary file accesses. 130384c8d1bbSMartin Mares 130411f7b31bSMartin Mares * lib/pci.h (PCIADDR_PORT_FMT): Use %llx instead of %Lx, because the latter 130511f7b31bSMartin Mares is not supported by all C libraries. 130611f7b31bSMartin Mares 130711f7b31bSMartin Mares * Makefile: Always enter the lib directory (remember that we don't have 130811f7b31bSMartin Mares full dependecies for the library in the top-level Makefile; hmmm, another 130911f7b31bSMartin Mares thing to rewrite some day). 131011f7b31bSMartin Mares 131111f7b31bSMartin Mares * lib/sysfs.c: Added Linux sysfs access method based on the patch 131211f7b31bSMartin Mares written by Matthew Wilcox <[email protected]>. 131311f7b31bSMartin Mares 131411f7b31bSMartin Mares * lib/proc.c: Renamed the access method name from "/proc/bus/pci" to "Linux-proc". 131511f7b31bSMartin Mares 131611f7b31bSMartin Mares * lib/pread.h: The hacks to support pread on various versions 131711f7b31bSMartin Mares of Linux libc moved there. 131811f7b31bSMartin Mares 131911f7b31bSMartin Mares * lib/proc.c (proc_setup): The return value of snprintf() varies 132011f7b31bSMartin Mares between glibc versions, so we need to check both for a negative 132111f7b31bSMartin Mares values and for too large values. 132211f7b31bSMartin Mares 13234284af58SMartin Mares * Removed last few references to the "Linux PCI Utilities", the 13244284af58SMartin Mares package is pretty cross-platform now :) 13254284af58SMartin Mares 13264284af58SMartin Mares2003-12-27 Martin Mares <[email protected]> 13274284af58SMartin Mares 1328ab12277eSMartin Mares * Released as 2.1.99-test2. 1329ab12277eSMartin Mares 1330ab12277eSMartin Mares * README, pciutils.lsm, pciutils.spec: Use @VERSION@ to make the 1331ab12277eSMartin Mares release scripts insert the current version. "make release" is gone. 1332ab12277eSMartin Mares 1333ab12277eSMartin Mares * maint/release, maint/release.pm: Added a new system of scripts for 1334ab12277eSMartin Mares making releases including inter-version diffs etc. 1335ab12277eSMartin Mares 1336ab12277eSMartin Mares * Makefile: Cleaned up. 1337ab12277eSMartin Mares 1338ab12277eSMartin Mares * lib/fbsd-device.c: I patched another copy of this file by mistake, 1339ab12277eSMartin Mares this time the version checks should be right. 1340ab12277eSMartin Mares 1341ab12277eSMartin Mares2003-12-27 Martin Mares <[email protected]> 1342ab12277eSMartin Mares 13436d722cd6SMartin Mares * Released as 2.1.99-test1. 13446d722cd6SMartin Mares 1345dd33246aSMartin Mares * pciutils.h, common.c, lspci.man, setpci.man, lib/internal.h: 1346dd33246aSMartin Mares Remove shadows of the syscall access method which was never 1347dd33246aSMartin Mares implemented. 1348dd33246aSMartin Mares 134980b3121aSMartin Mares * update-pciids.sh: Try to preserve permissions of the old file 135080b3121aSMartin Mares if chmod supports --reference. Should close Debian Bug #223740. 135180b3121aSMartin Mares 13526aea909aSMartin Mares * lib/proc.c (proc_setup): Increased path name length limit to 1024. 13536aea909aSMartin Mares Thanks for Redhat and Mandrake for inspiration. 13546aea909aSMartin Mares 13556aea909aSMartin Mares * lib/configure: Recognize ppc and ppc64, both have 64-bit addresses. 13566aea909aSMartin Mares Grabbed from Redhat (Fedora) patches. 13576aea909aSMartin Mares 13586aea909aSMartin Mares2003-12-27 Martin Mares <[email protected]> 13596aea909aSMartin Mares 1360f701ff47SMartin Mares Merged bug fixes from Debian patches: 1361f701ff47SMartin Mares 1362f701ff47SMartin Mares * lspci.c (show_verbose): "Cache Line Size" should be capitalized. 1363f701ff47SMartin Mares 1364f701ff47SMartin Mares * lspci.c (show_pcix_nobridge): Added a missing newline. 1365f701ff47SMartin Mares 13662240db8cSMartin Mares * lib/proc.c (proc_scan): When reading the header type, don't 13672240db8cSMartin Mares forget to clear the topmost bit indicating that the device has 1368f701ff47SMartin Mares multiple functions. 13692240db8cSMartin Mares 13702240db8cSMartin Mares2003-12-27 Martin Mares <[email protected]> 13712240db8cSMartin Mares 137245902995SMartin Mares Updated the FreeBSD port. Thanks to Samy Al Bahra <[email protected]> 137345902995SMartin Mares for the patches: 137445902995SMartin Mares 137545902995SMartin Mares * lib/Makefile: Add ${FREEBSD_SYS} to the include path if it's defined. 137645902995SMartin Mares * lib/fbsd-device.c: Select the right set of system includes according 137745902995SMartin Mares to __FreeBSD_version. 137845902995SMartin Mares 137945902995SMartin Mares2003-12-27 Martin Mares <[email protected]> 138045902995SMartin Mares 13818fc75dbcSMartin Mares Merged support for Solaris on i386 by Bill Moore <[email protected]> 13828fc75dbcSMartin Mares and cleaned up: 13838fc75dbcSMartin Mares 13848fc75dbcSMartin Mares * lib/configure: Recognize SunOS. 13858fc75dbcSMartin Mares * lib/internal.h: Learn how to recognize byte order on SunOS. 13868fc75dbcSMartin Mares * lib/i386-ports.c: Split OS-dependent I/O port access from i386-ports.c. 13878fc75dbcSMartin Mares * lib/i386-io-linux.h: Linux specific part. 13888fc75dbcSMartin Mares * lib/i386-io-hurd.h: GNU/Hurd specific part. 13898fc75dbcSMartin Mares * lib/i386-io-sunos.h: SunOS specific part. 13908fc75dbcSMartin Mares 13919739916eSMartin Mares2003-12-26 Martin Mares <[email protected]> 13929739916eSMartin Mares 13939739916eSMartin Mares * lib/header.h (PCI_*_MASK): Cast to pciaddr_t explicitly. 13949739916eSMartin Mares 13959739916eSMartin Mares * lib/pci.h: Types declared in <sys/types.h> should be usable on all 13969739916eSMartin Mares platforms we currently support, so kill the forest of #ifdef's and 13979739916eSMartin Mares use them in all cases. 13989739916eSMartin Mares 13999739916eSMartin Mares * lib/pci.h: Use ULONG_MASK to decide whether we should use long 14009739916eSMartin Mares or long long to represent a 64-bit address. Killed HAVE_LONG_ADDRESS. 14019739916eSMartin Mares Define format strings for addresses, port numbers and IRQ numbers 14029739916eSMartin Mares directly in pci.h. 14039739916eSMartin Mares 14049739916eSMartin Mares * lib/proc.c (proc_scan): Use PCIADDR_T_FMT for scanf'ing addresses. 14059739916eSMartin Mares 140680459c65SMartin Mares2003-12-26 Marco Gerards <[email protected]> 140780459c65SMartin Mares 140880459c65SMartin Mares Added support for the GNU Hurd (cleaned up by Martin Mares): 140980459c65SMartin Mares 141080459c65SMartin Mares * lib/configure [GNU]: Use the i386 ports for configuration access. 141180459c65SMartin Mares * lib/i386-ports.c: Don't call iopl() on the Hurd. 141280459c65SMartin Mares * lib/pci.h [OS_GNU]: Include <sys/types.h> and use it for defining 141380459c65SMartin Mares u8 to u32. 141480459c65SMartin Mares 1415a85769a8SMartin Mares2003-12-26 Martin Mares <[email protected]> 1416a85769a8SMartin Mares 14177dacd9c8SMartin Mares * lspci.c (show_pcix_bridge, show_pcix_nobridge): Don't forget to call 14187dacd9c8SMartin Mares config_fetch() to ensure that the registers have been read. Thanks to 14197dacd9c8SMartin Mares Bill Wood <[email protected]> for the patch. 14207dacd9c8SMartin Mares 14217dacd9c8SMartin Mares * lspci.c: Ensure that failure of config_fetch() is handled correctly 14227dacd9c8SMartin Mares at all places. 14237dacd9c8SMartin Mares 14244063c31cSMartin Mares * lspci.man: There was one more explicit reference to /usr/share/pci.ids. 14254063c31cSMartin Mares Changed to @SHAREDIR@. Patch from Maciej W. Rozycki <[email protected]>. 14264063c31cSMartin Mares 14273fe8a38dSMartin Mares * setpci.c (main): Better error messages. 14283fe8a38dSMartin Mares 14295f5b1a7bSMartin Mares * setpci.c (ex_op): The demo mode should disable only writing, not reading. 14305f5b1a7bSMartin Mares 14315f5b1a7bSMartin Mares * setpci.man: The documentation was inconsistent on what should -D do. 14325f5b1a7bSMartin Mares Document the new behaviour. 1433b251f40bSMartin Mares 143491e37a49SMartin Mares * pciutils.h, common.c, setpci.c: Introduced a NONRET macro encapsulating 143591e37a49SMartin Mares the GCC specific __attribute__((noreturn)) and killed the hack with 143691e37a49SMartin Mares redefining __attribute__ on non-GCC compilers. 143791e37a49SMartin Mares 14384afd29d3SMartin Mares * Makefile: Added missing dependencies. Parallel builds work now. 14394afd29d3SMartin Mares Problem reported by Andreas Haumer <[email protected]>, but I chose 14404afd29d3SMartin Mares a different fix. 14414afd29d3SMartin Mares 1442b0f1a03bSMartin Mares * Makefile (MANDIR): Use `:=' instead of `=' to avoid executing the shell 1443b0f1a03bSMartin Mares command every time $(MANDIR) is referenced. 1444b0f1a03bSMartin Mares 1445b7fd8e19SMartin Mares * lspci.c (main): The error message for `lspci -s' incorrectly mentioned 1446b7fd8e19SMartin Mares a `-f' switch. Reported by Steve Finney <[email protected]>. 1447b7fd8e19SMartin Mares 144805bb10a2SMartin Mares * lib/generic.c: Removed memory leak in pci_generic_bus_scan(). 144905bb10a2SMartin Mares Reported by Gary Parnes <[email protected]>. 145005bb10a2SMartin Mares 1451a832f6f1SMartin Mares * Replaced obsolete syntax of __attribute__((unused)) in the middle of 1452a832f6f1SMartin Mares parameter declarations (which is no longer supported by GCC 3.1) by the 1453a832f6f1SMartin Mares current syntax (attribute at the end). Thanks to [email protected] 1454a832f6f1SMartin Mares for reporting this problem. 1455a832f6f1SMartin Mares 1456a85769a8SMartin Mares * Removed CVS $Id$ tags from all files. 1457a85769a8SMartin Mares 1458a85769a8SMartin Mares * Makefile: Added some more warnings. 1459a85769a8SMartin Mares 1460b7351143SMartin Mares * setpci.c: Cleaned up mask/value code. 1461b7351143SMartin Mares 1462b7351143SMartin Mares2003-12-08 Thayne Harbaugh <[email protected]> 1463b7351143SMartin Mares 1464b7351143SMartin Mares * setpci.c: Individual bits to be set can be specified as <value>:<mask>. 1465b7351143SMartin Mares 14662a5d5cf9SMartin Mares2003-11-29 Martin Mares <[email protected]> 14672a5d5cf9SMartin Mares 14682a5d5cf9SMartin Mares * Imported the pciutils sources to my Arch repository. Good-bye, CVS. 14692a5d5cf9SMartin Mares 1470d772ef15SMartin Mares2003-01-04 Martin Mares <[email protected]> 1471d772ef15SMartin Mares 14721b95f396SMartin Mares * Released as 2.1.11. 14731b95f396SMartin Mares 1474c83293ebSMartin Mares * Makefile: Changed configuration of installation directories -- 1475c83293ebSMartin Mares all paths are now set at the top of the Makefile instead of being 1476c83293ebSMartin Mares scattered between the installation rules. The default installation 1477c83293ebSMartin Mares now goes always to /usr/local regardless of the OS as most distributions 1478c83293ebSMartin Mares already contain some version of pciutils and we don't want custom 1479c83293ebSMartin Mares installations to interfere with the default ones. 1480c83293ebSMartin Mares 1481c83293ebSMartin Mares * Makefile: Removed a couple of ancient install hacks: we no longer 1482c83293ebSMartin Mares try to avoid overwriting a newer pci.ids file (users are now expected 1483c83293ebSMartin Mares to use update-ids) and we don't try to remove /etc/pci.ids (a long time 1484c83293ebSMartin Mares has passed since the last version which used it). 1485c83293ebSMartin Mares 1486e2875dcdSMartin Mares * Makefile: Paths to pci.ids in man pages automatically get the right path. 1487e2875dcdSMartin Mares 14881b95f396SMartin Mares * Added the update-ids utility. 14890138a2a7SMartin Mares 1490d772ef15SMartin Mares * lib: Removed partially implemented "syscall" access method which will 1491d772ef15SMartin Mares probably never be needed. 1492d772ef15SMartin Mares 1493eb620239SMartin Mares2002-12-27 Martin Mares <[email protected]> 1494eb620239SMartin Mares 1495130090bdSMartin Mares * lib/nbsd-libpci.c: Cleaned up and hopefully made it endian safe. 1496130090bdSMartin Mares 1497eb620239SMartin Mares * lib/generic.c (pci_generic_scan_bus): Added work-around for devices with 1498eb620239SMartin Mares discontiguous numbering of functions. This is already present in the Linux 1499eb620239SMartin Mares kernel for several years, but I forgot to update pciutils as well. 1500eb620239SMartin Mares 1501848b4347SMartin Mares2002-12-26 Martin Mares <[email protected]> 1502848b4347SMartin Mares 1503579b19ffSMartin Mares * lib/header.h, lspci.c: Dump AGP3 flags and speeds. 1504579b19ffSMartin Mares 1505579b19ffSMartin Mares * lib/pci.h, Makefile: Removed HAVE_OWN_HEADER_H. Always use our own header, 1506579b19ffSMartin Mares there is no reason to prefer the kernel version. 1507579b19ffSMartin Mares 1508579b19ffSMartin Mares * lib/proc.c (proc_scan): Don't forget to initialize hdrtype. 1509579b19ffSMartin Mares 1510848b4347SMartin Mares * Added preliminary version of NetBSD support by Quentin Garnier 1511848b4347SMartin Mares <[email protected]>. 1512848b4347SMartin Mares 1513f0952474SMartin Mares2002-04-06 Martin Mares <[email protected]> 1514f0952474SMartin Mares 1515f0952474SMartin Mares * lspci.c: Mention "-xxx" in the help. 1516f0952474SMartin Mares 1517d2f666f1SMartin Mares2002-03-30 Martin Mares <[email protected]> 1518d2f666f1SMartin Mares 15199bd44bb0SMartin Mares * Released as 2.1.10. 15209bd44bb0SMartin Mares 1521a33d0eb7SMartin Mares * Removed pci.ids from the CVS as they are now maintained separately. 1522a33d0eb7SMartin Mares They are still included in the tarball, but if you are building pciutils 1523a33d0eb7SMartin Mares from CVS sources or you want to get a newer ID file than the one distributed, 1524a33d0eb7SMartin Mares just use "make update-ids" to download the most recent snapshot from 1525a33d0eb7SMartin Mares pciids.sf.net. 1526a33d0eb7SMartin Mares 1527a33d0eb7SMartin Mares * Makefile, README: Updated accordingly. 1528a33d0eb7SMartin Mares 1529a33d0eb7SMartin Mares * Makefile: Added a couple of maintenance targets. 1530a33d0eb7SMartin Mares 1531a33d0eb7SMartin Mares * maint/*: Maintainer's utilities now reside here (present only in CVS, 1532a33d0eb7SMartin Mares not in the tarball). 1533a33d0eb7SMartin Mares 1534d2f666f1SMartin Mares * lib/names.c (parse_name_list): End-of-line comments are no longer 1535d2f666f1SMartin Mares supported. Hashes are now perfectly valid in all names and they start 1536d2f666f1SMartin Mares a comment only at the start of the line. 1537d2f666f1SMartin Mares 1538ee551b73SMartin Mares2002-03-26 Martin Mares <[email protected]> 1539ee551b73SMartin Mares 154007159913SMartin Mares * README: Rewritten. 154107159913SMartin Mares 1542ee551b73SMartin Mares * Makefile: When the currently installed pci.ids file is newer than 1543ee551b73SMartin Mares the version to be installed, don't overwrite it. Suggested by 1544ee551b73SMartin Mares Jean Delvare <[email protected]>. 1545ee551b73SMartin Mares 1546bc7b1d62SMartin Mares2002-03-24 Martin Mares <[email protected]> 1547bc7b1d62SMartin Mares 15485f5e6f64SMartin Mares * lspci.c (show_pcix_bridge): Added PCI-X capability display. 15495f5e6f64SMartin Mares Contributed by Jeff Garzik <[email protected]>. 15505f5e6f64SMartin Mares 15515f5e6f64SMartin Mares * lib/header.h: Added PCI-X stuff. Again by Jeff. 15525f5e6f64SMartin Mares 15535f5e6f64SMartin Mares * Makefile (CFLAGS): -Werror is gone. 15545f5e6f64SMartin Mares 1555a1052f16SMartin Mares * lspci.c (format_agp_rate): Fixed AGP rate reporting. 1556a1052f16SMartin Mares 1557bc7b1d62SMartin Mares * lib/filter.c (pci_filter_parse_slot): Allow bus 0xff, slot 0x1f and 1558bc7b1d62SMartin Mares function 7. 1559bc7b1d62SMartin Mares 1560bc7b1d62SMartin Mares * lib/names.c (pci_lookup_name): When printing unknown subsystem vendor 1561bc7b1d62SMartin Mares or device hexadecimally, don't confuse it with chip vendor/device ID. 1562bc7b1d62SMartin Mares First reported by Marc Boucher <[email protected]>. 1563bc7b1d62SMartin Mares 1564f793990cSMartin Mares2001-11-04 Martin Mares <[email protected]> 1565f793990cSMartin Mares 1566ee551b73SMartin Mares * Released as 2.1.9. 1567ee551b73SMartin Mares 1568f793990cSMartin Mares * pci.ids: Synced with the PCI ID Repository at SourceForge 1569f793990cSMartin Mares (http://pciids.sourceforge.net/). 1570f793990cSMartin Mares 15711d174e56SMartin Mares2000-08-25 Martin Mares <[email protected]> 15721d174e56SMartin Mares 15731d174e56SMartin Mares * pci.ids: Updated ID's, synced with kernel 2.4.0-test7. 15741d174e56SMartin Mares 157565b4327eSMartin Mares2000-06-13 Martin Mares <[email protected]> 157665b4327eSMartin Mares 157765b4327eSMartin Mares * Makefile (uninstall): Fixed. 157865b4327eSMartin Mares 157965b4327eSMartin Mares * pci.ids: ID updates. 158065b4327eSMartin Mares 15814a219d5fSMartin Mares2000-05-20 Martin Mares <[email protected]> 15824a219d5fSMartin Mares 15834a219d5fSMartin Mares * Released as 2.1.8. 15844a219d5fSMartin Mares 15854a219d5fSMartin Mares * pci.ids: ID updates. 15864a219d5fSMartin Mares 15874a219d5fSMartin Mares * lspci.c (show_verbose): Min/max latency is now printed in nanoseconds. 15884a219d5fSMartin Mares 15894a219d5fSMartin Mares2000-05-04 Martin Mares <[email protected]> 15904a219d5fSMartin Mares 15914a219d5fSMartin Mares * lspci.c (show_verbose): If the header type doesn't match device 15924a219d5fSMartin Mares class, just print a warning and still use the header type, assuming 15934a219d5fSMartin Mares bogus class info. 15944a219d5fSMartin Mares 159510c90662SMartin Mares2000-05-01 Martin Mares <[email protected]> 159610c90662SMartin Mares 159772b9b690SMartin Mares * lspci.c (show_pm): Updated according to PCI PM specs 1.1. 159872b9b690SMartin Mares 159910c90662SMartin Mares * pci.ids: Updated Contemporary Control ARCnet card entries. 160010c90662SMartin Mares 160110c90662SMartin Mares * pci.ids: Synchronized class list with latest PCI SIG documents. 160210c90662SMartin Mares 1603a239ade6SMartin Mares2000-04-29 Martin Mares <[email protected]> 1604a239ade6SMartin Mares 1605a239ade6SMartin Mares * lib/names.c (pci_lookup_name): Fixed the cheat. 1606a239ade6SMartin Mares 1607a239ade6SMartin Mares * lib/internal.h: Moved UNUSED/inline hacks above all other declarations. 1608a239ade6SMartin Mares 1609a239ade6SMartin Mares * pci.ids: Various ID updates. 1610a239ade6SMartin Mares 16112c83b860SMartin Mares2000-04-21 Martin Mares <[email protected]> 16122c83b860SMartin Mares 16132c83b860SMartin Mares * Released as 2.1.7. 16142c83b860SMartin Mares 16152c83b860SMartin Mares * pciutils.spec: Added German description. 16162c83b860SMartin Mares 16172c83b860SMartin Mares * lib/names.c (pci_lookup_name): Added a cheat for case that subsystem ID's 16182c83b860SMartin Mares are the same as device ID and just output subsystem name according to 16192c83b860SMartin Mares device name. 16202c83b860SMartin Mares 16212c83b860SMartin Mares * lib/proc.c: Use UNUSED instead of __attribute__((unused)). 16222c83b860SMartin Mares 16232c83b860SMartin Mares * lib/pci.h: Added the correct typedefs for AIX. 16242c83b860SMartin Mares 16252c83b860SMartin Mares * lib/generic.c (pci_generic_scan_bus): Export. 16262c83b860SMartin Mares 16272c83b860SMartin Mares * lib/configure: Detect AIX. Use "echo '...\c'" instead of 16282c83b860SMartin Mares "echo -n" if the shell isn't bash. 16292c83b860SMartin Mares 16302c83b860SMartin Mares * lspci.c: Avoid using alloca() if not compiled by GCC. 16312c83b860SMartin Mares (insert_dev): Avoid returning a void value. 16322c83b860SMartin Mares 16332c83b860SMartin Mares * Makefile: Choose which install utility to use according to 16342c83b860SMartin Mares OS type. Also use `-o' instead of `-or' in find arguments. 16352c83b860SMartin Mares Part of the AIX port. 16362c83b860SMartin Mares 16372c83b860SMartin Mares * lib/aix-device.c: Added AIX low-level interface. Contributed 16382c83b860SMartin Mares by Dave Johnson <[email protected]>, thanks a lot! 16392c83b860SMartin Mares 16402c83b860SMartin Mares * pci.ids: Few new ID's. 16412c83b860SMartin Mares 16422c83b860SMartin Mares * pciutils.h, lib/internal.h: Redefine __attribute__ and inline 16432c83b860SMartin Mares when not compiled by GCC. 16442c83b860SMartin Mares 1645c1a828daSMartin Mares2000-04-17 Martin Mares <[email protected]> 1646c1a828daSMartin Mares 1647c1a828daSMartin Mares * Released as 2.1.6. 1648c1a828daSMartin Mares 1649c1a828daSMartin Mares * pci.ids: Added a large batch of ID's contributed by Gunther 1650c1a828daSMartin Mares Mayer <[email protected]> and synced the 1651c1a828daSMartin Mares list with the 2.3.99pre6 kernel. 1652c1a828daSMartin Mares 1653e91dd3abSMartin MaresThu Mar 9 13:11:39 2000 Martin Mares <[email protected]> 1654e91dd3abSMartin Mares 1655a80b79a9SMartin Mares * lib/example.c: Added a simple example of how to use 1656a80b79a9SMartin Mares the library. 1657a80b79a9SMartin Mares 165889984232SMartin Mares * lspci.man, setpci.man: Revealed --version. Well spotted 165989984232SMartin Mares by Adam Sulmicki. 166089984232SMartin Mares 1661e91dd3abSMartin Mares * pci.ids: Added lots of new ID's and synced with 2.3.50. 1662e91dd3abSMartin Mares 166378d9c5e2SMartin MaresTue Feb 15 00:16:21 2000 Martin Mares <[email protected]> 166478d9c5e2SMartin Mares 166578d9c5e2SMartin Mares * Released as 2.1.5. 166678d9c5e2SMartin Mares 166778d9c5e2SMartin Mares * pciutils.spec: Updated spec file from Andreas Jaeger. Now using 166878d9c5e2SMartin Mares %{_mandir} to find the right location to install manual pages to. 166978d9c5e2SMartin Mares 167078d9c5e2SMartin Mares * pci.ids: New ID's. 167178d9c5e2SMartin Mares 167278d9c5e2SMartin Mares * setpci.c (main): Don't crash when `-s' or `-d' is given with 167378d9c5e2SMartin Mares no argument. 167478d9c5e2SMartin Mares 1675f8141ae2SMartin MaresMon Jan 24 20:04:11 2000 Andreas Jaeger <[email protected]> 1676f8141ae2SMartin Mares 1677f8141ae2SMartin Mares * lib/i386-ports.c: Include <asm/io.h> only on systems without 1678f8141ae2SMartin Mares glibc. 1679f8141ae2SMartin Mares 1680f8141ae2SMartin MaresMon Jan 24 11:24:43 2000 Martin Mares <[email protected]> 1681f8141ae2SMartin Mares 1682f8141ae2SMartin Mares * Makefile: Modified to work with the Linux FHS brain-damaged idea 1683f8141ae2SMartin Mares of putting man pages to /usr/share/man. Now we choose either /usr/man 1684f8141ae2SMartin Mares or /usr/share/man depending on which one exists. 1685f8141ae2SMartin Mares 168659e76e8bSMartin MaresSun Jan 23 10:52:34 2000 Martin Mares <[email protected]> 168759e76e8bSMartin Mares 168859e76e8bSMartin Mares * pci.ids: Synced with Linux 2.3.40. 168959e76e8bSMartin Mares 169059e76e8bSMartin Mares * Released as version 2.1.4. 169159e76e8bSMartin Mares 16922dfd48cdSMartin MaresThu Jan 20 11:08:32 2000 Martin Mares <[email protected]> 16932dfd48cdSMartin Mares 16942715403fSMartin Mares * lspci.c (scan_device): Fixed bug in reading of cardbus extensions. 16952715403fSMartin Mares 169681077814SMartin Mares * lib/proc.c: pread/pwrite fixed again, this time on libc5 :( 169781077814SMartin Mares 169881077814SMartin Mares * lspci.c (format_agp_rate): Better formatting of AGP rates. 169981077814SMartin Mares 170081077814SMartin Mares * pci.ids: New ID's. 170181077814SMartin Mares 17022dfd48cdSMartin Mares * lib/configure: Added configuration for ia64 (the same as for Alpha). 17032dfd48cdSMartin Mares Patch from Stephane Eranian <[email protected]>. 17042dfd48cdSMartin Mares 17055a258860SMartin MaresThu Jan 13 23:01:52 2000 Martin Mares <[email protected]> 17065a258860SMartin Mares 17075a258860SMartin Mares * Released as version 2.1.3. 17085a258860SMartin Mares 17095a258860SMartin Mares * pci.ids: New ID's. 17105a258860SMartin Mares 17115a258860SMartin Mares * lspci.c: Alpha IO_FORMAT fix by Andrea Arcangeli. 17125a258860SMartin Mares 17135a258860SMartin Mares * lib/access.c: Corrected order of access methods -- it's wonderful how 17145a258860SMartin Mares long could such a bug remain unspotted. Thanks go to Andreas Schockenhoff. 17155a258860SMartin Mares 17160c047bbeSMartin MaresSat Dec 11 23:34:48 1999 Martin Mares <[email protected]> 17170c047bbeSMartin Mares 17180c047bbeSMartin Mares * Released as version 2.1.2. 17190c047bbeSMartin Mares 17200c047bbeSMartin Mares * lib/names.c (pci_lookup_name): Fixed printing of unknown subsystem ID's. 17210c047bbeSMartin Mares 172233bc28a5SMartin MaresSat Dec 4 13:11:03 1999 Martin Mares <[email protected]> 172333bc28a5SMartin Mares 172439231205SMartin Mares * Released as version 2.1.1. 172539231205SMartin Mares 172633bc28a5SMartin Mares * pci.ids: Several new ID's. 172733bc28a5SMartin Mares 172833bc28a5SMartin Mares * setpci.c (exec_op): Don't forget to increment address after writing 172933bc28a5SMartin Mares single value, so that `30.b=12,34,56,78' works as expected. Reported 173033bc28a5SMartin Mares by Petr Soucek <[email protected]>. 173133bc28a5SMartin Mares 17328d047897SMartin MaresWed Nov 3 10:24:38 1999 Martin Mares <[email protected]> 17338d047897SMartin Mares 17348d047897SMartin Mares * lspci.c (show_terse): If prog-if is zero, but it's present in the 17358d047897SMartin Mares ID list, show it. 17368d047897SMartin Mares 17376afc6538SMartin MaresSat Oct 30 11:06:35 1999 Martin Mares <[email protected]> 17386afc6538SMartin Mares 17396afc6538SMartin Mares * Released as version 2.1. 17406afc6538SMartin Mares 17416afc6538SMartin Mares * pci.ids: Synced to devlist.h in 2.3.24 kernel. Merged in 17426afc6538SMartin Mares lots of contributed entries. 17436afc6538SMartin Mares 17448f756113SMartin MaresThu Oct 14 10:40:12 1999 Dave Jones <[email protected]> 17458f756113SMartin Mares 17468f756113SMartin Mares * pci.ids: Added lots of subsystem definitions. 17478f756113SMartin Mares 1748d4798a32SMartin MaresSat Oct 9 14:32:28 1999 Martin Mares <[email protected]> 1749d4798a32SMartin Mares 1750d4798a32SMartin Mares * setpci.man: Better example. 1751d4798a32SMartin Mares 1752d4798a32SMartin Mares * lspci.c: Resolve prog-if names. 1753d4798a32SMartin Mares 1754d4798a32SMartin Mares * lib/names.c: Adapted to new pci.ids syntax. 1755d4798a32SMartin Mares 1756d4798a32SMartin Mares * pci.ids: Reorganized the pci.ids file. Subsystems are listed 1757d4798a32SMartin Mares under devices, classes can optionally contain prog-if information. 1758d4798a32SMartin Mares New ID's, as usually. 1759d4798a32SMartin Mares 1760e306e911SMartin MaresWed Sep 22 09:45:24 1999 Martin Mares <[email protected]> 1761e306e911SMartin Mares 1762e306e911SMartin Mares * pci.ids: New ID's. As usually. 1763e306e911SMartin Mares 1764e306e911SMartin Mares * lspci.c (show_htype1, show_htype2): Don't show `closed' bridge windows 1765e306e911SMartin Mares unless we're vvvery verbose. 1766e306e911SMartin Mares 1767e306e911SMartin MaresMon Sep 20 11:22:54 1999 Martin Mares <[email protected]> 1768e306e911SMartin Mares 1769e306e911SMartin Mares * lspci.c (show_htype2): Don't forget a TAB before the "I/O window" line. 1770e306e911SMartin Mares 1771e64a576cSMartin MaresTue Sep 14 09:31:01 1999 Martin Mares <[email protected]> 1772e64a576cSMartin Mares 1773e64a576cSMartin Mares * pci.ids: New ID's. Again. 1774e64a576cSMartin Mares 1775c36c0862SMartin MaresThu Aug 5 17:45:42 1999 Martin Mares <[email protected]> 1776c36c0862SMartin Mares 1777c36c0862SMartin Mares * lspci.c (show_size): Don't show size if it's zero (usually 1778c36c0862SMartin Mares due to bus-centric mode being enabled). 1779c36c0862SMartin Mares 17801ca42433SMartin MaresTue Jul 20 13:25:09 1999 Martin Mares <[email protected]> 17811ca42433SMartin Mares 1782168b4f46SMartin Mares * lib/pci.h: Types are OS dependent. 1783168b4f46SMartin Mares 1784168b4f46SMartin Mares * lib/internal.h: Byte order hacks are OS dependent. 1785168b4f46SMartin Mares 1786168b4f46SMartin Mares * lib/configure: Recognize FreeBSD. Also set OS_XXX according to the OS. 1787168b4f46SMartin Mares 1788168b4f46SMartin Mares * lib/Makefile, lib/access.c: Added fbsd-device target. 1789168b4f46SMartin Mares 1790168b4f46SMartin Mares * pci.ids: Added an entry for PLX 9080 bridges with subsystem ID 1791168b4f46SMartin Mares incorrectly set to device ID. 1792168b4f46SMartin Mares 1793168b4f46SMartin Mares * README: Added a note that we support FreeBSD. 1794168b4f46SMartin Mares 1795168b4f46SMartin Mares * Makefile (PREFIX, ROOT): Set it depending on the OS. 1796168b4f46SMartin Mares (%.8): Grrr, BSD date is not able to convert date formats the same way 1797168b4f46SMartin Mares as GNU date does. Use sed instead. 1798168b4f46SMartin Mares (install): Use `-c' when calling install. 1799168b4f46SMartin Mares 1800168b4f46SMartin Mares * lib/fbsd-device.c: Added FreeBSD /dev/pci access module contributed 1801168b4f46SMartin Mares by Jari Kirma <[email protected]>. 1802168b4f46SMartin Mares 1803bc6346dfSMartin Mares * lib/proc.c: Rewrote the pread/pwrite things once again. Use pread 1804bc6346dfSMartin Mares and pwrite only when we are certain it's safe (i.e., glibc 2.1 1805bc6346dfSMartin Mares on all architectures or any libc on a i386 where we really know 1806bc6346dfSMartin Mares how to use syscalls directly). In all other cases, emulate it 1807bc6346dfSMartin Mares with lseek/read/write. 1808bc6346dfSMartin Mares 18091ca42433SMartin Mares * pci.ids: Some more IDs. 18101ca42433SMartin Mares 18111ca42433SMartin MaresMon Jul 19 14:10:36 1999 Martin Mares <[email protected]> 18121ca42433SMartin Mares 18131ca42433SMartin Mares * pci.ids: Added IDs of parallel port controller cards as sent 18141ca42433SMartin Mares by Tim Waugh <[email protected]>. 18151ca42433SMartin Mares 1816e95c8373SMartin MaresWed Jul 7 00:55:48 1999 Martin Mares <[email protected]> 1817e95c8373SMartin Mares 1818e95c8373SMartin Mares * lib/proc.c (proc_scan): HAVE_LONG_ADDRESS instead of HAVE_64BIT_ADDRESS. 1819e95c8373SMartin Mares 1820e95c8373SMartin Mares * lspci.c: ADDR_FORMAT now depends on both HAVE_64BIT_ADDRESS and 1821e95c8373SMartin Mares HAVE_LONG_ADDRESS. 1822e95c8373SMartin Mares 1823e95c8373SMartin Mares * lib/configure: HAVE_64BIT_ADDRESS now doesn't imply that the addresses 1824e95c8373SMartin Mares are represented as long long. Introduced a new flag HAVE_LONG_ADDRESS 1825e95c8373SMartin Mares to indicate this. Both Sparc architectures now use both 64BIT_ADDRESS 1826e95c8373SMartin Mares and LONG_ADDRESS since they have 32-bit userland, but don't set LONG_ADDRESS 1827e95c8373SMartin Mares on Alpha. 1828e95c8373SMartin Mares 1829e95c8373SMartin Mares * lspci.c (show_msi): Added dumping of the MSI capability. 1830e95c8373SMartin Mares (show_slotid): The same for SlotID capability. 1831e95c8373SMartin Mares (show_caps): Seperated capability dumping, because it should 1832e95c8373SMartin Mares be used for both htype0 and htype1. Even PCI 2.2 doesn't mention 1833e95c8373SMartin Mares layout of htype2, so I'm a bit unsure about it wrt capabilities 1834e95c8373SMartin Mares -- they at least have to live somewhere else since address 0x34 1835e95c8373SMartin Mares is already defined differently in htype2. 1836e95c8373SMartin Mares 1837e95c8373SMartin Mares * lib/header.h (PCI_STATUS_UDF): Marked as obsolete (PCI 2.2). 1838e95c8373SMartin Mares (PCI_BASE_ADDRESS_MEM_TYPE_1M): Ditto. 1839e95c8373SMartin Mares (PCI_CAP_ID_*): Added some new capabilities defined in PCI 2.2. 1840e95c8373SMartin Mares 1841e95c8373SMartin Mares * lspci.c (show_htype0): Mask out lowest 2 bits from all capability pointers 1842e95c8373SMartin Mares (required by the PCI 2.2 specs). 1843e95c8373SMartin Mares 1844e95c8373SMartin MaresMon Jul 5 12:45:19 1999 Martin Mares <[email protected]> 1845e95c8373SMartin Mares 1846e95c8373SMartin Mares * lspci.c (show_size): Added new function for dumping of region sizes. 1847e95c8373SMartin Mares (show_rom): Added. Now correctly dumps unassigned ROM addresses, disabled 1848e95c8373SMartin Mares ROMs et cetera. 1849e95c8373SMartin Mares 1850e95c8373SMartin Mares * lib/pci.h (struct pci_dev): known_fields moved to the public part 1851e95c8373SMartin Mares of the structure. 1852e95c8373SMartin Mares 1853e95c8373SMartin Mares * Added support for region sizes. Needs support in the kernel, because 1854e95c8373SMartin Mares sizes have to be scanned before drivers initialize yourself. pci_fill_info() 1855e95c8373SMartin Mares now returns a bitmask of what fields were really read. 1856e95c8373SMartin Mares 185782ce97c9SMartin MaresMon Jun 28 18:37:51 1999 Dave Jones <[email protected]> 185882ce97c9SMartin Mares 185982ce97c9SMartin Mares * Makefile: 186082ce97c9SMartin Mares Added `uninstall' target - removes all traces of pciutils. 186182ce97c9SMartin Mares * pci.ids: 186282ce97c9SMartin Mares - Lots of cleanups in the ATI, S3, Adaptec vendors. 186382ce97c9SMartin Mares - Changed Compaq QVision 1280/p definitions, as it's not possible 186482ce97c9SMartin Mares to determine the revision from the device ID. 186582ce97c9SMartin Mares - Same for the Tseng ET4000. 186682ce97c9SMartin Mares The id's said I had a rev C, when it was actually a rev B. 186782ce97c9SMartin Mares - Removed some unnecessary strings 186882ce97c9SMartin Mares `PCI'. Unless it's an AGP card, it should be obvious that it's PCI. 186982ce97c9SMartin Mares `Ethernet card'. This should be determined from config space. 187082ce97c9SMartin Mares - Lots of other new vendors & devices 187182ce97c9SMartin Mares - Other additional small cleanups. 187282ce97c9SMartin Mares 18737bed2d83SMartin MaresMon Jun 21 22:11:10 1999 Martin Mares <[email protected]> 18747bed2d83SMartin Mares 18757bed2d83SMartin Mares * lib/names.c (pci_lookup_name): When device ID lookup 18767bed2d83SMartin Mares fails, return hexadecimal device ID instead of vendor ID. 18777bed2d83SMartin Mares Well spotted by Axel Bodemann <[email protected]>, 18787bed2d83SMartin Mares I've just extended the fix to subsystem ID's. 18797bed2d83SMartin Mares 18805ba3a475SMartin MaresThu Jun 17 19:48:21 1999 Martin Mares <[email protected]> 18815ba3a475SMartin Mares 18825ba3a475SMartin Mares * lspci.c (show_agp): Bug fix from Petr Vandrovec 18835ba3a475SMartin Mares <[email protected]>. The command register was displayed 18845ba3a475SMartin Mares incorrectly. 18855ba3a475SMartin Mares 18865ba3a475SMartin MaresWed Jun 2 22:42:44 1999 Martin Mares <[email protected]> 18875ba3a475SMartin Mares 18885ba3a475SMartin Mares * lib/proc.c (SYS_pread, SYS_pwrite): Use hard-coded 18895ba3a475SMartin Mares numbers if not supplied by the libc. 18905ba3a475SMartin Mares 189155c815b5SMartin MaresWed May 19 13:24:39 1999 Martin Mares <[email protected]> 189255c815b5SMartin Mares 189355c815b5SMartin Mares * Released the whole package as version 2.0. 189455c815b5SMartin Mares 189555c815b5SMartin MaresFri May 14 22:42:02 1999 Martin Mares <[email protected]> 189655c815b5SMartin Mares 189755c815b5SMartin Mares * pci.ids: Added several new ID's contributed by people 189855c815b5SMartin Mares on the linux-pci list. 189955c815b5SMartin Mares 1900dec16943SMartin MaresMon Apr 19 15:21:08 1999 Jakub Jelinek <[email protected]> 1901dec16943SMartin Mares 1902dec16943SMartin Mares * lspci.c: Display I/O addresses correctly on sparc64. 1903dec16943SMartin Mares * lib/header.h: Ditto. 1904dec16943SMartin Mares 1905dec16943SMartin Mares * lib/configure: On sparc set HAVE_64BIT* as well, we want 1906dec16943SMartin Mares a binary which works on both 32bit and 64bit SPARCs. 1907dec16943SMartin Mares 1908e33c9c7aSMartin MaresSun Apr 18 21:14:58 1999 Martin Mares <[email protected]> 1909e33c9c7aSMartin Mares 1910e33c9c7aSMartin Mares * lspci.c, lib/proc.c: Alpha compilation fixes from Matthew Jacob 1911e33c9c7aSMartin Mares <[email protected]>. 1912e33c9c7aSMartin Mares 1913e33c9c7aSMartin Mares * pci.ids: A lot of updates from Adam J. Richter <[email protected]>. 1914e33c9c7aSMartin Mares 1915f3395cc5SMartin MaresSun Feb 28 22:26:21 1999 Martin Mares <[email protected]> 1916f3395cc5SMartin Mares 1917f3395cc5SMartin Mares * lspci.c (do_map_bus): Don't dump functions 1--7 if not flagged 1918f3395cc5SMartin Mares as a multi-function device, because several single-function devices 1919f3395cc5SMartin Mares don't decode the function bits at all. 1920f3395cc5SMartin Mares 1921f3395cc5SMartin MaresSun Feb 14 23:48:22 1999 Martin Mares <[email protected]> 1922f3395cc5SMartin Mares 1923f3395cc5SMartin Mares * Makefile (install): Don't use "-o root -g root" for installation 1924f3395cc5SMartin Mares since it breaks on machines where programs are not installed by root. 1925f3395cc5SMartin Mares Reported by Richard Gooch <[email protected]> 1926f3395cc5SMartin Mares 1927f3395cc5SMartin MaresTue Feb 9 15:54:39 1999 Martin Mares <[email protected]> 1928f3395cc5SMartin Mares 1929f3395cc5SMartin Mares * lspci.c (show_bases): Use new address masking macros and pciaddr_t. 1930f3395cc5SMartin Mares 1931f3395cc5SMartin Mares * lib/pci.h: Using pciaddr_t for bus addresses, which are 32-bit 1932f3395cc5SMartin Mares or 64-bit depending on CPU. 1933f3395cc5SMartin Mares 1934f3395cc5SMartin Mares * lib/pci.h (PCI_ADDR_MEM_MASK): Added macros for address masks 1935f3395cc5SMartin Mares according to bus address width. 1936f3395cc5SMartin Mares 19371c31d620SMartin MaresThu Jan 28 20:54:16 1999 Martin Mares <[email protected]> 19381c31d620SMartin Mares 19391c31d620SMartin Mares * Released as 1.99.4. 19401c31d620SMartin Mares 19411c31d620SMartin Mares * lspci.c: Capability list parser now recognizes both AGP 19421c31d620SMartin Mares registers and PCI Power Management registers (the latter 19431c31d620SMartin Mares is mainly guesswork based on DEC/Intel 21153 bridge specs 19441c31d620SMartin Mares since I don't have the PCI Power Management document). 19451c31d620SMartin Mares 19461c31d620SMartin Mares * lspci.c: Replaced numerous occurences of (x & flag) ? '+' : '-' 19471c31d620SMartin Mares by FLAG macro. 19481c31d620SMartin Mares 19491c31d620SMartin Mares * lspci.c: Added bridge checks to bus mapping code. 19501c31d620SMartin Mares 19511812a795SMartin MaresWed Jan 27 14:59:16 1999 Martin Mares <[email protected]> 19521812a795SMartin Mares 19531812a795SMartin Mares * lspci.c: Implemented bus mapping mode (-M). 19541812a795SMartin Mares 19551812a795SMartin Mares * lspci.c (scan_devices): Split to scan_devices() and scan_device(). 19561812a795SMartin Mares (show): Split to show() and show_device(). 19571812a795SMartin Mares 19581812a795SMartin Mares * lib/access.c (pci_init): When a->method == PCI_ACCESS_AUTO, 19591812a795SMartin Mares set it to the real access method afterwards. 19601812a795SMartin Mares 19611812a795SMartin MaresMon Jan 25 23:46:13 1999 Martin Mares <[email protected]> 19621812a795SMartin Mares 19631812a795SMartin Mares * lib/generic.c (pci_generic_fill_info): If in buscentric mode, 19641812a795SMartin Mares don't check PCI_COMMAND for I/O and memory enables. 19651812a795SMartin Mares 1966f6c86928SMartin MaresMon Jan 25 21:28:49 1999 Martin Mares <[email protected]> 1967f6c86928SMartin Mares 1968f6c86928SMartin Mares * Makefile: Added target `release' which substitutes new version 1969f6c86928SMartin Mares number to .spec, .lsm and README. Also rewrote target `dist'. 1970f6c86928SMartin Mares 1971f6c86928SMartin Mares * Released as 1.99.3. 1972f6c86928SMartin Mares 1973b5137411SMartin MaresSun Jan 24 22:10:36 1999 Martin Mares <[email protected]> 1974b5137411SMartin Mares 1975d6b297d0SMartin Mares * lib/header.h: Until kernel adopts new layout of PCI 1976d6b297d0SMartin Mares includes (i.e., separate declaration of header structure, 1977d6b297d0SMartin Mares functions and device IDs), which is not going to happen 1978d6b297d0SMartin Mares before 2.3, we'll use our own definiton of the header. 1979d6b297d0SMartin Mares 1980b5137411SMartin Mares * lspci.c (show_verbose): Display `Cap' flag in device status. 1981b5137411SMartin Mares 1982b5137411SMartin Mares * lspci.c (show_htype0): Display capability lists whereever 1983b5137411SMartin Mares available. The only capability name we recognize now is `AGP'. 1984b5137411SMartin Mares Unfortunately, capabilities are stored in device-dependent 1985b5137411SMartin Mares portion of the configuration space and are thus available 1986b5137411SMartin Mares only to root unless you read a dump. 1987b5137411SMartin Mares 1988b5137411SMartin Mares * lspci.c (scan_devices): Use cache instead of buffering. 1989b5137411SMartin Mares 1990b5137411SMartin Mares * lib/buffer.c: Removed (obsoleted by the cache). 1991b5137411SMartin Mares 1992b5137411SMartin Mares * lib/access.c: Added general caching mechanism. 1993b5137411SMartin Mares 199481ce358dSMartin MaresSat Jan 23 21:30:54 1999 Martin Mares <[email protected]> 199581ce358dSMartin Mares 199681ce358dSMartin Mares * pci.ids: Added few devices. 199781ce358dSMartin Mares 1998727ce158SMartin MaresFri Jan 22 19:29:31 1999 Martin Mares <[email protected]> 1999727ce158SMartin Mares 2000727ce158SMartin Mares * Version string is now defined in top-level Makefile, exported 2001727ce158SMartin Mares to the configure script and also substituted to man pages. 2002727ce158SMartin Mares 2003727ce158SMartin Mares * lspci.c (show_bases): Rewrote displaying of 64-bit addresses. 2004727ce158SMartin Mares (show_verbose): Rewrote interrupt display logic. 2005727ce158SMartin Mares 2006727ce158SMartin Mares * lib/i386-ports.c: Include sys/io.h only on glibc systems. 2007727ce158SMartin Mares 2008727ce158SMartin Mares * lib/configure: Rewrote detection of Linux versions. Now it 2009727ce158SMartin Mares works on 2.0 kernels (only with direct/dump access, of course). 2010727ce158SMartin Mares 2011727ce158SMartin Mares * lib/internal.h: New bytesex macros using <asm/byteorder.h> 2012727ce158SMartin Mares whenever available. 2013727ce158SMartin Mares 2014727ce158SMartin Mares * lib/proc.c (proc_read, proc_write): Distinguish between short 2015727ce158SMartin Mares read/write and real errors. 2016727ce158SMartin Mares 2017727ce158SMartin Mares * lspci.c (show_htype{0,1}): Always use d->dev->rom_base_addr since 2018727ce158SMartin Mares libpci respects buscentric mode automatically. 2019727ce158SMartin Mares 2020727ce158SMartin Mares * lspci.c (show_hex_dump): For CardBus bridges, print out 128 2021727ce158SMartin Mares bytes of header (the whole standard part). 2022727ce158SMartin Mares 2023727ce158SMartin Mares * common.c: pcilib options are now all uppercase. Also moved 2024727ce158SMartin Mares PCI access debugging option here. 2025727ce158SMartin Mares 2026727ce158SMartin Mares * Released as 1.99.2. 2027727ce158SMartin Mares 2028727ce158SMartin MaresWed Jan 20 22:50:35 1999 Martin Mares <[email protected]> 2029727ce158SMartin Mares 2030727ce158SMartin Mares * Wrote configure script and rewrote Makefiles. 2031727ce158SMartin Mares 2032727ce158SMartin Mares * Removed few unused variables. 2033727ce158SMartin Mares 2034727ce158SMartin MaresWed Jan 20 12:21:56 1999 Martin Mares <[email protected]> 2035727ce158SMartin Mares 2036727ce158SMartin Mares * common.c: Moved several functions used in both setpci and lspci 2037727ce158SMartin Mares here. This includes parsing of libpci-related options. 2038727ce158SMartin Mares 2039727ce158SMartin Mares * More library tweaks. 2040727ce158SMartin Mares 2041727ce158SMartin Mares * filter.c, names.c: Moved to library. 2042727ce158SMartin Mares 2043727ce158SMartin Mares * setpci: Rewritten to use the library. 2044727ce158SMartin Mares 2045727ce158SMartin Mares * Released as 1.99.1. 2046727ce158SMartin Mares 2047727ce158SMartin MaresTue Jan 19 23:00:12 1999 Martin Mares <[email protected]> 2048727ce158SMartin Mares 2049727ce158SMartin Mares * lspci.c (scan_devices): For cardbus bridges, read first 128 2050727ce158SMartin Mares bytes of config space to get full standard header. 2051727ce158SMartin Mares 2052727ce158SMartin Mares * Makefile (CFLAGS): Removed "-Wno-unused". 2053727ce158SMartin Mares 2054727ce158SMartin Mares * Started the "New Generation" branch and introduced the 2055727ce158SMartin Mares PCI library. 2056727ce158SMartin Mares 2057727ce158SMartin Mares * lspci: Rewritten to use the library. 2058727ce158SMartin Mares 20596ece6bc6SMartin MaresTue Jan 19 22:24:08 1999 Martin Mares <[email protected]> 20606ece6bc6SMartin Mares 20616ece6bc6SMartin Mares * Released as version 1.10. 20626ece6bc6SMartin Mares 20636ece6bc6SMartin MaresMon Jan 18 08:51:17 1999 Martin Mares <[email protected]> 20646ece6bc6SMartin Mares 20656ece6bc6SMartin Mares * lspci.8, setpci.8: Miscellaneous fixes as suggested by 20666ece6bc6SMartin Mares Dag Wieers <[email protected]>. 20676ece6bc6SMartin Mares 20681212dd6dSMartin MaresSun Nov 29 20:05:56 1998 Martin Mares <[email protected]> 20691212dd6dSMartin Mares 20701212dd6dSMartin Mares * pciutils.spec (Name): Update from Krzysztof G. Baranowski. 20711212dd6dSMartin Mares 2072d38471fdSMartin MaresSun Nov 22 10:49:56 1998 Martin Mares <[email protected]> 2073d38471fdSMartin Mares 2074d38471fdSMartin Mares * Makefile, pciutils.h: Moved pci.ids to /usr/share. 2075d38471fdSMartin Mares 2076d38471fdSMartin Mares * Released as version 1.09. 2077d38471fdSMartin Mares 2078371f605bSMartin MaresWed Nov 18 15:47:05 1998 Martin Mares <[email protected]> 2079371f605bSMartin Mares 2080371f605bSMartin Mares * lspci.c (show_htype1): Fixed displaying of prefetchable memory behind 2081371f605bSMartin Mares bridge. Thanks to Petr Vandrovec <[email protected]> for bug report. 2082371f605bSMartin Mares 208310be47abSMartin MaresFri Oct 23 18:59:19 1998 Martin Mares <[email protected]> 208410be47abSMartin Mares 208510be47abSMartin Mares * setpci.c: Don't include <syscall-list.h> with glibc >= 2.1. 208610be47abSMartin Mares 2087472bd340SMartin MaresMon Oct 19 21:53:30 1998 Martin Mares <[email protected]> 2088472bd340SMartin Mares 2089472bd340SMartin Mares * Released as version 1.08. 2090472bd340SMartin Mares 2091472bd340SMartin Mares * setpci.c: glibc 2.1.x already defines pread() and pwrite(). 2092472bd340SMartin Mares 2093472bd340SMartin Mares * lspci.8: Changed warning about lspci -xxx. 2094472bd340SMartin Mares 2095472bd340SMartin Mares * lspci.c: Require "-xxx" for full configuration space dump, so that 2096472bd340SMartin Mares it's impossible to crash the machine by single typo. 2097472bd340SMartin Mares 2098472bd340SMartin Mares * specs: Added (courtesy of Krzysztof G. Baranowski <[email protected]>). 2099472bd340SMartin Mares 2100072c77e5SMartin MaresWed Sep 9 12:03:24 1998 Martin Mares <[email protected]> 2101072c77e5SMartin Mares 2102072c77e5SMartin Mares * lspci.c (show_bases): Better displaying of unassigned and 2103072c77e5SMartin Mares disabled bases. Thanks to Gabriel Paubert <[email protected]> 2104072c77e5SMartin Mares for an idea. 2105072c77e5SMartin Mares 2106b7554856SMartin MaresWed Sep 2 10:58:01 1998 Martin Mares <[email protected]> 2107b7554856SMartin Mares 2108b7554856SMartin Mares * setpci.c (pread): Recognize glibc 1.99 numbered as 2.0 on the PPC. 2109b7554856SMartin Mares (thanks to Geert Uytterhoeven for finding this out) 2110b7554856SMartin Mares 2111ce503b7fSMartin MaresFri Jul 17 10:43:30 1998 Martin Mares <[email protected]> 2112ce503b7fSMartin Mares 2113ce503b7fSMartin Mares * lspci.c (show_verbose): Print subsystem ID using the new resolver. 2114ce503b7fSMartin Mares (show_machine): Print subsystem ID. 2115ce503b7fSMartin Mares 2116ce503b7fSMartin Mares * names.c: New name resolution engine supporting subsystem IDs. 2117ce503b7fSMartin Mares 2118ce503b7fSMartin Mares * Released as version 1.07. 2119ce503b7fSMartin Mares 212096e4f295SMartin MaresWed Jul 15 15:37:21 1998 Martin Mares <[email protected]> 212196e4f295SMartin Mares 212296e4f295SMartin Mares * lspci.c (show_htype2 etc.): Displaying of CardBus headers. 212396e4f295SMartin Mares (show_bases): Honor the `cnt' argument. 212496e4f295SMartin Mares (grow_tree): Parse CardBus headers in tree mode as well. 212596e4f295SMartin Mares 212696e4f295SMartin Mares * pci.h: Updated CardBus header field description. I still don't 212796e4f295SMartin Mares have the CardBus standard available, but OZ6832 specs contain 212896e4f295SMartin Mares full description of all header fields supported by the chip. 212996e4f295SMartin Mares 21306ae3650aSMartin MaresTue Jun 9 22:53:59 1998 Martin Mares <[email protected]> 21316ae3650aSMartin Mares 2132304f9a0bSMartin Mares * Released as 1.06. 2133304f9a0bSMartin Mares 21346ae3650aSMartin Mares * names.c (parse_name_list): Killed an unused variable. 21356ae3650aSMartin Mares 21366ae3650aSMartin Mares * setpci.c (pread, pwrite): Define SYS_(pread|pwrite) as __NR_\1 21376ae3650aSMartin Mares if they are not defined by glibc (needed for glibc built on older 21386ae3650aSMartin Mares kernels). Ugly. 21396ae3650aSMartin Mares 21406ae3650aSMartin Mares * setpci.c (exec_op): Fixed error messages. Thanks, Steve! 21416ae3650aSMartin Mares 21424b88a6b8SMartin MaresMon Jun 8 10:59:22 1998 Martin Mares <[email protected]> 21434b88a6b8SMartin Mares 21444b88a6b8SMartin Mares * Released as 1.05. 21454b88a6b8SMartin Mares 21464b88a6b8SMartin Mares * setpci.c: Problems with pread()/pwrite() with glibc on Alpha 21474b88a6b8SMartin Mares should be gone. Again thanks to Steve for bug report. 21484b88a6b8SMartin Mares 21494b88a6b8SMartin Mares * filter.c (filter_parse_slot): Fixed ":x" type filters. 21504b88a6b8SMartin Mares 21514b88a6b8SMartin Mares * pci.ids: Killed duplicate entry. Thanks to Stephen Williams 21524b88a6b8SMartin Mares <[email protected]> for reporting this. 21534b88a6b8SMartin Mares 21544b88a6b8SMartin MaresSun Jun 7 19:27:51 1998 Martin Mares <[email protected]> 21554b88a6b8SMartin Mares 21564b88a6b8SMartin Mares * lspci.c (main), setpci.c (main): Implemented "--version". 21574b88a6b8SMartin Mares 21584b88a6b8SMartin Mares * Released as 1.04. 21594b88a6b8SMartin Mares 21604b88a6b8SMartin Mares * pciutils.h (PCIUTILS_VERSION): Added version string. 21614b88a6b8SMartin Mares 21624b88a6b8SMartin Mares * filter.c, names.c: Extraneous #include <linux/pci.h> removed. 21634b88a6b8SMartin Mares Thanks to Geert Uytterhoeven <[email protected]> 21644b88a6b8SMartin Mares for bug report. 21654b88a6b8SMartin Mares 21669b306998SMartin MaresThu May 28 14:45:58 1998 Martin Mares <[email protected]> 21679b306998SMartin Mares 21689b306998SMartin Mares * pci.ids: More updates from Jens Maurer. 21699b306998SMartin Mares 2170b372672fSMartin MaresWed Apr 22 10:00:39 1998 Martin Mares <[email protected]> 2171b372672fSMartin Mares 2172b372672fSMartin Mares * pci.ids: Updates from Jens Maurer. 2173b372672fSMartin Mares 2174b2c9b373SMartin MaresSun Apr 19 11:14:25 1998 Martin Mares <[email protected]> 2175b2c9b373SMartin Mares 2176b372672fSMartin Mares * Released as 1.03. 2177b372672fSMartin Mares 2178b2c9b373SMartin Mares * setpci.8: Written. 2179b2c9b373SMartin Mares 2180b2c9b373SMartin Mares * setpci.c: Finished. 2181b2c9b373SMartin Mares 2182b2c9b373SMartin Mares * lspci.c: Now able to fetch expansion ROM base from kernel device list 2183b2c9b373SMartin Mares and print it if not in buscentric mode. 2184b2c9b373SMartin Mares 2185e4842ff3SMartin MaresTue Mar 31 23:11:57 1998 Martin Mares <[email protected]> 2186e4842ff3SMartin Mares 2187e4842ff3SMartin Mares * setpci.c: Added. 2188e4842ff3SMartin Mares 2189e4842ff3SMartin MaresSun Mar 22 15:39:08 1998 Martin Mares <[email protected]> 2190e4842ff3SMartin Mares 2191e4842ff3SMartin Mares * lspci.8: Updated the documentation. 2192e4842ff3SMartin Mares 2193e4842ff3SMartin Mares * lspci.c: Modified to use the new filtering mechanism (options -f and -d). 2194e4842ff3SMartin Mares 2195e4842ff3SMartin Mares * filter.c: Introduced new generic device filter. 2196e4842ff3SMartin Mares 2197008407bdSMartin MaresThu Mar 19 17:03:48 1998 Martin Mares <[email protected]> 2198008407bdSMartin Mares 2199008407bdSMartin Mares * lspci.c (grow_tree, show_tree_dev, print_it): Fixed displaying 2200008407bdSMartin Mares of PCI-to-PCI bridges in the tree format. 2201008407bdSMartin Mares 22020a33d0ecSMartin MaresSun Feb 15 10:12:25 1998 Martin Mares <[email protected]> 22030a33d0ecSMartin Mares 22040a33d0ecSMartin Mares * lspci.c (show_machine): Added non-verbose mode of machine-readable 22050a33d0ecSMartin Mares dump. 22060a33d0ecSMartin Mares 22070a33d0ecSMartin Mares * pci.ids: Updates from Jens Maurer. 22080a33d0ecSMartin Mares 22090a33d0ecSMartin Mares * Released as version 1.02. 22100a33d0ecSMartin Mares 22110a33d0ecSMartin MaresThu Feb 12 16:53:28 1998 Martin Mares <[email protected]> 22120a33d0ecSMartin Mares 22130a33d0ecSMartin Mares * lspci.c: Added a "-m" switch for dumping machine-readable 22140a33d0ecSMartin Mares configuration data (requested by Bjoern Kriews <[email protected]>). 22150a33d0ecSMartin Mares 2216fb38eee8SMartin MaresMon Feb 9 13:17:43 1998 Martin Mares <[email protected]> 2217fb38eee8SMartin Mares 2218fb38eee8SMartin Mares * Makefile, pciutils.h: Include local pci.h instead of <linux/pci.h> 2219fb38eee8SMartin Mares if available. This should avoid all problems with official kernel 2220fb38eee8SMartin Mares not synchronized to newer PCI code in CVS -- standard distribution 2221fb38eee8SMartin Mares of pciutils now contains pci.h from current CVS kernel, pciutils 2222fb38eee8SMartin Mares in CVS contain no pci.h and use the correct kernel include. 2223fb38eee8SMartin Mares 2224fb38eee8SMartin Mares * Makefile: Fixed installation path for man pages. 2225fb38eee8SMartin Mares 22262f48f637SMartin MaresSat Feb 7 15:15:46 1998 Martin Mares <[email protected]> 22272f48f637SMartin Mares 22282f48f637SMartin Mares * README: Updated. 22292f48f637SMartin Mares 22302f48f637SMartin Mares * lspci.8: Created a man page. 22312f48f637SMartin Mares 22322f48f637SMartin Mares * Releasing as version 1.0. 22332f48f637SMartin Mares 22342f48f637SMartin MaresTue Feb 3 20:56:00 1998 Martin Mares <[email protected]> 22352f48f637SMartin Mares 22362f48f637SMartin Mares * Makefile: Recognize architecture by calling uname and pass it as ARCH_xxx 22372f48f637SMartin Mares to all the C sources. This should eliminate problems with 32-bit compilers 22382f48f637SMartin Mares on sparc64. 22392f48f637SMartin Mares 22402f48f637SMartin Mares * lspci.c (show_verbose): Recognize CardBus bridge header type. 22412f48f637SMartin Mares (show_htype2): Stub routine. 22422f48f637SMartin Mares (scan_config): Write sensible error message if the kernel denies reading of 22432f48f637SMartin Mares upper part of the PCI config space. 2244