1*154abc91SMartin Mares2020-01-22 Martin Mares <[email protected]> 2*154abc91SMartin Mares 3*154abc91SMartin Mares * Released as 3.6.3. 4*154abc91SMartin Mares 5*154abc91SMartin Mares * `lspci -t' (tree mode) can be combined with `-s' to show a sub-tree. 6*154abc91SMartin Mares We also fixed potential buffer overflows in the tree dumper. 7*154abc91SMartin Mares 8*154abc91SMartin Mares * Cleaned messy code for dumping of I/O, memory, and ROM regions. 9*154abc91SMartin Mares This helped fixing a bug, which caused some 64-bit regions to be 10*154abc91SMartin Mares reported as virtual. All flags are now printed after the address 11*154abc91SMartin Mares (previously, "[virtual]" and "[enhanced]" were before it for no good 12*154abc91SMartin Mares reason). 13*154abc91SMartin Mares 14*154abc91SMartin Mares * Added pci_find_cap_nr() to the library, which handles capabilities 15*154abc91SMartin Mares which occur multiple times in a single device. 16*154abc91SMartin Mares 17*154abc91SMartin Mares * Minor improvements in printing of PCIe capabilities. 18*154abc91SMartin Mares 19*154abc91SMartin Mares * We now decode the Multicast and Secondary PCI Express extended 20*154abc91SMartin Mares capabilities. 21*154abc91SMartin Mares 22*154abc91SMartin Mares * The list of capability names available to setpci was updated. 23*154abc91SMartin Mares 24*154abc91SMartin Mares * Minor bugs were fixed in FreeBSD and Solaris ports. 25*154abc91SMartin Mares 26*154abc91SMartin Mares * We now prefer HTTPS URLs in all documentation 27*154abc91SMartin Mares 28*154abc91SMartin Mares * The pci.ids file has a man page. 29*154abc91SMartin Mares 30*154abc91SMartin Mares * As usually, updated pci.ids to the current snapshot of the database. 31*154abc91SMartin Mares 32e3832c8fSMartin Mares2018-08-12 Martin Mares <[email protected]> 33e3832c8fSMartin Mares 34e3832c8fSMartin Mares * Released as 3.6.2. 35e3832c8fSMartin Mares 36e3832c8fSMartin Mares * Added "-P" and "-PP" switches to lspci, which display the path 37e3832c8fSMartin Mares through bridges to each device. 38e3832c8fSMartin Mares 39e3832c8fSMartin Mares * Fixed a couple of bugs in computation of bus topology. It was 40e3832c8fSMartin Mares previously used only for the tree display, but we re-use it for 41e3832c8fSMartin Mares computing the paths. 42e3832c8fSMartin Mares 43e3832c8fSMartin Mares * As usually, updated pci.ids to the current snapshot of the database. 44e3832c8fSMartin Mares 452b1451ebSMartin Mares2018-07-12 Martin Mares <[email protected]> 462b1451ebSMartin Mares 472b1451ebSMartin Mares * Released as 3.6.1. 482b1451ebSMartin Mares 492b1451ebSMartin Mares * Fixed compilation issues on Linux systems with MUSL libc. 502b1451ebSMartin Mares 51b3fb64ceSMartin Mares2018-06-30 Martin Mares <[email protected]> 52b3fb64ceSMartin Mares 53b3fb64ceSMartin Mares * Released as 3.6.0. 54b3fb64ceSMartin Mares 55b3fb64ceSMartin Mares * BARs reported by the OS, but not set on the device itself are 56b3fb64ceSMartin Mares reliably marked with "[virtual]". 57b3fb64ceSMartin Mares 58b3fb64ceSMartin Mares * Library: Introduced a generic mechanism of string properties. This 59b3fb64ceSMartin Mares avoids lots of special cases and makes ABI compatibility easier. 60b3fb64ceSMartin Mares 61b3fb64ceSMartin Mares * On Linux systems with OpenFirmware, report corresponding device tree nodes 62b3fb64ceSMartin Mares as device properties. 63b3fb64ceSMartin Mares 64b3fb64ceSMartin Mares * VPD decoder knows several non-standard extensions. 65b3fb64ceSMartin Mares 66b3fb64ceSMartin Mares * When PCIe link speed is less than the maximum supported by the 67b3fb64ceSMartin Mares device, it is explicitly marked as "downgraded". 68b3fb64ceSMartin Mares 69b3fb64ceSMartin Mares * Several new capabilities are not decoded yet, but at least their 70b3fb64ceSMartin Mares names are printed. 71b3fb64ceSMartin Mares 72b3fb64ceSMartin Mares * The Null capability is easily decoded. 73b3fb64ceSMartin Mares 74b3fb64ceSMartin Mares * Formatting of several capabilities was cleaned up. 75b3fb64ceSMartin Mares 76b3fb64ceSMartin Mares * The VGA16 bit in the bridge control register is now supported. 77b3fb64ceSMartin Mares 78b3fb64ceSMartin Mares * Added a port to SylixOS. Thanks to YuJian Gong for contribution. 79b3fb64ceSMartin Mares 80b3fb64ceSMartin Mares * Added a port to DOS/DJGPP. Thanks to Rudolf Marek for contribution. 81b3fb64ceSMartin Mares 82b3fb64ceSMartin Mares * The order in which back-ends are probed was decoupled from the 83b3fb64ceSMartin Mares internal back-end IDs. This helps, because new back-ends must have 84b3fb64ceSMartin Mares their ID allocated at the end to keep the ABI, but they might need 85b3fb64ceSMartin Mares to be proved earlier. 86b3fb64ceSMartin Mares 87b3fb64ceSMartin Mares * The fbsd-device back-end should work again. 88b3fb64ceSMartin Mares 89b3fb64ceSMartin Mares * Fixed a couple of bugs. Most notably, DeviceName was not printed. 90b3fb64ceSMartin Mares 91b3fb64ceSMartin Mares * As usually, updated pci.ids to the current snapshot of the database. 92b3fb64ceSMartin Mares 93b72f3827SMartin Mares2017-11-17 Martin Mares <[email protected]> 94b72f3827SMartin Mares 95b72f3827SMartin Mares * Released as 3.5.6. 96b72f3827SMartin Mares 97b72f3827SMartin Mares * Improvements of the FreeBSD back-end: read-only access for non-root, 98b72f3827SMartin Mares support DragonFly BSD, support extended config space. 99b72f3827SMartin Mares 100b72f3827SMartin Mares * MN VPD keyword is decoded correctly. 101b72f3827SMartin Mares 102b72f3827SMartin Mares * As usually, updated pci.ids to the current snapshot of the database. 103b72f3827SMartin Mares 104dfd15a80SMartin Mares2017-07-05 Martin Mares <[email protected]> 105dfd15a80SMartin Mares 106dfd15a80SMartin Mares * Released as 3.5.5. 107dfd15a80SMartin Mares 108dfd15a80SMartin Mares * Better decoding of AER capability. 109dfd15a80SMartin Mares 110dfd15a80SMartin Mares * "Slot Implemented" flag is decoded for PCI/PCI-X to PCIe bridges. 111dfd15a80SMartin Mares 112dfd15a80SMartin Mares * Minor fixes of decoding other capabilities. 113dfd15a80SMartin Mares 114dfd15a80SMartin Mares * As usually, updated pci.ids to the current snapshot of the database. 115dfd15a80SMartin Mares 1169f9e373bSMartin Mares2017-02-25 Martin Mares <[email protected]> 1179f9e373bSMartin Mares 1189f9e373bSMartin Mares * Released as 3.5.4. 1199f9e373bSMartin Mares 1209f9e373bSMartin Mares * Previous version broke compilation on systems, for which lib/types.h 1219f9e373bSMartin Mares did not provide a 64-bit integer type. It is provided everywhere now. 1229f9e373bSMartin Mares 1232ee7d45aSMartin Mares2017-02-15 Martin Mares <[email protected]> 1242ee7d45aSMartin Mares 1252ee7d45aSMartin Mares * Released as 3.5.3. 1262ee7d45aSMartin Mares 1272ee7d45aSMartin Mares * When lspci looks for Linux kernel modules, it uses the default 1282ee7d45aSMartin Mares path to module directory provided by libkmod. Previously, 1292ee7d45aSMartin Mares it tried to construct the path explicitly, which need not 1302ee7d45aSMartin Mares work on all systems. 1312ee7d45aSMartin Mares 1322ee7d45aSMartin Mares * Improved formatting of memory and I/O ranges behind a bridge. 1332ee7d45aSMartin Mares 1342ee7d45aSMartin Mares * PCIe link capabilities now display GEN4 speed (16GT/s). 1352ee7d45aSMartin Mares 1362ee7d45aSMartin Mares * PCIe device capabilities now show bits related to atomic operations. 1372ee7d45aSMartin Mares Thanks to Satanand Burla for a patch. 1382ee7d45aSMartin Mares 1392ee7d45aSMartin Mares * As usually, updated pci.ids to the current snapshot of the database. 1402ee7d45aSMartin Mares 1414a190235SMartin Mares2016-10-03 Martin Mares <[email protected]> 1424a190235SMartin Mares 1434a190235SMartin Mares * Released as 3.5.2. 1444a190235SMartin Mares 1454a190235SMartin Mares * The L1 power management capability is now decoded more 1464a190235SMartin Mares thoroughly. Thanks to Rajat Jain for the patch. 1474a190235SMartin Mares 1484a190235SMartin Mares * The table of configuration registers used by setpci 1494a190235SMartin Mares had a bug in the definition of SUBSYSTEM_VENDOR_ID. 1504a190235SMartin Mares 1512f8b8f9fSMartin Mares2016-05-22 Martin Mares <[email protected]> 1522f8b8f9fSMartin Mares 1532f8b8f9fSMartin Mares * Released as 3.5.1. 1542f8b8f9fSMartin Mares 1552f8b8f9fSMartin Mares * Fixed symbol versioning of pci_init(). 1562f8b8f9fSMartin Mares 157ab6ed5fdSMartin Mares2016-05-19 Martin Mares <[email protected]> 158ab6ed5fdSMartin Mares 159ab6ed5fdSMartin Mares * Released as 3.5.0. 160ab6ed5fdSMartin Mares 161ab6ed5fdSMartin Mares * New capabilities decoded: Downstream Port Containment, 162ab6ed5fdSMartin Mares Precision Time Measurement. Thanks to Keith Busch and 163ab6ed5fdSMartin Mares Jonathan Yong. 164ab6ed5fdSMartin Mares 165ab6ed5fdSMartin Mares * Domain numbers extended to 31 bits. This will be used by the 166ab6ed5fdSMartin Mares Linux kernel on some machines in near future. 167ab6ed5fdSMartin Mares 168ab6ed5fdSMartin Mares * Enhanced allocation regions are now decoded on Linux. 169ab6ed5fdSMartin Mares 170ab6ed5fdSMartin Mares * The NetBSD back-end supports PCIe extended configuration space. 171ab6ed5fdSMartin Mares 172ab6ed5fdSMartin Mares * Updated pci.ids to the current snapshot of the database. 173ab6ed5fdSMartin Mares 17437c9315cSMartin Mares2016-01-03 Martin Mares <[email protected]> 17537c9315cSMartin Mares 17637c9315cSMartin Mares * Released as 3.4.1. 17737c9315cSMartin Mares 17837c9315cSMartin Mares * New capabilities decoded: Process Address Space, Page Request 17937c9315cSMartin Mares Interface, Enhanced Allocation. Thanks to David Daney and 18037c9315cSMartin Mares David Woodhouse. 18137c9315cSMartin Mares 18237c9315cSMartin Mares * DevCap SlotPowerLimit is now decoded for all components with 18337c9315cSMartin Mares upstream ports. 18437c9315cSMartin Mares 18537c9315cSMartin Mares * Database mirror at SourceForge moved to GitHub. 18637c9315cSMartin Mares 18737c9315cSMartin Mares * Updated pci.ids to the current snapshot of the database. 18837c9315cSMartin Mares 189508c53ebSMartin Mares2015-09-14 Martin Mares <[email protected]> 190508c53ebSMartin Mares 191508c53ebSMartin Mares * Released as 3.4.0. 192508c53ebSMartin Mares 193508c53ebSMartin Mares * On Linux, we report NUMA nodes of devices. 194508c53ebSMartin Mares 195508c53ebSMartin Mares * The sysfs back-end does not die on read errors 196508c53ebSMartin Mares of optional attributes. Instead, a warning is produced. 197508c53ebSMartin Mares 198508c53ebSMartin Mares * Fixed several minor bugs. 199508c53ebSMartin Mares 200508c53ebSMartin Mares * Updated pci.ids to the current snapshot of the database. 201508c53ebSMartin Mares 202949f4469SMartin Mares2015-04-09 Martin Mares <[email protected]> 203949f4469SMartin Mares 204949f4469SMartin Mares * Released as 3.3.1. 205949f4469SMartin Mares 206949f4469SMartin Mares * Removed hacks for backward compatibility with Linux libc5, 207949f4469SMartin Mares which were breaking newer non-glibc Linux systems. Thanks 208949f4469SMartin Mares to Felix Janda. 209949f4469SMartin Mares 210949f4469SMartin Mares * Display VirtIO vendor-specific capability. Patch by Gerd 211949f4469SMartin Mares Hoffmann. 212949f4469SMartin Mares 213949f4469SMartin Mares * Fixed memory leak in name cache. 214949f4469SMartin Mares 2153bc4dd2cSMartin Mares * Updated pci.ids to the current snapshot of the database. 2163bc4dd2cSMartin Mares 217f14d4d87SMartin Mares2014-11-10 Martin Mares <[email protected]> 218f14d4d87SMartin Mares 2191481a1caSMartin Mares * Released as 3.3.0. 2201481a1caSMartin Mares (celebrating a one-year anniversary of the previous version :)) 22128617b24SMartin Mares 22228617b24SMartin Mares * Device names exported by BIOS are displayed on Linux. 22328617b24SMartin Mares 22428617b24SMartin Mares * On Linux systems, HWDB is used to look up device names 22528617b24SMartin Mares when our ID database gives no match. (More precisely, 22628617b24SMartin Mares HWDB is consulted after local pci.ids, but before using 22728617b24SMartin Mares network to query online pci.ids.) Thanks to Tom Gundersen 22828617b24SMartin Mares for the initial patch. 22928617b24SMartin Mares 23028617b24SMartin Mares * Added experimental back-end for OS X / Darwin. Thanks to 23128617b24SMartin Mares Richard Yao for providing it. 23228617b24SMartin Mares 233afb881ccSMartin Mares * Filters now support matching by device class. Original 234afb881ccSMartin Mares patch by Matthew Wilcox, wrappers for ABI compatibility 235afb881ccSMartin Mares by me. 236afb881ccSMartin Mares 23728617b24SMartin Mares * Interrupt Pin and Interrupt Line registers are displayed 23828617b24SMartin Mares for bridge devices, too. 23928617b24SMartin Mares 24028617b24SMartin Mares * Several portability bugs have been fixed. 24128617b24SMartin Mares 24228617b24SMartin Mares * Several typos have been fixed. Also, use of questionable 24328617b24SMartin Mares constructs in man pages has been reduced. 24428617b24SMartin Mares 24528617b24SMartin Mares * PCIe link capabilities now include the ASPMOptComp bit. 24628617b24SMartin Mares 24728617b24SMartin Mares * The "CRS Software Visibility" bit is now decoded properly. 24828617b24SMartin Mares 24928617b24SMartin Mares * Updated pci.ids to the current snapshot of the database. 25028617b24SMartin Mares 251dc49926aSMartin Mares2013-11-10 Martin Mares <[email protected]> 252dc49926aSMartin Mares 253dc49926aSMartin Mares * Released as 3.2.1. 254dc49926aSMartin Mares 255dc49926aSMartin Mares * CardBus bridge capabilities are displayed. 256dc49926aSMartin Mares 257dc49926aSMartin Mares * PCIe L1 PM substates are decoded. 258dc49926aSMartin Mares 259dc49926aSMartin Mares * Various bugs were fixed in decoding of PCIe capabilities. 260dc49926aSMartin Mares 261dc49926aSMartin Mares * The sysfs back-end does not spit out unnecessary warnings when 262dc49926aSMartin Mares empty slots report only a partial device address. This actually 263dc49926aSMartin Mares happens on IBM pSeries. 264dc49926aSMartin Mares 265dc49926aSMartin Mares * Updated pci.ids to the today's snapshot of the database. 266dc49926aSMartin Mares 2676a4909eeSMartin Mares2013-04-19 Martin Mares <[email protected]> 2686a4909eeSMartin Mares 2696a4909eeSMartin Mares * Released as 3.2.0. 2706a4909eeSMartin Mares 2716a4909eeSMartin Mares * On newer Linux systems, we use libkmod to look up kernel modules 27269a77b5cSMartin Mares (modules.pcimap no longer exists). To facilitate this, libpci 2736a4909eeSMartin Mares is able to look up module aliases in sysfs. 2746a4909eeSMartin Mares 2756a4909eeSMartin Mares * Various minor bug fixes. 2766a4909eeSMartin Mares 2776a4909eeSMartin Mares * Updated pci.ids to the today's snapshot of the database. 2786a4909eeSMartin Mares 27927c0f3acSMartin Mares2012-06-25 Martin Mares <[email protected]> 28027c0f3acSMartin Mares 28127c0f3acSMartin Mares * Released as 3.1.10. 28227c0f3acSMartin Mares 28327c0f3acSMartin Mares * Decoding of LTR/OBFF in PCIe capabilities. 28427c0f3acSMartin Mares 28527c0f3acSMartin Mares * Various minor bug fixes. 28627c0f3acSMartin Mares 28727c0f3acSMartin Mares * Updated pci.ids to the today's snapshot of the database. 28827c0f3acSMartin Mares 28968e5ff17SMartin Mares2012-01-14 Martin Mares <[email protected]> 29068e5ff17SMartin Mares 29168e5ff17SMartin Mares * Released as 3.1.9. 29268e5ff17SMartin Mares 29368e5ff17SMartin Mares * Updated README. 29468e5ff17SMartin Mares 2956a4909eeSMartin Mares * Wherever we mention the PCI ID database, we now refer to 29668e5ff17SMartin Mares http://pci-ids.ucw.cz/ and the sf.net site is mentioned only 29768e5ff17SMartin Mares as a mirror. This includes update-pciids. 29868e5ff17SMartin Mares 29968e5ff17SMartin Mares * Decode PCIe Gen 3 speeds and link status fields. 30068e5ff17SMartin Mares 30168e5ff17SMartin Mares * Various minor bug fixes. 30268e5ff17SMartin Mares 30368e5ff17SMartin Mares * Updated pci.ids to the today's snapshot of the database. 30468e5ff17SMartin Mares 305a70dab15SMartin Mares2011-10-02 Martin Mares <[email protected]> 306a70dab15SMartin Mares 307a70dab15SMartin Mares * Released as 3.1.8. 308a70dab15SMartin Mares 309a70dab15SMartin Mares * More capabilities: Transaction Processing Hints, Latency Tolerance 310a70dab15SMartin Mares Reporting. Thanks to Jesse Barnes. 311a70dab15SMartin Mares 312a70dab15SMartin Mares * Added BeOS and Haiku ports. Contributed by Francois Revol. 313a70dab15SMartin Mares 314a70dab15SMartin Mares * pciutils.pc now uses Libs.private properly. 315a70dab15SMartin Mares 316a70dab15SMartin Mares * When we format a name and it does not fit in the buffer, we truncate 317a70dab15SMartin Mares it instead of returning "buffer too small" instead. This works on all 318a70dab15SMartin Mares platforms with sane (i.e., C99-compatible) snprintf(). 319a70dab15SMartin Mares 320a70dab15SMartin Mares * Various minor bug fixes. 321a70dab15SMartin Mares 322a70dab15SMartin Mares * Updated pci.ids to the today's snapshot of the database. 323a70dab15SMartin Mares 3246bc2bc1cSMartin Mares2010-01-31 Martin Mares <[email protected]> 3256bc2bc1cSMartin Mares 3266bc2bc1cSMartin Mares * Released as 3.1.7. 3276bc2bc1cSMartin Mares 3286bc2bc1cSMartin Mares * Minor improvements and bug fixes in decoding of the Virtual Channel 3296bc2bc1cSMartin Mares capability. 3306bc2bc1cSMartin Mares 331e3a052daSMartin Mares2010-01-24 Martin Mares <[email protected]> 332e3a052daSMartin Mares 333e3a052daSMartin Mares * Released as 3.1.6. 334e3a052daSMartin Mares 335e3a052daSMartin Mares * More capabilities decoded: Virtual Channel (except arbitration 336e3a052daSMartin Mares tables), Root Complex Link, Vendor-Specific (header only), SATA HBA. 337e3a052daSMartin Mares 338e3a052daSMartin Mares * All extended capabilities have their version displayed (-vv or more). 339e3a052daSMartin Mares 3409978b6fdSMartin Mares2010-01-19 Martin Mares <[email protected]> 3419978b6fdSMartin Mares 3429978b6fdSMartin Mares * Released as 3.1.5. 3439978b6fdSMartin Mares 3449978b6fdSMartin Mares * Updated pci.ids to the today's snapshot of the database. 3459978b6fdSMartin Mares 3469978b6fdSMartin Mares * When scanning extended capabilities, properly mask the lowest 2 bits, 3479978b6fdSMartin Mares which are currently reserved. This avoids unaligned access errors on 3489978b6fdSMartin Mares broken hardware (see tests/broken-ecaps). 3499978b6fdSMartin Mares 3509978b6fdSMartin Mares * Large bar sizes are displayed in human-readable format (with units). 3519978b6fdSMartin Mares Thanks to Matthew Wilcox. 3529978b6fdSMartin Mares 3539978b6fdSMartin Mares * Physical slot information is displayed correctly for multi-function cards. 3549978b6fdSMartin Mares Fixed by Matthew Wilcox. 3559978b6fdSMartin Mares 3569978b6fdSMartin Mares * Fixed a couple of typos everywhere. 3579978b6fdSMartin Mares 3589978b6fdSMartin Mares * Library: Fixed bugs in freeing of capabilities. 3599978b6fdSMartin Mares 3609978b6fdSMartin Mares * Windows back-end compiles again. 3619978b6fdSMartin Mares 362c67775bcSMartin Mares2009-08-14 Martin Mares <[email protected]> 363c67775bcSMartin Mares 364ebb9bc54SMartin Mares * Released as 3.1.4. 365ebb9bc54SMartin Mares (sorry that I have missed 22/7 and released it later :-)) 366c67775bcSMartin Mares 367c67775bcSMartin Mares * Updated pci.ids to the today's snapshot of the database. 368c67775bcSMartin Mares 369c67775bcSMartin Mares * Fixed memory and file descriptor leak in the dump back-end. 370c67775bcSMartin Mares 371c67775bcSMartin Mares * The SR-IOV capability decoder now prints the VF BAR's. 372c67775bcSMartin Mares Patch by Chris Wright, cleaned up by me. 373c67775bcSMartin Mares 374c67775bcSMartin Mares * On request of certain company's lawyers, we now include a copy 375c67775bcSMartin Mares of the GPL with our package. It seems that the pciutils are getting 376c67775bcSMartin Mares mature if the most important bug of the month was this one ;-) 377c67775bcSMartin Mares 37810df48cbSMartin Mares2009-07-04 Martin Mares <[email protected]> 37910df48cbSMartin Mares 38010df48cbSMartin Mares * Released as 3.1.3. 38110df48cbSMartin Mares 38210df48cbSMartin Mares * Updated pci.ids to the current snapshot of the database. 38310df48cbSMartin Mares 38410df48cbSMartin Mares * The VPD parser now reports unknown and vendor-defined items 38510df48cbSMartin Mares properly. It also stops on any item in unknown format, avoiding long 38610df48cbSMartin Mares output on bogus VPD data. Thanks to Ben Hutchings and Matthew Wilcox. 38710df48cbSMartin Mares 38810df48cbSMartin Mares * The MSI-X table size now matches the spec. Thanks to Michael S. 38910df48cbSMartin Mares Tsirkin. 39010df48cbSMartin Mares 39110df48cbSMartin Mares * The Power Management capability now includes the soft reset bit. 39210df48cbSMartin Mares Thanks to Yu Zhao. 39310df48cbSMartin Mares 39410df48cbSMartin Mares * Decoding of the Advanced Features capability has been added. 39510df48cbSMartin Mares Thanks to Yu Zhao. 39610df48cbSMartin Mares 39710df48cbSMartin Mares * The whole package compiles on GNU/kFreeBSD again. 39810df48cbSMartin Mares 39910df48cbSMartin Mares The following patches have been contributed by Matthew Wilcox: 40010df48cbSMartin Mares 40110df48cbSMartin Mares * The procfs back-end is able to cope with /proc/bus/pci 40210df48cbSMartin Mares containing names with domains, which occur on sparc64 and 40310df48cbSMartin Mares possibly other architectures due to a kernel bug. 40410df48cbSMartin Mares 40510df48cbSMartin Mares * The sysfs back-end no longer complains when a slot address 40610df48cbSMartin Mares is missing, which happens with old versions of Linux fakephp. 40710df48cbSMartin Mares 40810df48cbSMartin Mares * The Device Serial Number capability is printed in the right 40910df48cbSMartin Mares byte order. 41010df48cbSMartin Mares 41110df48cbSMartin Mares * The MSI and MSI-X capabilities are printed in a prettier way. 41210df48cbSMartin Mares 41310df48cbSMartin Mares * The tree output mode (`lspci -t') shows domain numbers only 41410df48cbSMartin Mares at the root, which makes the output more compact. 41510df48cbSMartin Mares 41610df48cbSMartin Mares * Updated documentation on the bus mapping mode (`lspci -M'). 41710df48cbSMartin Mares 41834683007SMartin Mares2009-02-01 Martin Mares <[email protected]> 41934683007SMartin Mares 42034683007SMartin Mares * Released as 3.1.2. 42134683007SMartin Mares 42234683007SMartin Mares * Fixed another silly bug in the command-line parser of setpci. 42334683007SMartin Mares 424f6523e28SMartin Mares2009-01-30 Martin Mares <[email protected]> 425f6523e28SMartin Mares 426f6523e28SMartin Mares * Released as 3.1.1. 427f6523e28SMartin Mares 428f6523e28SMartin Mares * Updated pci.ids to the current snapshot of the database. 429f6523e28SMartin Mares 430f6523e28SMartin Mares * The configure script now sets LC_ALL to avoid being fooled by 431f6523e28SMartin Mares locale-dependent behavior of `tr'. 432f6523e28SMartin Mares 433f6523e28SMartin Mares * The command-line parser of setpci did sometimes segfault on invalid 434f6523e28SMartin Mares input. Thanks to Andreas Wiese for a fix. 435f6523e28SMartin Mares 436db557900SMartin Mares2009-01-18 Martin Mares <[email protected]> 437db557900SMartin Mares 438db557900SMartin Mares * Released as 3.1.0. 439db557900SMartin Mares 440af358b08SMartin Mares * Updated pci.ids to the current snapshot of the database. 441af358b08SMartin Mares 442db557900SMartin Mares * The Cygwin backend now works on Windows Vista. Thanks to Jonathan 443db557900SMartin Mares Kotta. 444db557900SMartin Mares 445db557900SMartin Mares * Fixed a bug in decoding of the SR-IOV capability. Patch by Yu Zhao. 446db557900SMartin Mares 447db557900SMartin Mares * Details of some PCIe capabilities are displayed only with -vv. 448db557900SMartin Mares 449db557900SMartin Mares * When a BAR is reported by the OS, but not by the device (i.e., 450db557900SMartin Mares it is marked as [virtual] in lspci), the [disabled] flag is 451db557900SMartin Mares suppressed, because it does not make sense in such cases. 452db557900SMartin Mares Patch by Yu Zhao. 453db557900SMartin Mares 4542b31207aSMartin Mares2008-12-13 Martin Mares <[email protected]> 4552b31207aSMartin Mares 4562b31207aSMartin Mares * The source code of lspci has been split to multiple files, hopefully 4572b31207aSMartin Mares making it easier to maintain. 4582b31207aSMartin Mares 4592b31207aSMartin Mares * The library and lspci now know about physical slot names. So far, 4602b31207aSMartin Mares they are provided by the sysfs back-end only. Thanks go to Alex Chiang. 4612b31207aSMartin Mares 4622b31207aSMartin Mares * When a device has the VPD (Vital Product Data) capability and the 4632b31207aSMartin Mares VPD data are supplied by the OS, they are decoded and printed in the 4642b31207aSMartin Mares verbose mode. This currently works only on Linux with the sysfs 4652b31207aSMartin Mares back-end. Thanks to Ben Hutchings of Solarflare for the patch. 4662b31207aSMartin Mares 4672b31207aSMartin Mares * `setpci --version' now works properly. 4682b31207aSMartin Mares 4694d4325f8SMartin Mares * `setpci --dumpregs' prints a table of all known names of 4702b31207aSMartin Mares registers and capabilities. This replaces the table of registers 4712b31207aSMartin Mares in the setpci man page. 4722b31207aSMartin Mares 4732b31207aSMartin Mares * The dry-run mode of setpci gives better feedback. 4742b31207aSMartin Mares 4752b31207aSMartin Mares * The setpci utility is now able to address registers stored in PCI 4762b31207aSMartin Mares capabilities (actually it allows a more general form of relative 4772b31207aSMartin Mares addressing). 4782b31207aSMartin Mares 4792b31207aSMartin Mares * The library has gained functions for working with PCI capabilities. 4802b31207aSMartin Mares 4812b31207aSMartin Mares * Address Translation Services capability is now decoded. Patch by 4822b31207aSMartin Mares Yu Zhao. 4832b31207aSMartin Mares 484b282435dSMartin Mares2008-11-09 Martin Mares <[email protected]> 485b282435dSMartin Mares 486b282435dSMartin Mares * Released as 3.0.3. 487b282435dSMartin Mares 488b282435dSMartin Mares * `lspci -k' now displays the subsystem ID, too. This makes `-k' 489b282435dSMartin Mares show everything needed to identify the device and the available 490b282435dSMartin Mares drivers, which was called for by many users. 491b282435dSMartin Mares 492b282435dSMartin Mares * Fixed spelling of MSI. Patch by Matthew Wilcox. 493b282435dSMartin Mares 494b282435dSMartin Mares * Better support for cross-compilation. Thanks to Alon Bar-Lev 495b282435dSMartin Mares for the patch. 496b282435dSMartin Mares 497b282435dSMartin Mares * Fixed printing of the AER capability. Patch by Max Asbock. 498b282435dSMartin Mares 499b282435dSMartin Mares * HT 1.02 capabilities are decoded as HT 1.03. Suggested by 500b282435dSMartin Mares Carl-Daniel Hailfinger. 501b282435dSMartin Mares 502b282435dSMartin Mares * Fixed Cygwin build. Thanks to Steve Elliott for reporting the bug. 503b282435dSMartin Mares 504b282435dSMartin Mares * Updated pci.ids to the current snapshot of the database. 505b282435dSMartin Mares 506daf2ef4eSMartin Mares2008-09-19 Martin Mares <[email protected]> 507daf2ef4eSMartin Mares 508daf2ef4eSMartin Mares * Released as 3.0.2. 509daf2ef4eSMartin Mares 510daf2ef4eSMartin Mares * Fixed a minor bug in the configure script, which caused warnings 511daf2ef4eSMartin Mares about redefinition of symbols during compilation. 512daf2ef4eSMartin Mares 51338254178SMartin Mares2008-09-11 Martin Mares <[email protected]> 51438254178SMartin Mares 51538254178SMartin Mares * Released as 3.0.1. 51638254178SMartin Mares 51738254178SMartin Mares * Updated pci.ids to the most recent snapshot. 51838254178SMartin Mares 51938254178SMartin Mares * Added a Cygwin port. Patch by Christopher Voltz, ported to the 52038254178SMartin Mares current tree by Martin Mares. 52138254178SMartin Mares 52238254178SMartin Mares * Worked around compatibility problems with various default settings 52338254178SMartin Mares of wget (we have to set --no-timestamping explicitly). Thanks to Ville 52438254178SMartin Mares Skytta for pointing that out. 52538254178SMartin Mares 52638254178SMartin Mares * Fixed printing of MSI capabilities. Thanks to Matthew Wilcox for 52738254178SMartin Mares a patch. 52838254178SMartin Mares 52938254178SMartin Mares * Added decoding of several PCI-X capabilities: device/link/slot 2, 53038254178SMartin Mares Advanced Error Reporting, Access Control Services, Alternative Routing-ID, 53138254178SMartin Mares Single Root I/O Virtualization. Thanks to Yu Zhao for patches. 53238254178SMartin Mares 53338254178SMartin Mares * Fixed bug in filters which caused them to refuse vendor/device ID 0xffff. 53438254178SMartin Mares 53538254178SMartin Mares * README: The linux-pci mailing list has moved to [email protected]. 53638254178SMartin Mares 53738254178SMartin Mares * Fixed several build problems: builds without PCI_USE_DNS on Linux 53838254178SMartin Mares and with PCI_USE_DNS on Solaris and *BSD. Static library mode also 53938254178SMartin Mares compiles again on old versions of GCC. 54038254178SMartin Mares 541cec9f7e7SMartin Mares2008-04-10 Martin Mares <[email protected]> 542cec9f7e7SMartin Mares 543cec9f7e7SMartin Mares * Released as 3.0.0. 544cec9f7e7SMartin Mares 545cec9f7e7SMartin Mares * Updated API and ABI version. 546cec9f7e7SMartin Mares 547cd2f6a34SMartin Mares2008-02-20 Martin Mares <[email protected]> 548cd2f6a34SMartin Mares 549cd2f6a34SMartin Mares * Released as 2.99.1-alpha2. 550cd2f6a34SMartin Mares 551cd2f6a34SMartin Mares * Changed the default domain for the DNS resolver. 552cd2f6a34SMartin Mares 553165a50cbSMartin Mares2008-02-18 Martin Mares <[email protected]> 554165a50cbSMartin Mares 555165a50cbSMartin Mares * Released as 2.99.1-alpha1. 556623234ecSMartin Mares 557a1fca487SMartin Mares * The makefile system has been reworked. All configuration settings 558a1fca487SMartin Mares are now passed to the configure script in environment variables, 559a1fca487SMartin Mares allowing for easy tweaking in the top-level Makefile. All control 560a1fca487SMartin Mares knobs are now described in the README. 561a1fca487SMartin Mares 562a1fca487SMartin Mares * The libpci can be built as a shared library with properly restricted 563a1fca487SMartin Mares symbol exports. Use `make SHARED=yes' to enable that or `make SHARED=local' 564a1fca487SMartin Mares for a local testing build (with hardwired paths to the library, so that 565a1fca487SMartin Mares it does not need installation). 566a1fca487SMartin Mares 567a1fca487SMartin Mares * The example program has been moved from lib/example.c to the top-level 568a1fca487SMartin Mares directory, because it should be built exactly as the other utilities 569a1fca487SMartin Mares are. It has been also improved slightly to educate better. 570a1fca487SMartin Mares 571623234ecSMartin Mares * The i386-ports method is enabled on Linux/x86_64 as well. 572623234ecSMartin Mares 573ae27e293SMartin Mares2008-02-13 Martin Mares <[email protected]> 574ae27e293SMartin Mares 575ae27e293SMartin Mares * Released as 2.2.10-net2. 576ae27e293SMartin Mares 577ae27e293SMartin Mares * Support for resolving of PCI ID's using DNS together with a local 578ae27e293SMartin Mares cache of resolved entries has been added. See the `-q' and `-Q' options 579ae27e293SMartin Mares of lspci. 580ae27e293SMartin Mares 581ae27e293SMartin Mares * The library now has a generic system of settable parameters, which 582ae27e293SMartin Mares also include settings of the DNS resolver and cache. An `-O' option 583ae27e293SMartin Mares has been added to lspci and setpci to allow setting of these options. 584ae27e293SMartin Mares 585ae27e293SMartin Mares * Configuration of the access methods are now specified by the new 586ae27e293SMartin Mares parameter system, replacing the pci_access->method_params array. 587ae27e293SMartin Mares 588ae27e293SMartin Mares * Access methods now also have sensible names and help texts and it 589ae27e293SMartin Mares is possible to look up method ID by a name. 590ae27e293SMartin Mares 591ae27e293SMartin Mares * An `-A' switch has been added to both lspci and setpci, allowing to 592ae27e293SMartin Mares select an arbitrary access method. The `-P' switch (configure proc 593ae27e293SMartin Mares backend) has been removed as it is no longer needed and I do not know 594ae27e293SMartin Mares any its user. 595ae27e293SMartin Mares 596ae27e293SMartin Mares * Several source files have been split for better maintainability 597ae27e293SMartin Mares (most notably the resolving of ID's). 598ae27e293SMartin Mares 599ae27e293SMartin Mares * Man pages and help texts have been updated. A new man page `pcilib(7)' 600ae27e293SMartin Mares has been added and description of library options has been moved there. 601ae27e293SMartin Mares 602ae27e293SMartin Mares * When an unknown device ID is encountered, we print `Device <id>' 603ae27e293SMartin Mares instead of `Unknown device <id>'. It uses less space and it also 604ae27e293SMartin Mares should reduce the number of inexperienced users complaining that 605ae27e293SMartin Mares the device is not supported by the OS. To lookup up OS drivers, 606ae27e293SMartin Mares use the `-k' option. 607ae27e293SMartin Mares 608ae27e293SMartin Mares * PCI_LIB_VERSION has been bumped to 0x020299. 609ae27e293SMartin Mares 610ae27e293SMartin Mares * Makefile: stripping of the binaries during installation can be 611ae27e293SMartin Mares overridden by the STRIP variable. 612ae27e293SMartin Mares 613ae27e293SMartin Mares * lib/types.h: We use the integer types from <stdint.h> if the 614ae27e293SMartin Mares compiler claims C99 support. 615ae27e293SMartin Mares 6160fc3bd18SMartin Mares2008-02-11 Martin Mares <[email protected]> 6170fc3bd18SMartin Mares 6182466b14bSMartin Mares * Released as 2.2.10. 6192466b14bSMartin Mares 6206add52f5SMartin Mares * lspci.c, setpci.c: Cleaned up the list of options. 6216add52f5SMartin Mares 6220fc3bd18SMartin Mares * lib/names.c: Fix displaying of errors reported by zlib. 6230fc3bd18SMartin Mares Previously, the buffer containing the error message had 6240fc3bd18SMartin Mares been deallocated by gzclose() before the message was printed. 6250fc3bd18SMartin Mares 626d26b5378SMartin Mares2008-01-07 Martin Mares <[email protected]> 627d26b5378SMartin Mares 628d26b5378SMartin Mares * update-pciids.sh: Added quiet mode (-q). Clean up uncompressed 629d26b5378SMartin Mares files left by previous versions of the pciutils. Patch by Mike 630d26b5378SMartin Mares Frysinger. 631d26b5378SMartin Mares 632d26b5378SMartin Mares * update-pciids.man: Mention the -q switch. 633d26b5378SMartin Mares 634dc01dd60SMartin Mares2007-11-29 Martin Mares <[email protected]> 635dc01dd60SMartin Mares 636dc01dd60SMartin Mares * lib/dump.c: Squashed compiler warnings about code with 637dc01dd60SMartin Mares no effect (there really were surplus *'s). 638dc01dd60SMartin Mares 63911339c0dSMartin Mares2007-11-06 Martin Mares <[email protected]> 64011339c0dSMartin Mares 64113463566SMartin Mares * Released as 2.2.9. 64213463566SMartin Mares 64311339c0dSMartin Mares * lspci.c: Added a new switch `-k' which requests printing 64411339c0dSMartin Mares of information on kernel drivers attached to each device 64511339c0dSMartin Mares and on kernel modules reporting the ability to handle the 64611339c0dSMartin Mares device. So far, this is supported only on Linux with the 64711339c0dSMartin Mares sysfs back-end, so it is implemented internally in the lspci 64811339c0dSMartin Mares instead of the libpci. Thanks to Anicka <[email protected]> 64911339c0dSMartin Mares for help. 65011339c0dSMartin Mares 6513de798bdSMartin Mares2007-10-19 Martin Mares <[email protected]> 6523de798bdSMartin Mares 6536cdb9d93SMartin Mares * Makefile, lib/Makefile: Moved -lz from LDFLAGS to LDLIBS. 6546cdb9d93SMartin Mares Also added an explicit pattern rule for linking to make sure 6556cdb9d93SMartin Mares that LDLIBS is used on all platforms. Thanks to Dan Nicholson 6566cdb9d93SMartin Mares for the suggestion. 6576cdb9d93SMartin Mares 6586cdb9d93SMartin Mares2007-10-19 Martin Mares <[email protected]> 6596cdb9d93SMartin Mares 660a404b115SMartin Mares * Released as 2.2.8. 661a404b115SMartin Mares 6623de798bdSMartin Mares * pci.ids: Revised class codes to match Conventional PCI 3.0 specs. 6633de798bdSMartin Mares Added a couple of new ones, renumbered `ADMA continuous operation' 6643de798bdSMartin Mares prog-if to 0x30 (even the old SATA Class Code ECN doesn't mention 6653de798bdSMartin Mares 0x40) and renumbered the satellite communication controllers. 6663de798bdSMartin Mares 6672d2c4810SMartin Mares * lib/header.h: Include `PCI hot-plug' and `Secure device' 668f7c76ec5SMartin Mares capabilities from PCI 3.0 specs. Also added `SATA HBA' and 669f7c76ec5SMartin Mares `Advanced features' caps from various ECN's. 6702d2c4810SMartin Mares 671fa2273caSMartin Mares * lspci.c: All known capabilities have at least their name displayed 672fa2273caSMartin Mares now. When we are unable to decode them completely, we signalize it 673fa2273caSMartin Mares with a `<?>' mark. 674fa2273caSMartin Mares 675fa2273caSMartin Mares * lspci.man: Document `<?>' and also mention that extended config 676fa2273caSMartin Mares space is currently available only with the linux_sysfs back-end. 677fa2273caSMartin Mares 67831c9bb28SMartin Mares * lspci.c: Decode the Debug port capability (per EHCI 0.96 spec). 67931c9bb28SMartin Mares 680a387042eSMartin Mares * lspci.c: Big code cleanup: re-arranged functions in the code, 681a387042eSMartin Mares renamed everything related to capabilities to cap_* and 682a387042eSMartin Mares all options except verbose to opt_*. 683a387042eSMartin Mares 6849c79fcc4SMartin Mares2007-10-14 Martin Mares <[email protected]> 6859c79fcc4SMartin Mares 6869c79fcc4SMartin Mares * lib/[fno]bsd-*: Removed extraneous braces. 6879c79fcc4SMartin Mares 688d5b4cd14SMartin Mares2007-10-12 Martin Mares <[email protected]> 689d5b4cd14SMartin Mares 690d5b4cd14SMartin Mares * Capability loop detection introduced 2.2.7 did not work 691d5b4cd14SMartin Mares properly with extended capabilities. Fixed. 692d5b4cd14SMartin Mares 693594de878SMartin Mares2007-10-05 Martin Mares <[email protected]> 694594de878SMartin Mares 6958a23eadcSMartin Mares * Released as 2.2.7. 6968a23eadcSMartin Mares 697594de878SMartin Mares * lspci.c (show_caps, show_ext_caps): Detect and report loops in 698594de878SMartin Mares capability lists. 699594de878SMartin Mares 7008a23eadcSMartin Mares * lspci.c, lib/header.h: Finished decoding of the PCI Express 7018a23eadcSMartin Mares capability. The extended capabilities remain undecoded for now, 7028a23eadcSMartin Mares but at least the list of them has been updated to reflect the 7038a23eadcSMartin Mares current PCI Express 2.0 spec. 7048a23eadcSMartin Mares 7058a23eadcSMartin Mares * lspci.c, lib/header.h: Decode new bits of traditional registers 7068a23eadcSMartin Mares as defined by PCIE / PCI-X. This includes discard timers in the bridge 7078a23eadcSMartin Mares control register and INTx enable/status in device control/status 7088a23eadcSMartin Mares registers. 7098a23eadcSMartin Mares 7108a23eadcSMartin Mares * lib/fbsd-device.c: Support domains on new FreeBSD's. Contributed 7118a23eadcSMartin Mares by Marius Strobl. 7128a23eadcSMartin Mares 71399091df9SMartin Mares2007-09-12 Hasso Tepper <[email protected]> 71499091df9SMartin Mares 71599091df9SMartin Mares * Extended the fbsd-device backend to run on Dragonfly BSD. 71699091df9SMartin Mares 71799091df9SMartin Mares * lspci.c: alloca() is declared in <stdlib.h> on BSD's, not <alloca.h>. 71899091df9SMartin Mares 71909156b3bSMartin Mares2007-09-03 Martin Mares <[email protected]> 72009156b3bSMartin Mares 72109156b3bSMartin Mares * Resurrected the Windows port, including cross-compilation by MinGW. 72209156b3bSMartin Mares Patch by Samuel Bronson <[email protected]>. 72309156b3bSMartin Mares 724325a3c50SMartin Mares2007-08-31 Martin Mares <[email protected]> 725325a3c50SMartin Mares 726325a3c50SMartin Mares * Makefile, lib/Makefile: `ar' and `ranlib' can be overriden to allow 727325a3c50SMartin Mares cross-compilation. 728325a3c50SMartin Mares 729a2322147SMartin Mares2007-08-27 Martin Mares <[email protected]> 730a2322147SMartin Mares 731a2322147SMartin Mares * lib/names.c (pci_open): When calling gzopen(), use "rb" file mode 732a2322147SMartin Mares instead of "r". This is needed on DOS systems, where this function 733a2322147SMartin Mares somewhat illogically uses the binary flag for the compressed file 734a2322147SMartin Mares instead of the decompressed stream inside, where binariness really 735a2322147SMartin Mares matters. 736a2322147SMartin Mares 7374f2c5b94SMartin Mares2007-08-14 Martin Mares <[email protected]> 7384f2c5b94SMartin Mares 7394f2c5b94SMartin Mares * lspci.c (show_ht): Added decoding of Hypertransport MSI mapping capability, 7404f2c5b94SMartin Mares based on a patch by Jason Gunthorpe. 7414f2c5b94SMartin Mares 7424f2c5b94SMartin Mares * tests/cap-MSI-mapping: Added a test case. I plan to add test cases 7434f2c5b94SMartin Mares (which are dumps of config space) for all new features. 7444f2c5b94SMartin Mares 7450d7f5331SMartin Mares2007-06-20 Martin Mares <[email protected]> 7460d7f5331SMartin Mares 7477cebe481SMartin Mares * Released as 2.2.6. 7487cebe481SMartin Mares 7490d7f5331SMartin Mares * Makefile: Added an "install-lib" target. Thanks to Dan Nicholson 7500d7f5331SMartin Mares for a patch. 7510d7f5331SMartin Mares 7527cebe481SMartin Mares * Makefile, lib/Makefile: Generate and install pkg-config file 7537cebe481SMartin Mares for libpci. Again by Dan Nicholson. 7547cebe481SMartin Mares 7550d7f5331SMartin Mares2007-06-20 Thomas Schwinge <[email protected]> 7560d7f5331SMartin Mares 7570d7f5331SMartin Mares * lib/i386-io-hurd.h: Rewritten for new Hurd kernels. 7580d7f5331SMartin Mares 7596e4a45edSMartin Mares2007-05-04 Martin Mares <[email protected]> 7606e4a45edSMartin Mares 76155c89179SMartin Mares * Released as 2.2.5. 76255c89179SMartin Mares 7636e4a45edSMartin Mares * pci.ids: Updated to the current snapshot of the database. 7646e4a45edSMartin Mares 765d0b07542SMartin Mares2007-02-14 Martin Mares <[email protected]> 766d0b07542SMartin Mares 767d0b07542SMartin Mares * lspci.c (show_express): Added PCI/PCI-X to PCI-Express Bridge type. 768d0b07542SMartin Mares Patch by Mark Glines. 769d0b07542SMartin Mares 7703df35926SMartin Mares2007-02-09 Martin Mares <[email protected]> 7713df35926SMartin Mares 7723df35926SMartin Mares * pci.ids: Updated to the current snapshot of the database. 7733df35926SMartin Mares 774e49ed044SMartin Mares2007-02-06 Martin Mares <[email protected]> 775e49ed044SMartin Mares 7761ac3a99dSMartin Mares * Replaced bzero() by memset() everywhere, it's better to lose a tiny 7771ac3a99dSMartin Mares bit of readability than maintain hacks to make it work on various systems. 7781ac3a99dSMartin Mares 779b0eb18ccSMartin Mares * lib/configure: tr on Solaris is a bit weird and it requires `[A-Z]' 780b0eb18ccSMartin Mares instead of `A-Z'. Fortunately, the extra brackets don't hurt otherwise. 781b0eb18ccSMartin Mares 782e49ed044SMartin Mares * lib/types.h, lib/configure: Solaris should use <stdint.h> to get precise 783e49ed044SMartin Mares integer types. 784e49ed044SMartin Mares 7859de2768cSMartin Mares2007-02-04 Martin Mares <[email protected]> 7869de2768cSMartin Mares 7879de2768cSMartin Mares * lspci.c: alloca() needs <alloca.h>. 7889de2768cSMartin Mares 789d19394dbSMartin Mares2006-09-17 Martin Mares <[email protected]> 790d19394dbSMartin Mares 791d19394dbSMartin Mares * lib/dump.c: Fixed a couple of bugs in the dump backend which caused 792d19394dbSMartin Mares devices with domains or with extended config space to be read incorrectly. 793d19394dbSMartin Mares Also, dumps with partial lines are allowed now. 794d19394dbSMartin Mares 795934e7e36SMartin Mares2006-09-10 Martin Mares <[email protected]> 796934e7e36SMartin Mares 797f09856deSMartin Mares * pci.ids: Updated to the current database snapshot. 798f09856deSMartin Mares 799934e7e36SMartin Mares * lspci.c (scan_device): If an error occurs when reading the standard config 800934e7e36SMartin Mares header of a device, report it and ignore the device and return with exit 801934e7e36SMartin Mares code 2 at the end. 802934e7e36SMartin Mares 803b2055313SMartin Mares2006-09-09 Martin Mares <[email protected]> 804b2055313SMartin Mares 805fb260653SMartin Mares * Released as 2.2.4. 806fb260653SMartin Mares 8071865e2ddSMartin Mares * maint/release: Remind the maintainer about the current PCI_LIB_VERSION. 8081865e2ddSMartin Mares 809028dffb2SMartin Mares * lib/pci.h: Updated PCI_LIB_VERSION. 810028dffb2SMartin Mares 81113081e57SMartin Mares * lspci.c (show_machine): In the `-m' mode, do proper shell escaping 81213081e57SMartin Mares if the fields printed contain quotes or backslashes. 81313081e57SMartin Mares 8143fd6b4d2SMartin Mares * lspci.c (show_machine): Added a `-vmm' mode, which removes the misuse 8153fd6b4d2SMartin Mares of the `Device' tag for two different purposes. 8163fd6b4d2SMartin Mares 817840d09aeSMartin Mares * Makefile: Moved all system-dependent decisions to lib/configure, 818840d09aeSMartin Mares since config.mk is included in the top-level Makefile anyway. 819840d09aeSMartin Mares 8202100f710SMartin Mares * lib/configure: When configuring for Linux, ignore the kernel version 8212100f710SMartin Mares and always build all access methods. 8222100f710SMartin Mares 8233e9c7a18SMartin Mares * Makefile (CFLAGS): Removed -Winline, it's not needed and triggers 8243e9c7a18SMartin Mares at many non-interesting places with gcc 3.4. 8253e9c7a18SMartin Mares 82694db5c82SMartin Mares * Whitespace cleanup of all source files. 82794db5c82SMartin Mares 828cc062b4aSMartin Mares * The pci.ids file can be stored compressed if zlib is available. 829cc062b4aSMartin Mares Added transparent decompression to lib/names.c, modified update-pciids.sh 830cc062b4aSMartin Mares to keep the file compressed if applicable, updated Makefiles. 831cc062b4aSMartin Mares Based on a patch by Matthew Wilcox, but all the bugs are mine. 832cc062b4aSMartin Mares 833f4ddb8d3SMartin Mares * Makefile, README: Allow installation to be done to a different directory 834f4ddb8d3SMartin Mares from the one we will eventually be placed in by setting DESTDIR. 835f4ddb8d3SMartin Mares Patch by Matthew Wilcox. 836f4ddb8d3SMartin Mares 83716e37012SMartin Mares * Added .gitignore files. 83816e37012SMartin Mares 839c7f5314dSMartin Mares * Makefile (clean): Clean *.orig, too. 840c7f5314dSMartin Mares 841afebde01SMartin Mares * Cleaned up usage of `char' and `byte'. 842afebde01SMartin Mares 843fd54ccebSMartin Mares * lib/header.h: PCI_CLASS_DOCKING_OTHER should be 0x0a80, not 0x0a01. 844fd54ccebSMartin Mares 845b2055313SMartin Mares * lib/header.h: Added PCI_CLASS_xxx constants for all classes currently 846b2055313SMartin Mares defined in the pci.ids file. 847b2055313SMartin Mares 8484254d153SMartin Mares2006-08-01 Martin Mares <[email protected]> 8494254d153SMartin Mares 8504254d153SMartin Mares * lib/i386-io-hurd.h: Fixed a silly typo. 8514254d153SMartin Mares 8521c5cc9b5SMartin Mares2006-07-30 Martin Mares <[email protected]> 8531c5cc9b5SMartin Mares 85438a9e3c3SMartin Mares * lib/Makefile: Added a missing rule for obsd-device.o. 85538a9e3c3SMartin Mares 856c7ddfa3eSMartin Mares * lspci.c, lib/header.h: Added support for MSI per-vector masking. 857c7ddfa3eSMartin Mares Contributed by Petr Vandrovec. 858c7ddfa3eSMartin Mares 859248a04f8SMartin Mares * lspci.c, lib/header.h: Added support for the `bridge subsystem ID' 860248a04f8SMartin Mares capability. Contributed by Petr Vandrovec. 861248a04f8SMartin Mares 862f29dcc87SMartin Mares * lspci.c (show_htype1): Fixed bug in printing of 64-bit prefetchable 863f29dcc87SMartin Mares memory windows. Fix by Petr Vandrovec. 864f29dcc87SMartin Mares 8658eab3bffSMartin Mares * maint/release.pm: Exclude .git directory from releases. 8668eab3bffSMartin Mares 867d305d704SMartin Mares * lib/i386-ports.c, lib/i386-io-*: Report failures during port access 868d305d704SMartin Mares initialization by a->warn() instead of calling printf() or perror() 869d305d704SMartin Mares directly. 870d305d704SMartin Mares 8719007a292SMartin Mares * lib/i386-ports.c, lib/i386-io-*: Moved the logic which keeps track of 8729007a292SMartin Mares the port access state to generic code. 8739007a292SMartin Mares 874bd20d5b5SMartin Mares * lib/i386-io-hurd.h: Ask the kernel for I/O port access appropriately. 875bd20d5b5SMartin Mares Contributed by Thomas Schwinge and Samuel Thibault. 876bd20d5b5SMartin Mares 87773750606SMartin Mares * lib/i386-ports.c: Define _GNU_SOURCE, it's needed by the Hurd module. 87873750606SMartin Mares 879d71daa45SMartin Mares * lib/header.h: Whitespace cleanups. 880d71daa45SMartin Mares 8811c5cc9b5SMartin Mares * lib/i386-io-windows.h: Fixed indentation and spelling. 8821c5cc9b5SMartin Mares 8831c5cc9b5SMartin Mares * README.Windows: Mention that WinIO.dll is needed and where to get it. 8841c5cc9b5SMartin Mares 885c2b144efSMartin Mares2006-06-27 Martin Mares <[email protected]> 886c2b144efSMartin Mares 88714d4f989SMartin Mares * lib/Makefile, Makefile: Added rules for building and cleaning the example. 88814d4f989SMartin Mares 88914d4f989SMartin Mares * lib/example.c: Show how to use PCI_FILL_CLASS and used another register 89014d4f989SMartin Mares for demonstrating the config space accesses. The example is still very 89114d4f989SMartin Mares incomplete, though. 89214d4f989SMartin Mares 893c2b144efSMartin Mares * lib/pci.h, lib/generic.c: Added PCI_FILL_CLASS. 894c2b144efSMartin Mares 895c2b144efSMartin Mares * lib/sysfs.c: Fetch device ID and class from sysfs, because they can 896c2b144efSMartin Mares be modified by kernel fixups. 897c2b144efSMartin Mares 898c2b144efSMartin Mares * lspci.c: Use PCI_FILL_CLASS. Thanks to Matthew Willcox for the patch. 899c2b144efSMartin Mares 900bc2eed2dSMartin Mares2006-06-03 Martin Mares <[email protected]> 901bc2eed2dSMartin Mares 902bc2eed2dSMartin Mares * lspci.c: Introduced the -nn switch. Thanks to David N. Welton 903bc2eed2dSMartin Mares for the idea. 904bc2eed2dSMartin Mares 905bc2eed2dSMartin Mares * lib/names.c (pci_lookup_name): Introduced PCI_LOOKUP_MIXED and 906bc2eed2dSMartin Mares cleaned up the name selection code. 907bc2eed2dSMartin Mares 908c72eeddeSMartin Mares * lib/names.c (pci_lookup_name): If PCI_LOOKUP_NO_NUMBERS is given, 909c72eeddeSMartin Mares pci_access->numeric_ids is ignored. 910c72eeddeSMartin Mares 911c72eeddeSMartin Mares * lib/names.c (pci_lookup_name): When class is identified and 912c72eeddeSMartin Mares subclass isn't, display class name and subclass number. 913c72eeddeSMartin Mares 9142f294d4bSMartin Mares2006-05-31 Martin Mares <[email protected]> 9152f294d4bSMartin Mares 9162f294d4bSMartin Mares * setpci.c (main): Don't crash when an invalid width is specified. 9172f294d4bSMartin Mares 91881afa98cSMartin Mares * lspci.c, setpci.c, common.c: die() now uses the right program 91981afa98cSMartin Mares name when printing an error message. 92081afa98cSMartin Mares 9210ac282f2SMartin Mares2006-05-19 Martin Mares <[email protected]> 9220ac282f2SMartin Mares 9230ac282f2SMartin Mares * README: Mention the public GIT tree. 9240ac282f2SMartin Mares 9250ac282f2SMartin Mares * README: Updated the list of ports. 9260ac282f2SMartin Mares 927d1058e9dSMartin Mares2006-05-10 Martin Mares <[email protected]> 928d1058e9dSMartin Mares 929d1058e9dSMartin Mares * lib/configure, lib/fbsd-device.c: Added support for GNU/kFreeBSD. 930d1058e9dSMartin Mares Thanks to Petr Salinger for the patch. 931d1058e9dSMartin Mares 932abf8d505SMartin Mares2006-05-05 Martin Mares <[email protected]> 933abf8d505SMartin Mares 9342ae2d1aeSMartin Mares * Released as 2.2.3. 9352ae2d1aeSMartin Mares 9362ae2d1aeSMartin Mares * lspci.c (scan_device): The -D switch didn't work as intended 9372ae2d1aeSMartin Mares in -m mode. 9382ae2d1aeSMartin Mares 9392ae2d1aeSMartin Mares2006-05-05 Martin Mares <[email protected]> 9402ae2d1aeSMartin Mares 9411d5cf727SMartin Mares * Released as 2.2.2. 9421d5cf727SMartin Mares 9438a830168SMartin Mares * pci.ids: Updated to the current database snapshot. 9448a830168SMartin Mares 945b6359063SMartin Mares * lib/obsd-device.c (and other files in lib/*): Added OpenBSD 946b6359063SMartin Mares interface by Matthieu Herrb <[email protected]>, based on 947b6359063SMartin Mares the existing FreeBSD interface. 948b6359063SMartin Mares 949abf8d505SMartin Mares * Moved pciutils to a GIT repository, which now contains merged 950abf8d505SMartin Mares history from both CVS and Arch. Good bye, TLA! 951abf8d505SMartin Mares 9526ac70402SMartin Mares2006-03-21 Martin Mares <[email protected]> 9536ac70402SMartin Mares 9542a124daeSMartin Mares * lspci.c (show_slot_name): Avoid the previous changes in default 9552a124daeSMartin Mares display of domain name when in machine-readable mode. However, `-D' 9562a124daeSMartin Mares forces domain display even there. 9572a124daeSMartin Mares 9586ac70402SMartin Mares * lspci.man: Added a warning on -m being the only format, which is 9596ac70402SMartin Mares guaranteed to be stable between lspci versions. 9606ac70402SMartin Mares 9611bbdea17SMartin Mares2006-03-13 Martin Mares <[email protected]> 9621bbdea17SMartin Mares 963af61eb25SMartin Mares * lspci.man: Documented the -D switch. 964af61eb25SMartin Mares 965af61eb25SMartin Mares * lspci.c (show_slot_name, scan_device): If there are multiple PCI 966af61eb25SMartin Mares domains or if the `-D' switch is used, show the domain number for 967af61eb25SMartin Mares all devices. 968af61eb25SMartin Mares 9697a61b93cSMartin Mares * lspci.c (show_verbose): Report cache line size in bytes. 9707a61b93cSMartin Mares 9711bbdea17SMartin Mares * update-pciids.sh: Use curl if available. Patch by Matthew Wilcox. 9721bbdea17SMartin Mares 9730e78ef8aSMartin Mares2006-01-04 Martin Mares <[email protected]> 9740e78ef8aSMartin Mares 9750e78ef8aSMartin Mares * lspci.c (show_express_link): Fixed decoding of link status register. 9760e78ef8aSMartin Mares Thanks to Roland Dreier for his report. 9770e78ef8aSMartin Mares 978e6859953SMartin Mares2005-12-12 Martin Mares <[email protected]> 979e6859953SMartin Mares 980e6859953SMartin Mares * lib/nbsd-libpci.c: If libpci is used by an ordinary user, allow 981e6859953SMartin Mares at least read-only access. Patch by Pavel Celeda <[email protected]>. 982e6859953SMartin Mares 983e6859953SMartin Mares * Makefile: Corrected library path on NetBSD. 984e6859953SMartin Mares 985a99c0d69SMartin Mares2005-11-26 Martin Mares <[email protected]> 986a99c0d69SMartin Mares 987e4af70c6SMartin Mares * Released as 2.2.1. 988e4af70c6SMartin Mares 989a99c0d69SMartin Mares * lspci.c (show_machine): Subsystem vendors were printed incorrectly 990a99c0d69SMartin Mares in machine-readable modes. Thanks to Pavel Celeda for a bug report. 991a99c0d69SMartin Mares 992f23fd3fcSMartin Mares2005-10-11 Martin Mares <[email protected]> 993f23fd3fcSMartin Mares 994f23fd3fcSMartin Mares * lspci.c (new_bus): Fixed a memory leak. Thanks to Paul Sangree for reporting it. 995f23fd3fcSMartin Mares 99615296723SMartin Mares2005-09-21 Martin Mares <[email protected]> 99715296723SMartin Mares 99815296723SMartin Mares * Released as 2.2.0. 99915296723SMartin Mares 100040b6d93fSMartin Mares * pci.ids: Updated copyright header. 100140b6d93fSMartin Mares 100215296723SMartin Mares * lib/sysfs.c (sysfs_get_resources): Removed warning about unsupported 100315296723SMartin Mares 64-bit addresses, they are now always supported. 100415296723SMartin Mares 100515296723SMartin Mares * lspci.c (show_bases): Corrected printing of 64-bit addresses 100615296723SMartin Mares in bus-centric mode. 100715296723SMartin Mares 100815296723SMartin Mares * lib/configure: Enable 64-bit addresses on all Linux systems. 100915296723SMartin Mares 101015296723SMartin Mares * lib/types.h: Don't pad 64-bit addresses to 16 xigits, only to 8 if they 101115296723SMartin Mares are shorter. 101215296723SMartin Mares 1013224707baSMartin Mares2005-09-11 Martin Mares <[email protected]> 1014224707baSMartin Mares 1015224707baSMartin Mares * Released as 2.1.99-test11. 1016224707baSMartin Mares 1017224707baSMartin Mares * lspci.c: Removed unnecessary trailing zeros in pci_lookup_name() calls. 1018224707baSMartin Mares 1019aeaca5d3SMartin Mares2005-09-10 Martin Mares <[email protected]> 1020aeaca5d3SMartin Mares 1021224707baSMartin Mares * Released as 2.1.99-test10. 1022224707baSMartin Mares 102363e6f2e0SMartin Mares * pci.ids: Synchronized with the current database snapshot. 102463e6f2e0SMartin Mares 1025043ebdeeSMartin Mares * update-pciids.sh: Changed the default URL for downloading pci.ids 1026043ebdeeSMartin Mares to http://pciids.sourceforge.net/v2.2/pci.ids. 1027043ebdeeSMartin Mares 1028043ebdeeSMartin Mares * lib/pci.h (PCI_LIB_VERSION): Added version identifier. 1029043ebdeeSMartin Mares 1030aeaca5d3SMartin Mares * lib/names.c: Rewritten the name database module almost from scratch. 1031aeaca5d3SMartin Mares Everything is much cleaner and there are hopefully no more memory leaks; 1032aeaca5d3SMartin Mares pci_lookup_name() now uses varargs in a backward compatible fashion. 1033aeaca5d3SMartin Mares Introduced PCI_LOOKUP_NO_NUMBERS. 1034aeaca5d3SMartin Mares 1035aeaca5d3SMartin Mares The new code supports subsystem entries not tied to a specific device. 1036aeaca5d3SMartin Mares I had to extend the format of pci.ids in order to support it, so I have 1037aeaca5d3SMartin Mares extended the idea of the "C" (class) blocks and introduced "S" blocks 1038aeaca5d3SMartin Mares for subsystems. To avoid doing more incompatible changes in the future, 1039aeaca5d3SMartin Mares the parser skips unknown single-letter blocks without reporting errors. 1040aeaca5d3SMartin Mares 1041121c76c9SMartin Mares2005-08-23 Martin Mares <[email protected]> 1042121c76c9SMartin Mares 104354e13765SMartin Mares * Released as 2.1.99-test9. 104454e13765SMartin Mares 104554e13765SMartin Mares * Makefile (OPT): Removed -fomit-frame-pointer, it's default in recent 104654e13765SMartin Mares gcc versions when optimizing anyway. 104754e13765SMartin Mares 104854e13765SMartin Mares * Made the path to pci.ids customizable and independent on the SHAREDIR. 104954e13765SMartin Mares Just override IDSDIR in the top-level Makefile. 105054e13765SMartin Mares 105154e13765SMartin Mares * pci.ids: Synchronized with the current database snapshot. 105254e13765SMartin Mares 105384d437d6SMartin Mares * lspci.man, setpci.man: Improved the man pages. Documented all access 105484d437d6SMartin Mares methods and which operations are privileged. 105584d437d6SMartin Mares 105684d437d6SMartin Mares * lspci.c: Another rewrite of config register caching, now also including 105784d437d6SMartin Mares lots of internal checks. It should be now perfectly able to cope with 105884d437d6SMartin Mares portions of the configuration space being inaccessible, for example 105984d437d6SMartin Mares due to insufficient access rights. 106084d437d6SMartin Mares 10613b8bf739SMartin Mares * lspci.c (show_pcix_nobridge, show_pcix_bridge): Cleaned up dumping of PCI-X 10623b8bf739SMartin Mares capabilities. Includes partial support for PCI-X 2.0 (probably incomplete 10633b8bf739SMartin Mares as I haven't seen the spec). 10643b8bf739SMartin Mares 10653b8bf739SMartin Mares * lspci.c: Quell warnings about unused parameters. 10663b8bf739SMartin Mares 106784d437d6SMartin Mares * lspci.c: Removed C++ comments. 106884d437d6SMartin Mares 10693b8bf739SMartin Mares * lib/header.h: Merged definitions of extended capabilities and some new 10703b8bf739SMartin Mares PCI-X capability bits from linux-2.6.11/include/pci.h. 10713b8bf739SMartin Mares 10723b8bf739SMartin Mares * lspci.c (show_caps): Try to scan extended capabilities only if the 10733b8bf739SMartin Mares device has either PCI-X or PCI Express capability in its normal capability 10743b8bf739SMartin Mares list. 10753b8bf739SMartin Mares 1076f7821e53SMartin Mares * lib/dump.c (dump_init): Reading of dumps works again. The dump reader 1077f7821e53SMartin Mares now also remembers how much data it has read and refuses attempts to 1078f7821e53SMartin Mares access more than that. 1079ea4e5f5dSMartin Mares 108046ea554dSMartin Mares * setpci.man, lspci.c, README: prefer spelling "buses" over "busses". 108146ea554dSMartin Mares 10828afaab22SMartin Mares * lspci.c: If alloca() is not available, use xmalloc(), not malloc(). 10838afaab22SMartin Mares 1084121c76c9SMartin Mares * lib/configure: Added x86_64 on Linux. 1085121c76c9SMartin Mares 1086c1c2c30eSMartin Mares2005-08-22 Martin Mares <[email protected]> 1087c1c2c30eSMartin Mares 1088b9ca9147SMartin Mares * lib/filter.c (pci_filter_parse_slot): Fixed parsing of domain filters. 1089b9ca9147SMartin Mares Thanks to Matthew Wilcox for bug report. 1090b9ca9147SMartin Mares 1091c1c2c30eSMartin Mares * lspci.c: Corrected spelling of "Hz" (it was "hz" at several places). 1092b9ca9147SMartin Mares Thanks to Krzysztof Oledzki for pointing that out. 1093c1c2c30eSMartin Mares 109426542a0bSMartin Mares2004-08-19 Martin Mares <[email protected]> 109526542a0bSMartin Mares 109626542a0bSMartin Mares * pciutils.spec (%attr): Setting attributes for /sbin/* is an anachronism, 109726542a0bSMartin Mares because pciutils by default install to /usr/sbin. Update. 109826542a0bSMartin Mares 10996aa54f1bSMartin Mares2004-08-13 Martin Mares <[email protected]> 11006aa54f1bSMartin Mares 1101aabb0a92SMartin Mares * Released as 2.1.99-test8. 1102aabb0a92SMartin Mares 1103f31412d1SMartin Mares * lib/types.h, lib/pci.h, lib/sysdep.h: `byte' and `word' are 1104f31412d1SMartin Mares no longer exported to the outside world. 1105f31412d1SMartin Mares 1106ee7d8384SMartin Mares * README.Windows: Updated. 1107ee7d8384SMartin Mares 1108ee7d8384SMartin Mares * maint/release: Substitute version number in win32/config.h. 1109ee7d8384SMartin Mares 1110ee7d8384SMartin Mares * win32/config.h: Added. 1111ee7d8384SMartin Mares 1112ee7d8384SMartin Mares * lib/sysdep.h (bzero, strcasecmp): are macros on Windows. 1113ee7d8384SMartin Mares 1114ee7d8384SMartin Mares * compat/getopt.[ch]: Added copies of getopt.[ch] from the GNU 1115ee7d8384SMartin Mares C library for use on systems where the default libraries lack 1116ee7d8384SMartin Mares proper getopt. Currently used by the Windows port. 1117ee7d8384SMartin Mares 1118ee7d8384SMartin Mares * lib/sysdep.h, lib/types.h: Updates of the Windows port from 1119ee7d8384SMartin Mares Alexander Stock. 1120ee7d8384SMartin Mares 1121489233b4SMartin Mares * lib/types.h: If PCI_HAVE_Uxx_TYPES is defined, libpci doesn't define 1122489233b4SMartin Mares its own u8, u16, u32, byte and word types and uses what the user 1123489233b4SMartin Mares has supplied instead. With this change, all namespace clashes should 1124489233b4SMartin Mares be gone. 1125489233b4SMartin Mares 1126489233b4SMartin Mares * Makefile, lib/Makefile: Updated dependencies. 1127489233b4SMartin Mares 1128489233b4SMartin Mares * pciutils.h: Include lib/sysdep.h and move NONRET et al. there. 1129489233b4SMartin Mares 1130489233b4SMartin Mares * lib/sysdep.h: No need to include <sys/types.h> on FreeBSD, because 1131489233b4SMartin Mares it is included unconditionally in lib/types.h. 1132489233b4SMartin Mares 1133489233b4SMartin Mares * Moved system-dependent stuff from lib/internal.h to lib/sysdep.h, 1134489233b4SMartin Mares which is also used by the utilities. Also moved type declarations 1135489233b4SMartin Mares from lib/pci.h to lib/types.h. 1136489233b4SMartin Mares 1137489233b4SMartin Mares * All files: Prepend a "PCI_" prefix in front of all configuration 1138489233b4SMartin Mares defines to avoid namespace clashes. CAVEAT: If there is any libpci 1139489233b4SMartin Mares application using the (undocumented) defines, it has to be updated. 1140489233b4SMartin Mares 1141489233b4SMartin Mares * lib/Makefile: Killed HAVE_OWN_HEADER_H, since we stopped sharing 1142489233b4SMartin Mares headers with the kernel a couple of years ago. 1143489233b4SMartin Mares 11449bb4b4eaSMartin Mares * lib/sysfs.c (sysfs_get_resources): We have 7 resources, not 6. 11459bb4b4eaSMartin Mares 11466aa54f1bSMartin Mares * lspci.c (show_rom): Use the same logic for printing disabled 11476aa54f1bSMartin Mares or unassigned ROM's as we do in show_bases() for the other BAR's. 11486aa54f1bSMartin Mares 11496aa54f1bSMartin Mares * lib/generic.c (pci_generic_fill_info): Better reaction to 11506aa54f1bSMartin Mares invalid 64-bit addresses. Also d->hdrtype should not include 11516aa54f1bSMartin Mares bit 7, which caused mysterious errors on multi-function devices. 11526aa54f1bSMartin Mares 11536aa54f1bSMartin Mares * lib/generic.c (pci_generic_fill_info): Fill in base addresses 11546aa54f1bSMartin Mares even if the regions are known to be disabled. It is the client's 11556aa54f1bSMartin Mares job to interpret them. (And it is not a trivial job if you want 11566aa54f1bSMartin Mares to do it correctly, since you need to check I/O and memory enables 11576aa54f1bSMartin Mares on all upstream bridges, too.) However, it could be interesting to 11586aa54f1bSMartin Mares introduce functions for interpreting the addresses and even for 11596aa54f1bSMartin Mares mapping the regions and doing I/O on them. 11606aa54f1bSMartin Mares 116180e6c636SMartin Mares2004-07-30 Martin Mares <[email protected]> 116280e6c636SMartin Mares 116380e6c636SMartin Mares * lspci.c: HyperTransport improvements from Maciej. 116480e6c636SMartin Mares 1165d6324891SMartin Mares2004-07-11 Martin Mares <[email protected]> 1166d6324891SMartin Mares 1167d6324891SMartin Mares * lib/sysfs.c (sysfs_get_resources): Arguments now correspond 1168d6324891SMartin Mares to the format string. [Patch by Bill Nottingham] 1169d6324891SMartin Mares 1170ec25b52dSMartin Mares2004-07-05 Martin Mares <[email protected]> 1171ec25b52dSMartin Mares 1172362be683SMartin Mares * Released as 2.1.99-test7. 1173362be683SMartin Mares 1174ec25b52dSMartin Mares * lspci.c (config_fetch): Wanted to merge Matthew's bug fix, but 1175ec25b52dSMartin Mares ended up with rewriting the fetching mechanism to be fully dynamic, 1176ec25b52dSMartin Mares but avoid reading config space registers not explicitly requested. 1177ec25b52dSMartin Mares 1178ec25b52dSMartin Mares2004-06-29 Matthew Wilcox <[email protected]> 1179ec25b52dSMartin Mares 1180ec25b52dSMartin Mares * lspci.c: More work on PCI Express dumping. 1181ec25b52dSMartin Mares 1182ec25b52dSMartin Mares * lib/header.h: Updated PCI Express capability definitions. 1183ec25b52dSMartin Mares 1184ec25b52dSMartin Mares * lib/proc.c (proc_read): Removed bogus warning. 1185ec25b52dSMartin Mares 1186ec25b52dSMartin Mares * common.c (xrealloc): Introduced. 1187ec25b52dSMartin Mares 1188ec25b52dSMartin Mares * lspci.man: Added -xxxx. 1189ec25b52dSMartin Mares 119009817437SMartin Mares2004-06-27 Martin Mares <[email protected]> 119109817437SMartin Mares 1192d1fa27ebSMartin Mares * Released as 2.1.99-test6. 1193d1fa27ebSMartin Mares 11944d67aa89SMartin Mares * lspci.c (show_msix), lib/header.h: Added dumping of MSI-X cap. 11954d67aa89SMartin Mares Patch by Roland Dreier <[email protected]>, cleaned up by me. 11964d67aa89SMartin Mares 11974d67aa89SMartin Mares * lspci.c (show_pcix_nobridge, show_pcix_bridge): Handle config_fetch() 11984d67aa89SMartin Mares failures. 11994d67aa89SMartin Mares 12004d67aa89SMartin Mares * lib/header.h: Added PCI Express extended capabilities. Again by Matthew. 12014d67aa89SMartin Mares 12024d67aa89SMartin Mares * lspci.c (show_express): Added dumping of PCI Express cap. 12034d67aa89SMartin Mares Patch by Matthew Wilcox. 12044d67aa89SMartin Mares 12054d67aa89SMartin Mares * lib/header.h: Added a list of PCI 3.0 capabilities and also details 12064d67aa89SMartin Mares on PCI Express caps. Patch by Matthew Wilcox <[email protected]>. 12074d67aa89SMartin Mares 120809817437SMartin Mares * lspci.c (check_root): Gone. No explicit checks for root are needed, 120909817437SMartin Mares report correct errors reported by the libpci instead. 121009817437SMartin Mares 121109817437SMartin Mares * lspci.c: Added dumping of the extended config space on "-xxxx". 121209817437SMartin Mares Better caching of config registers. 121309817437SMartin Mares 121409817437SMartin Mares * setpci.c (main): Allow access to whole 4096 bytes of the config space. 121509817437SMartin Mares 121609817437SMartin Mares * lib/sysfs.c, lib/proc.c: Don't print error messages on short reads, 121709817437SMartin Mares just return the appropriate error code. 121809817437SMartin Mares 121909817437SMartin Mares * lib: Added support for extended (4096-byte) configuration space, 122009817437SMartin Mares currently implemented only in Linux proc and sysfs access methods 122109817437SMartin Mares and of course in the dump reader. 122209817437SMartin Mares 12230d656226SMartin Mares2004-05-29 Martin Mares <[email protected]> 12240d656226SMartin Mares 1225c0eece92SMartin Mares * Released as 2.1.99-test5. 1226c0eece92SMartin Mares 1227a2413560SMartin Mares * lib/pci.h: Windows don't have the standard u_int* types. 1228a2413560SMartin Mares 1229a2413560SMartin Mares * lib/internal.h: <sys/param.h> required on Windows for endianity 1230a2413560SMartin Mares macros. 1231a2413560SMartin Mares 1232a2413560SMartin Mares * lib/i386-ports.c: Connected i386-io-windows.h. 1233a2413560SMartin Mares 1234a2413560SMartin Mares * lspci.c (check_root): geteuid() is not available on Windows. 1235a2413560SMartin Mares 1236a2413560SMartin Mares * lib/i386-io-windows.h: Added Windows port contributed by Alexander 1237a2413560SMartin Mares Stock <[email protected]>. 1238a2413560SMartin Mares 1239a2413560SMartin Mares * lib/configure: Hopefully fixed SunOS port broken by various 1240a2413560SMartin Mares changes to the configure script. 1241a2413560SMartin Mares 12420d656226SMartin Mares * Makefile, lib/configure: Cross-compilation support, patch by Maciej. 12430d656226SMartin Mares 1244138c0385SMartin Mares2004-05-28 Martin Mares <[email protected]> 1245138c0385SMartin Mares 12469f490382SMartin Mares * Released as 2.1.99-test4. 12479f490382SMartin Mares 1248cce2caacSMartin Mares * lspci.c (show_verbose): Header type 1 is probably legal for all 1249cce2caacSMartin Mares types of bridges, not only for PCI-to-PCI bridges. 1250cce2caacSMartin Mares 1251b569ef09SMartin Mares * lspci.c (format_agp_rate): Write "x16", not "x@". 1252b569ef09SMartin Mares (show_agp): rate[] could overflow. 1253b569ef09SMartin Mares Bugs reported by Jakub Bogusz <[email protected]>. 1254b569ef09SMartin Mares 1255bfc4fe7aSMartin Mares * lspci.c (show_ht_*): Show HyperTransport capability with all its 1256bfc4fe7aSMartin Mares details. Once again code by Maciej simplified (i.e., possibly broken) 1257bfc4fe7aSMartin Mares by me. 1258bfc4fe7aSMartin Mares 1259bfc4fe7aSMartin Mares * lib/header.h: Added declarations of HyperTransport capability. 1260bfc4fe7aSMartin Mares Again thanks to Maciej. 1261bfc4fe7aSMartin Mares 1262138c0385SMartin Mares * lspci.c: Decode all bits of the secondary status word in type 1 headers. 1263138c0385SMartin Mares Thanks to Maciej W. Rozycki <[email protected]> for the patch. 1264138c0385SMartin Mares 12658fc75dbcSMartin Mares2003-12-27 Martin Mares <[email protected]> 12668fc75dbcSMartin Mares 126781abd2a7SMartin Mares * Released as 2.1.99-test3. 126881abd2a7SMartin Mares 12691f7c91ccSMartin Mares * lspci.man, setpci.man: Document domains and correct spelling. 12701f7c91ccSMartin Mares 12711f7c91ccSMartin Mares * lib/dump.c (dump_init): Added ability to read domain numbers. 12721f7c91ccSMartin Mares 127384c8d1bbSMartin Mares * lspci.c: Devices in domains different from 0 have their slot number 12741f7c91ccSMartin Mares printed as "<domain>:<bus>:<slot>.<func>". Tree view supports domains 12751f7c91ccSMartin Mares as well. 127684c8d1bbSMartin Mares 127784c8d1bbSMartin Mares * lib/filter.c: Slot filters understand domains. 127884c8d1bbSMartin Mares 127984c8d1bbSMartin Mares * lib/generic.c: Mention the domain in slot numbers in all error messages. 128084c8d1bbSMartin Mares 128184c8d1bbSMartin Mares * lib/internal.h: The #ifdef for Linux <asm/byteorder.h> was wrong. 128284c8d1bbSMartin Mares 128384c8d1bbSMartin Mares * lib/access.c (pci_get_dev): Added support for domains. 128484c8d1bbSMartin Mares 128584c8d1bbSMartin Mares * lib/sysfs.c (sysfs_scan): Read vendor and device ID from the config 128684c8d1bbSMartin Mares registers (or to be precise, leave it for the generic parts of the pcilib 128784c8d1bbSMartin Mares to do so) instead of reading them from the sysfs. It's faster this way. 128884c8d1bbSMartin Mares 128984c8d1bbSMartin Mares * lspci.c (show_pcix): Don't touch pci_dev->hdrtype, it's an internal 129084c8d1bbSMartin Mares variable. Better read it from the config registers (it's cached anyway). 129184c8d1bbSMartin Mares 129284c8d1bbSMartin Mares * lib/sysfs.c (sysfs_scan), lib/proc.c (proc_scan): Don't read the hdrtype. 129384c8d1bbSMartin Mares lib/generic.c (pci_generic_fill_info): If hdrtype is -1 (unset), read it. 129484c8d1bbSMartin Mares Saves lots of unnecessary file accesses. 129584c8d1bbSMartin Mares 129611f7b31bSMartin Mares * lib/pci.h (PCIADDR_PORT_FMT): Use %llx instead of %Lx, because the latter 129711f7b31bSMartin Mares is not supported by all C libraries. 129811f7b31bSMartin Mares 129911f7b31bSMartin Mares * Makefile: Always enter the lib directory (remember that we don't have 130011f7b31bSMartin Mares full dependecies for the library in the top-level Makefile; hmmm, another 130111f7b31bSMartin Mares thing to rewrite some day). 130211f7b31bSMartin Mares 130311f7b31bSMartin Mares * lib/sysfs.c: Added Linux sysfs access method based on the patch 130411f7b31bSMartin Mares written by Matthew Wilcox <[email protected]>. 130511f7b31bSMartin Mares 130611f7b31bSMartin Mares * lib/proc.c: Renamed the access method name from "/proc/bus/pci" to "Linux-proc". 130711f7b31bSMartin Mares 130811f7b31bSMartin Mares * lib/pread.h: The hacks to support pread on various versions 130911f7b31bSMartin Mares of Linux libc moved there. 131011f7b31bSMartin Mares 131111f7b31bSMartin Mares * lib/proc.c (proc_setup): The return value of snprintf() varies 131211f7b31bSMartin Mares between glibc versions, so we need to check both for a negative 131311f7b31bSMartin Mares values and for too large values. 131411f7b31bSMartin Mares 13154284af58SMartin Mares * Removed last few references to the "Linux PCI Utilities", the 13164284af58SMartin Mares package is pretty cross-platform now :) 13174284af58SMartin Mares 13184284af58SMartin Mares2003-12-27 Martin Mares <[email protected]> 13194284af58SMartin Mares 1320ab12277eSMartin Mares * Released as 2.1.99-test2. 1321ab12277eSMartin Mares 1322ab12277eSMartin Mares * README, pciutils.lsm, pciutils.spec: Use @VERSION@ to make the 1323ab12277eSMartin Mares release scripts insert the current version. "make release" is gone. 1324ab12277eSMartin Mares 1325ab12277eSMartin Mares * maint/release, maint/release.pm: Added a new system of scripts for 1326ab12277eSMartin Mares making releases including inter-version diffs etc. 1327ab12277eSMartin Mares 1328ab12277eSMartin Mares * Makefile: Cleaned up. 1329ab12277eSMartin Mares 1330ab12277eSMartin Mares * lib/fbsd-device.c: I patched another copy of this file by mistake, 1331ab12277eSMartin Mares this time the version checks should be right. 1332ab12277eSMartin Mares 1333ab12277eSMartin Mares2003-12-27 Martin Mares <[email protected]> 1334ab12277eSMartin Mares 13356d722cd6SMartin Mares * Released as 2.1.99-test1. 13366d722cd6SMartin Mares 1337dd33246aSMartin Mares * pciutils.h, common.c, lspci.man, setpci.man, lib/internal.h: 1338dd33246aSMartin Mares Remove shadows of the syscall access method which was never 1339dd33246aSMartin Mares implemented. 1340dd33246aSMartin Mares 134180b3121aSMartin Mares * update-pciids.sh: Try to preserve permissions of the old file 134280b3121aSMartin Mares if chmod supports --reference. Should close Debian Bug #223740. 134380b3121aSMartin Mares 13446aea909aSMartin Mares * lib/proc.c (proc_setup): Increased path name length limit to 1024. 13456aea909aSMartin Mares Thanks for Redhat and Mandrake for inspiration. 13466aea909aSMartin Mares 13476aea909aSMartin Mares * lib/configure: Recognize ppc and ppc64, both have 64-bit addresses. 13486aea909aSMartin Mares Grabbed from Redhat (Fedora) patches. 13496aea909aSMartin Mares 13506aea909aSMartin Mares2003-12-27 Martin Mares <[email protected]> 13516aea909aSMartin Mares 1352f701ff47SMartin Mares Merged bug fixes from Debian patches: 1353f701ff47SMartin Mares 1354f701ff47SMartin Mares * lspci.c (show_verbose): "Cache Line Size" should be capitalized. 1355f701ff47SMartin Mares 1356f701ff47SMartin Mares * lspci.c (show_pcix_nobridge): Added a missing newline. 1357f701ff47SMartin Mares 13582240db8cSMartin Mares * lib/proc.c (proc_scan): When reading the header type, don't 13592240db8cSMartin Mares forget to clear the topmost bit indicating that the device has 1360f701ff47SMartin Mares multiple functions. 13612240db8cSMartin Mares 13622240db8cSMartin Mares2003-12-27 Martin Mares <[email protected]> 13632240db8cSMartin Mares 136445902995SMartin Mares Updated the FreeBSD port. Thanks to Samy Al Bahra <[email protected]> 136545902995SMartin Mares for the patches: 136645902995SMartin Mares 136745902995SMartin Mares * lib/Makefile: Add ${FREEBSD_SYS} to the include path if it's defined. 136845902995SMartin Mares * lib/fbsd-device.c: Select the right set of system includes according 136945902995SMartin Mares to __FreeBSD_version. 137045902995SMartin Mares 137145902995SMartin Mares2003-12-27 Martin Mares <[email protected]> 137245902995SMartin Mares 13738fc75dbcSMartin Mares Merged support for Solaris on i386 by Bill Moore <[email protected]> 13748fc75dbcSMartin Mares and cleaned up: 13758fc75dbcSMartin Mares 13768fc75dbcSMartin Mares * lib/configure: Recognize SunOS. 13778fc75dbcSMartin Mares * lib/internal.h: Learn how to recognize byte order on SunOS. 13788fc75dbcSMartin Mares * lib/i386-ports.c: Split OS-dependent I/O port access from i386-ports.c. 13798fc75dbcSMartin Mares * lib/i386-io-linux.h: Linux specific part. 13808fc75dbcSMartin Mares * lib/i386-io-hurd.h: GNU/Hurd specific part. 13818fc75dbcSMartin Mares * lib/i386-io-sunos.h: SunOS specific part. 13828fc75dbcSMartin Mares 13839739916eSMartin Mares2003-12-26 Martin Mares <[email protected]> 13849739916eSMartin Mares 13859739916eSMartin Mares * lib/header.h (PCI_*_MASK): Cast to pciaddr_t explicitly. 13869739916eSMartin Mares 13879739916eSMartin Mares * lib/pci.h: Types declared in <sys/types.h> should be usable on all 13889739916eSMartin Mares platforms we currently support, so kill the forest of #ifdef's and 13899739916eSMartin Mares use them in all cases. 13909739916eSMartin Mares 13919739916eSMartin Mares * lib/pci.h: Use ULONG_MASK to decide whether we should use long 13929739916eSMartin Mares or long long to represent a 64-bit address. Killed HAVE_LONG_ADDRESS. 13939739916eSMartin Mares Define format strings for addresses, port numbers and IRQ numbers 13949739916eSMartin Mares directly in pci.h. 13959739916eSMartin Mares 13969739916eSMartin Mares * lib/proc.c (proc_scan): Use PCIADDR_T_FMT for scanf'ing addresses. 13979739916eSMartin Mares 139880459c65SMartin Mares2003-12-26 Marco Gerards <[email protected]> 139980459c65SMartin Mares 140080459c65SMartin Mares Added support for the GNU Hurd (cleaned up by Martin Mares): 140180459c65SMartin Mares 140280459c65SMartin Mares * lib/configure [GNU]: Use the i386 ports for configuration access. 140380459c65SMartin Mares * lib/i386-ports.c: Don't call iopl() on the Hurd. 140480459c65SMartin Mares * lib/pci.h [OS_GNU]: Include <sys/types.h> and use it for defining 140580459c65SMartin Mares u8 to u32. 140680459c65SMartin Mares 1407a85769a8SMartin Mares2003-12-26 Martin Mares <[email protected]> 1408a85769a8SMartin Mares 14097dacd9c8SMartin Mares * lspci.c (show_pcix_bridge, show_pcix_nobridge): Don't forget to call 14107dacd9c8SMartin Mares config_fetch() to ensure that the registers have been read. Thanks to 14117dacd9c8SMartin Mares Bill Wood <[email protected]> for the patch. 14127dacd9c8SMartin Mares 14137dacd9c8SMartin Mares * lspci.c: Ensure that failure of config_fetch() is handled correctly 14147dacd9c8SMartin Mares at all places. 14157dacd9c8SMartin Mares 14164063c31cSMartin Mares * lspci.man: There was one more explicit reference to /usr/share/pci.ids. 14174063c31cSMartin Mares Changed to @SHAREDIR@. Patch from Maciej W. Rozycki <[email protected]>. 14184063c31cSMartin Mares 14193fe8a38dSMartin Mares * setpci.c (main): Better error messages. 14203fe8a38dSMartin Mares 14215f5b1a7bSMartin Mares * setpci.c (ex_op): The demo mode should disable only writing, not reading. 14225f5b1a7bSMartin Mares 14235f5b1a7bSMartin Mares * setpci.man: The documentation was inconsistent on what should -D do. 14245f5b1a7bSMartin Mares Document the new behaviour. 1425b251f40bSMartin Mares 142691e37a49SMartin Mares * pciutils.h, common.c, setpci.c: Introduced a NONRET macro encapsulating 142791e37a49SMartin Mares the GCC specific __attribute__((noreturn)) and killed the hack with 142891e37a49SMartin Mares redefining __attribute__ on non-GCC compilers. 142991e37a49SMartin Mares 14304afd29d3SMartin Mares * Makefile: Added missing dependencies. Parallel builds work now. 14314afd29d3SMartin Mares Problem reported by Andreas Haumer <[email protected]>, but I chose 14324afd29d3SMartin Mares a different fix. 14334afd29d3SMartin Mares 1434b0f1a03bSMartin Mares * Makefile (MANDIR): Use `:=' instead of `=' to avoid executing the shell 1435b0f1a03bSMartin Mares command every time $(MANDIR) is referenced. 1436b0f1a03bSMartin Mares 1437b7fd8e19SMartin Mares * lspci.c (main): The error message for `lspci -s' incorrectly mentioned 1438b7fd8e19SMartin Mares a `-f' switch. Reported by Steve Finney <[email protected]>. 1439b7fd8e19SMartin Mares 144005bb10a2SMartin Mares * lib/generic.c: Removed memory leak in pci_generic_bus_scan(). 144105bb10a2SMartin Mares Reported by Gary Parnes <[email protected]>. 144205bb10a2SMartin Mares 1443a832f6f1SMartin Mares * Replaced obsolete syntax of __attribute__((unused)) in the middle of 1444a832f6f1SMartin Mares parameter declarations (which is no longer supported by GCC 3.1) by the 1445a832f6f1SMartin Mares current syntax (attribute at the end). Thanks to [email protected] 1446a832f6f1SMartin Mares for reporting this problem. 1447a832f6f1SMartin Mares 1448a85769a8SMartin Mares * Removed CVS $Id$ tags from all files. 1449a85769a8SMartin Mares 1450a85769a8SMartin Mares * Makefile: Added some more warnings. 1451a85769a8SMartin Mares 1452b7351143SMartin Mares * setpci.c: Cleaned up mask/value code. 1453b7351143SMartin Mares 1454b7351143SMartin Mares2003-12-08 Thayne Harbaugh <[email protected]> 1455b7351143SMartin Mares 1456b7351143SMartin Mares * setpci.c: Individual bits to be set can be specified as <value>:<mask>. 1457b7351143SMartin Mares 14582a5d5cf9SMartin Mares2003-11-29 Martin Mares <[email protected]> 14592a5d5cf9SMartin Mares 14602a5d5cf9SMartin Mares * Imported the pciutils sources to my Arch repository. Good-bye, CVS. 14612a5d5cf9SMartin Mares 1462d772ef15SMartin Mares2003-01-04 Martin Mares <[email protected]> 1463d772ef15SMartin Mares 14641b95f396SMartin Mares * Released as 2.1.11. 14651b95f396SMartin Mares 1466c83293ebSMartin Mares * Makefile: Changed configuration of installation directories -- 1467c83293ebSMartin Mares all paths are now set at the top of the Makefile instead of being 1468c83293ebSMartin Mares scattered between the installation rules. The default installation 1469c83293ebSMartin Mares now goes always to /usr/local regardless of the OS as most distributions 1470c83293ebSMartin Mares already contain some version of pciutils and we don't want custom 1471c83293ebSMartin Mares installations to interfere with the default ones. 1472c83293ebSMartin Mares 1473c83293ebSMartin Mares * Makefile: Removed a couple of ancient install hacks: we no longer 1474c83293ebSMartin Mares try to avoid overwriting a newer pci.ids file (users are now expected 1475c83293ebSMartin Mares to use update-ids) and we don't try to remove /etc/pci.ids (a long time 1476c83293ebSMartin Mares has passed since the last version which used it). 1477c83293ebSMartin Mares 1478e2875dcdSMartin Mares * Makefile: Paths to pci.ids in man pages automatically get the right path. 1479e2875dcdSMartin Mares 14801b95f396SMartin Mares * Added the update-ids utility. 14810138a2a7SMartin Mares 1482d772ef15SMartin Mares * lib: Removed partially implemented "syscall" access method which will 1483d772ef15SMartin Mares probably never be needed. 1484d772ef15SMartin Mares 1485eb620239SMartin Mares2002-12-27 Martin Mares <[email protected]> 1486eb620239SMartin Mares 1487130090bdSMartin Mares * lib/nbsd-libpci.c: Cleaned up and hopefully made it endian safe. 1488130090bdSMartin Mares 1489eb620239SMartin Mares * lib/generic.c (pci_generic_scan_bus): Added work-around for devices with 1490eb620239SMartin Mares discontiguous numbering of functions. This is already present in the Linux 1491eb620239SMartin Mares kernel for several years, but I forgot to update pciutils as well. 1492eb620239SMartin Mares 1493848b4347SMartin Mares2002-12-26 Martin Mares <[email protected]> 1494848b4347SMartin Mares 1495579b19ffSMartin Mares * lib/header.h, lspci.c: Dump AGP3 flags and speeds. 1496579b19ffSMartin Mares 1497579b19ffSMartin Mares * lib/pci.h, Makefile: Removed HAVE_OWN_HEADER_H. Always use our own header, 1498579b19ffSMartin Mares there is no reason to prefer the kernel version. 1499579b19ffSMartin Mares 1500579b19ffSMartin Mares * lib/proc.c (proc_scan): Don't forget to initialize hdrtype. 1501579b19ffSMartin Mares 1502848b4347SMartin Mares * Added preliminary version of NetBSD support by Quentin Garnier 1503848b4347SMartin Mares <[email protected]>. 1504848b4347SMartin Mares 1505f0952474SMartin Mares2002-04-06 Martin Mares <[email protected]> 1506f0952474SMartin Mares 1507f0952474SMartin Mares * lspci.c: Mention "-xxx" in the help. 1508f0952474SMartin Mares 1509d2f666f1SMartin Mares2002-03-30 Martin Mares <[email protected]> 1510d2f666f1SMartin Mares 15119bd44bb0SMartin Mares * Released as 2.1.10. 15129bd44bb0SMartin Mares 1513a33d0eb7SMartin Mares * Removed pci.ids from the CVS as they are now maintained separately. 1514a33d0eb7SMartin Mares They are still included in the tarball, but if you are building pciutils 1515a33d0eb7SMartin Mares from CVS sources or you want to get a newer ID file than the one distributed, 1516a33d0eb7SMartin Mares just use "make update-ids" to download the most recent snapshot from 1517a33d0eb7SMartin Mares pciids.sf.net. 1518a33d0eb7SMartin Mares 1519a33d0eb7SMartin Mares * Makefile, README: Updated accordingly. 1520a33d0eb7SMartin Mares 1521a33d0eb7SMartin Mares * Makefile: Added a couple of maintenance targets. 1522a33d0eb7SMartin Mares 1523a33d0eb7SMartin Mares * maint/*: Maintainer's utilities now reside here (present only in CVS, 1524a33d0eb7SMartin Mares not in the tarball). 1525a33d0eb7SMartin Mares 1526d2f666f1SMartin Mares * lib/names.c (parse_name_list): End-of-line comments are no longer 1527d2f666f1SMartin Mares supported. Hashes are now perfectly valid in all names and they start 1528d2f666f1SMartin Mares a comment only at the start of the line. 1529d2f666f1SMartin Mares 1530ee551b73SMartin Mares2002-03-26 Martin Mares <[email protected]> 1531ee551b73SMartin Mares 153207159913SMartin Mares * README: Rewritten. 153307159913SMartin Mares 1534ee551b73SMartin Mares * Makefile: When the currently installed pci.ids file is newer than 1535ee551b73SMartin Mares the version to be installed, don't overwrite it. Suggested by 1536ee551b73SMartin Mares Jean Delvare <[email protected]>. 1537ee551b73SMartin Mares 1538bc7b1d62SMartin Mares2002-03-24 Martin Mares <[email protected]> 1539bc7b1d62SMartin Mares 15405f5e6f64SMartin Mares * lspci.c (show_pcix_bridge): Added PCI-X capability display. 15415f5e6f64SMartin Mares Contributed by Jeff Garzik <[email protected]>. 15425f5e6f64SMartin Mares 15435f5e6f64SMartin Mares * lib/header.h: Added PCI-X stuff. Again by Jeff. 15445f5e6f64SMartin Mares 15455f5e6f64SMartin Mares * Makefile (CFLAGS): -Werror is gone. 15465f5e6f64SMartin Mares 1547a1052f16SMartin Mares * lspci.c (format_agp_rate): Fixed AGP rate reporting. 1548a1052f16SMartin Mares 1549bc7b1d62SMartin Mares * lib/filter.c (pci_filter_parse_slot): Allow bus 0xff, slot 0x1f and 1550bc7b1d62SMartin Mares function 7. 1551bc7b1d62SMartin Mares 1552bc7b1d62SMartin Mares * lib/names.c (pci_lookup_name): When printing unknown subsystem vendor 1553bc7b1d62SMartin Mares or device hexadecimally, don't confuse it with chip vendor/device ID. 1554bc7b1d62SMartin Mares First reported by Marc Boucher <[email protected]>. 1555bc7b1d62SMartin Mares 1556f793990cSMartin Mares2001-11-04 Martin Mares <[email protected]> 1557f793990cSMartin Mares 1558ee551b73SMartin Mares * Released as 2.1.9. 1559ee551b73SMartin Mares 1560f793990cSMartin Mares * pci.ids: Synced with the PCI ID Repository at SourceForge 1561f793990cSMartin Mares (http://pciids.sourceforge.net/). 1562f793990cSMartin Mares 15631d174e56SMartin Mares2000-08-25 Martin Mares <[email protected]> 15641d174e56SMartin Mares 15651d174e56SMartin Mares * pci.ids: Updated ID's, synced with kernel 2.4.0-test7. 15661d174e56SMartin Mares 156765b4327eSMartin Mares2000-06-13 Martin Mares <[email protected]> 156865b4327eSMartin Mares 156965b4327eSMartin Mares * Makefile (uninstall): Fixed. 157065b4327eSMartin Mares 157165b4327eSMartin Mares * pci.ids: ID updates. 157265b4327eSMartin Mares 15734a219d5fSMartin Mares2000-05-20 Martin Mares <[email protected]> 15744a219d5fSMartin Mares 15754a219d5fSMartin Mares * Released as 2.1.8. 15764a219d5fSMartin Mares 15774a219d5fSMartin Mares * pci.ids: ID updates. 15784a219d5fSMartin Mares 15794a219d5fSMartin Mares * lspci.c (show_verbose): Min/max latency is now printed in nanoseconds. 15804a219d5fSMartin Mares 15814a219d5fSMartin Mares2000-05-04 Martin Mares <[email protected]> 15824a219d5fSMartin Mares 15834a219d5fSMartin Mares * lspci.c (show_verbose): If the header type doesn't match device 15844a219d5fSMartin Mares class, just print a warning and still use the header type, assuming 15854a219d5fSMartin Mares bogus class info. 15864a219d5fSMartin Mares 158710c90662SMartin Mares2000-05-01 Martin Mares <[email protected]> 158810c90662SMartin Mares 158972b9b690SMartin Mares * lspci.c (show_pm): Updated according to PCI PM specs 1.1. 159072b9b690SMartin Mares 159110c90662SMartin Mares * pci.ids: Updated Contemporary Control ARCnet card entries. 159210c90662SMartin Mares 159310c90662SMartin Mares * pci.ids: Synchronized class list with latest PCI SIG documents. 159410c90662SMartin Mares 1595a239ade6SMartin Mares2000-04-29 Martin Mares <[email protected]> 1596a239ade6SMartin Mares 1597a239ade6SMartin Mares * lib/names.c (pci_lookup_name): Fixed the cheat. 1598a239ade6SMartin Mares 1599a239ade6SMartin Mares * lib/internal.h: Moved UNUSED/inline hacks above all other declarations. 1600a239ade6SMartin Mares 1601a239ade6SMartin Mares * pci.ids: Various ID updates. 1602a239ade6SMartin Mares 16032c83b860SMartin Mares2000-04-21 Martin Mares <[email protected]> 16042c83b860SMartin Mares 16052c83b860SMartin Mares * Released as 2.1.7. 16062c83b860SMartin Mares 16072c83b860SMartin Mares * pciutils.spec: Added German description. 16082c83b860SMartin Mares 16092c83b860SMartin Mares * lib/names.c (pci_lookup_name): Added a cheat for case that subsystem ID's 16102c83b860SMartin Mares are the same as device ID and just output subsystem name according to 16112c83b860SMartin Mares device name. 16122c83b860SMartin Mares 16132c83b860SMartin Mares * lib/proc.c: Use UNUSED instead of __attribute__((unused)). 16142c83b860SMartin Mares 16152c83b860SMartin Mares * lib/pci.h: Added the correct typedefs for AIX. 16162c83b860SMartin Mares 16172c83b860SMartin Mares * lib/generic.c (pci_generic_scan_bus): Export. 16182c83b860SMartin Mares 16192c83b860SMartin Mares * lib/configure: Detect AIX. Use "echo '...\c'" instead of 16202c83b860SMartin Mares "echo -n" if the shell isn't bash. 16212c83b860SMartin Mares 16222c83b860SMartin Mares * lspci.c: Avoid using alloca() if not compiled by GCC. 16232c83b860SMartin Mares (insert_dev): Avoid returning a void value. 16242c83b860SMartin Mares 16252c83b860SMartin Mares * Makefile: Choose which install utility to use according to 16262c83b860SMartin Mares OS type. Also use `-o' instead of `-or' in find arguments. 16272c83b860SMartin Mares Part of the AIX port. 16282c83b860SMartin Mares 16292c83b860SMartin Mares * lib/aix-device.c: Added AIX low-level interface. Contributed 16302c83b860SMartin Mares by Dave Johnson <[email protected]>, thanks a lot! 16312c83b860SMartin Mares 16322c83b860SMartin Mares * pci.ids: Few new ID's. 16332c83b860SMartin Mares 16342c83b860SMartin Mares * pciutils.h, lib/internal.h: Redefine __attribute__ and inline 16352c83b860SMartin Mares when not compiled by GCC. 16362c83b860SMartin Mares 1637c1a828daSMartin Mares2000-04-17 Martin Mares <[email protected]> 1638c1a828daSMartin Mares 1639c1a828daSMartin Mares * Released as 2.1.6. 1640c1a828daSMartin Mares 1641c1a828daSMartin Mares * pci.ids: Added a large batch of ID's contributed by Gunther 1642c1a828daSMartin Mares Mayer <[email protected]> and synced the 1643c1a828daSMartin Mares list with the 2.3.99pre6 kernel. 1644c1a828daSMartin Mares 1645e91dd3abSMartin MaresThu Mar 9 13:11:39 2000 Martin Mares <[email protected]> 1646e91dd3abSMartin Mares 1647a80b79a9SMartin Mares * lib/example.c: Added a simple example of how to use 1648a80b79a9SMartin Mares the library. 1649a80b79a9SMartin Mares 165089984232SMartin Mares * lspci.man, setpci.man: Revealed --version. Well spotted 165189984232SMartin Mares by Adam Sulmicki. 165289984232SMartin Mares 1653e91dd3abSMartin Mares * pci.ids: Added lots of new ID's and synced with 2.3.50. 1654e91dd3abSMartin Mares 165578d9c5e2SMartin MaresTue Feb 15 00:16:21 2000 Martin Mares <[email protected]> 165678d9c5e2SMartin Mares 165778d9c5e2SMartin Mares * Released as 2.1.5. 165878d9c5e2SMartin Mares 165978d9c5e2SMartin Mares * pciutils.spec: Updated spec file from Andreas Jaeger. Now using 166078d9c5e2SMartin Mares %{_mandir} to find the right location to install manual pages to. 166178d9c5e2SMartin Mares 166278d9c5e2SMartin Mares * pci.ids: New ID's. 166378d9c5e2SMartin Mares 166478d9c5e2SMartin Mares * setpci.c (main): Don't crash when `-s' or `-d' is given with 166578d9c5e2SMartin Mares no argument. 166678d9c5e2SMartin Mares 1667f8141ae2SMartin MaresMon Jan 24 20:04:11 2000 Andreas Jaeger <[email protected]> 1668f8141ae2SMartin Mares 1669f8141ae2SMartin Mares * lib/i386-ports.c: Include <asm/io.h> only on systems without 1670f8141ae2SMartin Mares glibc. 1671f8141ae2SMartin Mares 1672f8141ae2SMartin MaresMon Jan 24 11:24:43 2000 Martin Mares <[email protected]> 1673f8141ae2SMartin Mares 1674f8141ae2SMartin Mares * Makefile: Modified to work with the Linux FHS brain-damaged idea 1675f8141ae2SMartin Mares of putting man pages to /usr/share/man. Now we choose either /usr/man 1676f8141ae2SMartin Mares or /usr/share/man depending on which one exists. 1677f8141ae2SMartin Mares 167859e76e8bSMartin MaresSun Jan 23 10:52:34 2000 Martin Mares <[email protected]> 167959e76e8bSMartin Mares 168059e76e8bSMartin Mares * pci.ids: Synced with Linux 2.3.40. 168159e76e8bSMartin Mares 168259e76e8bSMartin Mares * Released as version 2.1.4. 168359e76e8bSMartin Mares 16842dfd48cdSMartin MaresThu Jan 20 11:08:32 2000 Martin Mares <[email protected]> 16852dfd48cdSMartin Mares 16862715403fSMartin Mares * lspci.c (scan_device): Fixed bug in reading of cardbus extensions. 16872715403fSMartin Mares 168881077814SMartin Mares * lib/proc.c: pread/pwrite fixed again, this time on libc5 :( 168981077814SMartin Mares 169081077814SMartin Mares * lspci.c (format_agp_rate): Better formatting of AGP rates. 169181077814SMartin Mares 169281077814SMartin Mares * pci.ids: New ID's. 169381077814SMartin Mares 16942dfd48cdSMartin Mares * lib/configure: Added configuration for ia64 (the same as for Alpha). 16952dfd48cdSMartin Mares Patch from Stephane Eranian <[email protected]>. 16962dfd48cdSMartin Mares 16975a258860SMartin MaresThu Jan 13 23:01:52 2000 Martin Mares <[email protected]> 16985a258860SMartin Mares 16995a258860SMartin Mares * Released as version 2.1.3. 17005a258860SMartin Mares 17015a258860SMartin Mares * pci.ids: New ID's. 17025a258860SMartin Mares 17035a258860SMartin Mares * lspci.c: Alpha IO_FORMAT fix by Andrea Arcangeli. 17045a258860SMartin Mares 17055a258860SMartin Mares * lib/access.c: Corrected order of access methods -- it's wonderful how 17065a258860SMartin Mares long could such a bug remain unspotted. Thanks go to Andreas Schockenhoff. 17075a258860SMartin Mares 17080c047bbeSMartin MaresSat Dec 11 23:34:48 1999 Martin Mares <[email protected]> 17090c047bbeSMartin Mares 17100c047bbeSMartin Mares * Released as version 2.1.2. 17110c047bbeSMartin Mares 17120c047bbeSMartin Mares * lib/names.c (pci_lookup_name): Fixed printing of unknown subsystem ID's. 17130c047bbeSMartin Mares 171433bc28a5SMartin MaresSat Dec 4 13:11:03 1999 Martin Mares <[email protected]> 171533bc28a5SMartin Mares 171639231205SMartin Mares * Released as version 2.1.1. 171739231205SMartin Mares 171833bc28a5SMartin Mares * pci.ids: Several new ID's. 171933bc28a5SMartin Mares 172033bc28a5SMartin Mares * setpci.c (exec_op): Don't forget to increment address after writing 172133bc28a5SMartin Mares single value, so that `30.b=12,34,56,78' works as expected. Reported 172233bc28a5SMartin Mares by Petr Soucek <[email protected]>. 172333bc28a5SMartin Mares 17248d047897SMartin MaresWed Nov 3 10:24:38 1999 Martin Mares <[email protected]> 17258d047897SMartin Mares 17268d047897SMartin Mares * lspci.c (show_terse): If prog-if is zero, but it's present in the 17278d047897SMartin Mares ID list, show it. 17288d047897SMartin Mares 17296afc6538SMartin MaresSat Oct 30 11:06:35 1999 Martin Mares <[email protected]> 17306afc6538SMartin Mares 17316afc6538SMartin Mares * Released as version 2.1. 17326afc6538SMartin Mares 17336afc6538SMartin Mares * pci.ids: Synced to devlist.h in 2.3.24 kernel. Merged in 17346afc6538SMartin Mares lots of contributed entries. 17356afc6538SMartin Mares 17368f756113SMartin MaresThu Oct 14 10:40:12 1999 Dave Jones <[email protected]> 17378f756113SMartin Mares 17388f756113SMartin Mares * pci.ids: Added lots of subsystem definitions. 17398f756113SMartin Mares 1740d4798a32SMartin MaresSat Oct 9 14:32:28 1999 Martin Mares <[email protected]> 1741d4798a32SMartin Mares 1742d4798a32SMartin Mares * setpci.man: Better example. 1743d4798a32SMartin Mares 1744d4798a32SMartin Mares * lspci.c: Resolve prog-if names. 1745d4798a32SMartin Mares 1746d4798a32SMartin Mares * lib/names.c: Adapted to new pci.ids syntax. 1747d4798a32SMartin Mares 1748d4798a32SMartin Mares * pci.ids: Reorganized the pci.ids file. Subsystems are listed 1749d4798a32SMartin Mares under devices, classes can optionally contain prog-if information. 1750d4798a32SMartin Mares New ID's, as usually. 1751d4798a32SMartin Mares 1752e306e911SMartin MaresWed Sep 22 09:45:24 1999 Martin Mares <[email protected]> 1753e306e911SMartin Mares 1754e306e911SMartin Mares * pci.ids: New ID's. As usually. 1755e306e911SMartin Mares 1756e306e911SMartin Mares * lspci.c (show_htype1, show_htype2): Don't show `closed' bridge windows 1757e306e911SMartin Mares unless we're vvvery verbose. 1758e306e911SMartin Mares 1759e306e911SMartin MaresMon Sep 20 11:22:54 1999 Martin Mares <[email protected]> 1760e306e911SMartin Mares 1761e306e911SMartin Mares * lspci.c (show_htype2): Don't forget a TAB before the "I/O window" line. 1762e306e911SMartin Mares 1763e64a576cSMartin MaresTue Sep 14 09:31:01 1999 Martin Mares <[email protected]> 1764e64a576cSMartin Mares 1765e64a576cSMartin Mares * pci.ids: New ID's. Again. 1766e64a576cSMartin Mares 1767c36c0862SMartin MaresThu Aug 5 17:45:42 1999 Martin Mares <[email protected]> 1768c36c0862SMartin Mares 1769c36c0862SMartin Mares * lspci.c (show_size): Don't show size if it's zero (usually 1770c36c0862SMartin Mares due to bus-centric mode being enabled). 1771c36c0862SMartin Mares 17721ca42433SMartin MaresTue Jul 20 13:25:09 1999 Martin Mares <[email protected]> 17731ca42433SMartin Mares 1774168b4f46SMartin Mares * lib/pci.h: Types are OS dependent. 1775168b4f46SMartin Mares 1776168b4f46SMartin Mares * lib/internal.h: Byte order hacks are OS dependent. 1777168b4f46SMartin Mares 1778168b4f46SMartin Mares * lib/configure: Recognize FreeBSD. Also set OS_XXX according to the OS. 1779168b4f46SMartin Mares 1780168b4f46SMartin Mares * lib/Makefile, lib/access.c: Added fbsd-device target. 1781168b4f46SMartin Mares 1782168b4f46SMartin Mares * pci.ids: Added an entry for PLX 9080 bridges with subsystem ID 1783168b4f46SMartin Mares incorrectly set to device ID. 1784168b4f46SMartin Mares 1785168b4f46SMartin Mares * README: Added a note that we support FreeBSD. 1786168b4f46SMartin Mares 1787168b4f46SMartin Mares * Makefile (PREFIX, ROOT): Set it depending on the OS. 1788168b4f46SMartin Mares (%.8): Grrr, BSD date is not able to convert date formats the same way 1789168b4f46SMartin Mares as GNU date does. Use sed instead. 1790168b4f46SMartin Mares (install): Use `-c' when calling install. 1791168b4f46SMartin Mares 1792168b4f46SMartin Mares * lib/fbsd-device.c: Added FreeBSD /dev/pci access module contributed 1793168b4f46SMartin Mares by Jari Kirma <[email protected]>. 1794168b4f46SMartin Mares 1795bc6346dfSMartin Mares * lib/proc.c: Rewrote the pread/pwrite things once again. Use pread 1796bc6346dfSMartin Mares and pwrite only when we are certain it's safe (i.e., glibc 2.1 1797bc6346dfSMartin Mares on all architectures or any libc on a i386 where we really know 1798bc6346dfSMartin Mares how to use syscalls directly). In all other cases, emulate it 1799bc6346dfSMartin Mares with lseek/read/write. 1800bc6346dfSMartin Mares 18011ca42433SMartin Mares * pci.ids: Some more IDs. 18021ca42433SMartin Mares 18031ca42433SMartin MaresMon Jul 19 14:10:36 1999 Martin Mares <[email protected]> 18041ca42433SMartin Mares 18051ca42433SMartin Mares * pci.ids: Added IDs of parallel port controller cards as sent 18061ca42433SMartin Mares by Tim Waugh <[email protected]>. 18071ca42433SMartin Mares 1808e95c8373SMartin MaresWed Jul 7 00:55:48 1999 Martin Mares <[email protected]> 1809e95c8373SMartin Mares 1810e95c8373SMartin Mares * lib/proc.c (proc_scan): HAVE_LONG_ADDRESS instead of HAVE_64BIT_ADDRESS. 1811e95c8373SMartin Mares 1812e95c8373SMartin Mares * lspci.c: ADDR_FORMAT now depends on both HAVE_64BIT_ADDRESS and 1813e95c8373SMartin Mares HAVE_LONG_ADDRESS. 1814e95c8373SMartin Mares 1815e95c8373SMartin Mares * lib/configure: HAVE_64BIT_ADDRESS now doesn't imply that the addresses 1816e95c8373SMartin Mares are represented as long long. Introduced a new flag HAVE_LONG_ADDRESS 1817e95c8373SMartin Mares to indicate this. Both Sparc architectures now use both 64BIT_ADDRESS 1818e95c8373SMartin Mares and LONG_ADDRESS since they have 32-bit userland, but don't set LONG_ADDRESS 1819e95c8373SMartin Mares on Alpha. 1820e95c8373SMartin Mares 1821e95c8373SMartin Mares * lspci.c (show_msi): Added dumping of the MSI capability. 1822e95c8373SMartin Mares (show_slotid): The same for SlotID capability. 1823e95c8373SMartin Mares (show_caps): Seperated capability dumping, because it should 1824e95c8373SMartin Mares be used for both htype0 and htype1. Even PCI 2.2 doesn't mention 1825e95c8373SMartin Mares layout of htype2, so I'm a bit unsure about it wrt capabilities 1826e95c8373SMartin Mares -- they at least have to live somewhere else since address 0x34 1827e95c8373SMartin Mares is already defined differently in htype2. 1828e95c8373SMartin Mares 1829e95c8373SMartin Mares * lib/header.h (PCI_STATUS_UDF): Marked as obsolete (PCI 2.2). 1830e95c8373SMartin Mares (PCI_BASE_ADDRESS_MEM_TYPE_1M): Ditto. 1831e95c8373SMartin Mares (PCI_CAP_ID_*): Added some new capabilities defined in PCI 2.2. 1832e95c8373SMartin Mares 1833e95c8373SMartin Mares * lspci.c (show_htype0): Mask out lowest 2 bits from all capability pointers 1834e95c8373SMartin Mares (required by the PCI 2.2 specs). 1835e95c8373SMartin Mares 1836e95c8373SMartin MaresMon Jul 5 12:45:19 1999 Martin Mares <[email protected]> 1837e95c8373SMartin Mares 1838e95c8373SMartin Mares * lspci.c (show_size): Added new function for dumping of region sizes. 1839e95c8373SMartin Mares (show_rom): Added. Now correctly dumps unassigned ROM addresses, disabled 1840e95c8373SMartin Mares ROMs et cetera. 1841e95c8373SMartin Mares 1842e95c8373SMartin Mares * lib/pci.h (struct pci_dev): known_fields moved to the public part 1843e95c8373SMartin Mares of the structure. 1844e95c8373SMartin Mares 1845e95c8373SMartin Mares * Added support for region sizes. Needs support in the kernel, because 1846e95c8373SMartin Mares sizes have to be scanned before drivers initialize yourself. pci_fill_info() 1847e95c8373SMartin Mares now returns a bitmask of what fields were really read. 1848e95c8373SMartin Mares 184982ce97c9SMartin MaresMon Jun 28 18:37:51 1999 Dave Jones <[email protected]> 185082ce97c9SMartin Mares 185182ce97c9SMartin Mares * Makefile: 185282ce97c9SMartin Mares Added `uninstall' target - removes all traces of pciutils. 185382ce97c9SMartin Mares * pci.ids: 185482ce97c9SMartin Mares - Lots of cleanups in the ATI, S3, Adaptec vendors. 185582ce97c9SMartin Mares - Changed Compaq QVision 1280/p definitions, as it's not possible 185682ce97c9SMartin Mares to determine the revision from the device ID. 185782ce97c9SMartin Mares - Same for the Tseng ET4000. 185882ce97c9SMartin Mares The id's said I had a rev C, when it was actually a rev B. 185982ce97c9SMartin Mares - Removed some unnecessary strings 186082ce97c9SMartin Mares `PCI'. Unless it's an AGP card, it should be obvious that it's PCI. 186182ce97c9SMartin Mares `Ethernet card'. This should be determined from config space. 186282ce97c9SMartin Mares - Lots of other new vendors & devices 186382ce97c9SMartin Mares - Other additional small cleanups. 186482ce97c9SMartin Mares 18657bed2d83SMartin MaresMon Jun 21 22:11:10 1999 Martin Mares <[email protected]> 18667bed2d83SMartin Mares 18677bed2d83SMartin Mares * lib/names.c (pci_lookup_name): When device ID lookup 18687bed2d83SMartin Mares fails, return hexadecimal device ID instead of vendor ID. 18697bed2d83SMartin Mares Well spotted by Axel Bodemann <[email protected]>, 18707bed2d83SMartin Mares I've just extended the fix to subsystem ID's. 18717bed2d83SMartin Mares 18725ba3a475SMartin MaresThu Jun 17 19:48:21 1999 Martin Mares <[email protected]> 18735ba3a475SMartin Mares 18745ba3a475SMartin Mares * lspci.c (show_agp): Bug fix from Petr Vandrovec 18755ba3a475SMartin Mares <[email protected]>. The command register was displayed 18765ba3a475SMartin Mares incorrectly. 18775ba3a475SMartin Mares 18785ba3a475SMartin MaresWed Jun 2 22:42:44 1999 Martin Mares <[email protected]> 18795ba3a475SMartin Mares 18805ba3a475SMartin Mares * lib/proc.c (SYS_pread, SYS_pwrite): Use hard-coded 18815ba3a475SMartin Mares numbers if not supplied by the libc. 18825ba3a475SMartin Mares 188355c815b5SMartin MaresWed May 19 13:24:39 1999 Martin Mares <[email protected]> 188455c815b5SMartin Mares 188555c815b5SMartin Mares * Released the whole package as version 2.0. 188655c815b5SMartin Mares 188755c815b5SMartin MaresFri May 14 22:42:02 1999 Martin Mares <[email protected]> 188855c815b5SMartin Mares 188955c815b5SMartin Mares * pci.ids: Added several new ID's contributed by people 189055c815b5SMartin Mares on the linux-pci list. 189155c815b5SMartin Mares 1892dec16943SMartin MaresMon Apr 19 15:21:08 1999 Jakub Jelinek <[email protected]> 1893dec16943SMartin Mares 1894dec16943SMartin Mares * lspci.c: Display I/O addresses correctly on sparc64. 1895dec16943SMartin Mares * lib/header.h: Ditto. 1896dec16943SMartin Mares 1897dec16943SMartin Mares * lib/configure: On sparc set HAVE_64BIT* as well, we want 1898dec16943SMartin Mares a binary which works on both 32bit and 64bit SPARCs. 1899dec16943SMartin Mares 1900e33c9c7aSMartin MaresSun Apr 18 21:14:58 1999 Martin Mares <[email protected]> 1901e33c9c7aSMartin Mares 1902e33c9c7aSMartin Mares * lspci.c, lib/proc.c: Alpha compilation fixes from Matthew Jacob 1903e33c9c7aSMartin Mares <[email protected]>. 1904e33c9c7aSMartin Mares 1905e33c9c7aSMartin Mares * pci.ids: A lot of updates from Adam J. Richter <[email protected]>. 1906e33c9c7aSMartin Mares 1907f3395cc5SMartin MaresSun Feb 28 22:26:21 1999 Martin Mares <[email protected]> 1908f3395cc5SMartin Mares 1909f3395cc5SMartin Mares * lspci.c (do_map_bus): Don't dump functions 1--7 if not flagged 1910f3395cc5SMartin Mares as a multi-function device, because several single-function devices 1911f3395cc5SMartin Mares don't decode the function bits at all. 1912f3395cc5SMartin Mares 1913f3395cc5SMartin MaresSun Feb 14 23:48:22 1999 Martin Mares <[email protected]> 1914f3395cc5SMartin Mares 1915f3395cc5SMartin Mares * Makefile (install): Don't use "-o root -g root" for installation 1916f3395cc5SMartin Mares since it breaks on machines where programs are not installed by root. 1917f3395cc5SMartin Mares Reported by Richard Gooch <[email protected]> 1918f3395cc5SMartin Mares 1919f3395cc5SMartin MaresTue Feb 9 15:54:39 1999 Martin Mares <[email protected]> 1920f3395cc5SMartin Mares 1921f3395cc5SMartin Mares * lspci.c (show_bases): Use new address masking macros and pciaddr_t. 1922f3395cc5SMartin Mares 1923f3395cc5SMartin Mares * lib/pci.h: Using pciaddr_t for bus addresses, which are 32-bit 1924f3395cc5SMartin Mares or 64-bit depending on CPU. 1925f3395cc5SMartin Mares 1926f3395cc5SMartin Mares * lib/pci.h (PCI_ADDR_MEM_MASK): Added macros for address masks 1927f3395cc5SMartin Mares according to bus address width. 1928f3395cc5SMartin Mares 19291c31d620SMartin MaresThu Jan 28 20:54:16 1999 Martin Mares <[email protected]> 19301c31d620SMartin Mares 19311c31d620SMartin Mares * Released as 1.99.4. 19321c31d620SMartin Mares 19331c31d620SMartin Mares * lspci.c: Capability list parser now recognizes both AGP 19341c31d620SMartin Mares registers and PCI Power Management registers (the latter 19351c31d620SMartin Mares is mainly guesswork based on DEC/Intel 21153 bridge specs 19361c31d620SMartin Mares since I don't have the PCI Power Management document). 19371c31d620SMartin Mares 19381c31d620SMartin Mares * lspci.c: Replaced numerous occurences of (x & flag) ? '+' : '-' 19391c31d620SMartin Mares by FLAG macro. 19401c31d620SMartin Mares 19411c31d620SMartin Mares * lspci.c: Added bridge checks to bus mapping code. 19421c31d620SMartin Mares 19431812a795SMartin MaresWed Jan 27 14:59:16 1999 Martin Mares <[email protected]> 19441812a795SMartin Mares 19451812a795SMartin Mares * lspci.c: Implemented bus mapping mode (-M). 19461812a795SMartin Mares 19471812a795SMartin Mares * lspci.c (scan_devices): Split to scan_devices() and scan_device(). 19481812a795SMartin Mares (show): Split to show() and show_device(). 19491812a795SMartin Mares 19501812a795SMartin Mares * lib/access.c (pci_init): When a->method == PCI_ACCESS_AUTO, 19511812a795SMartin Mares set it to the real access method afterwards. 19521812a795SMartin Mares 19531812a795SMartin MaresMon Jan 25 23:46:13 1999 Martin Mares <[email protected]> 19541812a795SMartin Mares 19551812a795SMartin Mares * lib/generic.c (pci_generic_fill_info): If in buscentric mode, 19561812a795SMartin Mares don't check PCI_COMMAND for I/O and memory enables. 19571812a795SMartin Mares 1958f6c86928SMartin MaresMon Jan 25 21:28:49 1999 Martin Mares <[email protected]> 1959f6c86928SMartin Mares 1960f6c86928SMartin Mares * Makefile: Added target `release' which substitutes new version 1961f6c86928SMartin Mares number to .spec, .lsm and README. Also rewrote target `dist'. 1962f6c86928SMartin Mares 1963f6c86928SMartin Mares * Released as 1.99.3. 1964f6c86928SMartin Mares 1965b5137411SMartin MaresSun Jan 24 22:10:36 1999 Martin Mares <[email protected]> 1966b5137411SMartin Mares 1967d6b297d0SMartin Mares * lib/header.h: Until kernel adopts new layout of PCI 1968d6b297d0SMartin Mares includes (i.e., separate declaration of header structure, 1969d6b297d0SMartin Mares functions and device IDs), which is not going to happen 1970d6b297d0SMartin Mares before 2.3, we'll use our own definiton of the header. 1971d6b297d0SMartin Mares 1972b5137411SMartin Mares * lspci.c (show_verbose): Display `Cap' flag in device status. 1973b5137411SMartin Mares 1974b5137411SMartin Mares * lspci.c (show_htype0): Display capability lists whereever 1975b5137411SMartin Mares available. The only capability name we recognize now is `AGP'. 1976b5137411SMartin Mares Unfortunately, capabilities are stored in device-dependent 1977b5137411SMartin Mares portion of the configuration space and are thus available 1978b5137411SMartin Mares only to root unless you read a dump. 1979b5137411SMartin Mares 1980b5137411SMartin Mares * lspci.c (scan_devices): Use cache instead of buffering. 1981b5137411SMartin Mares 1982b5137411SMartin Mares * lib/buffer.c: Removed (obsoleted by the cache). 1983b5137411SMartin Mares 1984b5137411SMartin Mares * lib/access.c: Added general caching mechanism. 1985b5137411SMartin Mares 198681ce358dSMartin MaresSat Jan 23 21:30:54 1999 Martin Mares <[email protected]> 198781ce358dSMartin Mares 198881ce358dSMartin Mares * pci.ids: Added few devices. 198981ce358dSMartin Mares 1990727ce158SMartin MaresFri Jan 22 19:29:31 1999 Martin Mares <[email protected]> 1991727ce158SMartin Mares 1992727ce158SMartin Mares * Version string is now defined in top-level Makefile, exported 1993727ce158SMartin Mares to the configure script and also substituted to man pages. 1994727ce158SMartin Mares 1995727ce158SMartin Mares * lspci.c (show_bases): Rewrote displaying of 64-bit addresses. 1996727ce158SMartin Mares (show_verbose): Rewrote interrupt display logic. 1997727ce158SMartin Mares 1998727ce158SMartin Mares * lib/i386-ports.c: Include sys/io.h only on glibc systems. 1999727ce158SMartin Mares 2000727ce158SMartin Mares * lib/configure: Rewrote detection of Linux versions. Now it 2001727ce158SMartin Mares works on 2.0 kernels (only with direct/dump access, of course). 2002727ce158SMartin Mares 2003727ce158SMartin Mares * lib/internal.h: New bytesex macros using <asm/byteorder.h> 2004727ce158SMartin Mares whenever available. 2005727ce158SMartin Mares 2006727ce158SMartin Mares * lib/proc.c (proc_read, proc_write): Distinguish between short 2007727ce158SMartin Mares read/write and real errors. 2008727ce158SMartin Mares 2009727ce158SMartin Mares * lspci.c (show_htype{0,1}): Always use d->dev->rom_base_addr since 2010727ce158SMartin Mares libpci respects buscentric mode automatically. 2011727ce158SMartin Mares 2012727ce158SMartin Mares * lspci.c (show_hex_dump): For CardBus bridges, print out 128 2013727ce158SMartin Mares bytes of header (the whole standard part). 2014727ce158SMartin Mares 2015727ce158SMartin Mares * common.c: pcilib options are now all uppercase. Also moved 2016727ce158SMartin Mares PCI access debugging option here. 2017727ce158SMartin Mares 2018727ce158SMartin Mares * Released as 1.99.2. 2019727ce158SMartin Mares 2020727ce158SMartin MaresWed Jan 20 22:50:35 1999 Martin Mares <[email protected]> 2021727ce158SMartin Mares 2022727ce158SMartin Mares * Wrote configure script and rewrote Makefiles. 2023727ce158SMartin Mares 2024727ce158SMartin Mares * Removed few unused variables. 2025727ce158SMartin Mares 2026727ce158SMartin MaresWed Jan 20 12:21:56 1999 Martin Mares <[email protected]> 2027727ce158SMartin Mares 2028727ce158SMartin Mares * common.c: Moved several functions used in both setpci and lspci 2029727ce158SMartin Mares here. This includes parsing of libpci-related options. 2030727ce158SMartin Mares 2031727ce158SMartin Mares * More library tweaks. 2032727ce158SMartin Mares 2033727ce158SMartin Mares * filter.c, names.c: Moved to library. 2034727ce158SMartin Mares 2035727ce158SMartin Mares * setpci: Rewritten to use the library. 2036727ce158SMartin Mares 2037727ce158SMartin Mares * Released as 1.99.1. 2038727ce158SMartin Mares 2039727ce158SMartin MaresTue Jan 19 23:00:12 1999 Martin Mares <[email protected]> 2040727ce158SMartin Mares 2041727ce158SMartin Mares * lspci.c (scan_devices): For cardbus bridges, read first 128 2042727ce158SMartin Mares bytes of config space to get full standard header. 2043727ce158SMartin Mares 2044727ce158SMartin Mares * Makefile (CFLAGS): Removed "-Wno-unused". 2045727ce158SMartin Mares 2046727ce158SMartin Mares * Started the "New Generation" branch and introduced the 2047727ce158SMartin Mares PCI library. 2048727ce158SMartin Mares 2049727ce158SMartin Mares * lspci: Rewritten to use the library. 2050727ce158SMartin Mares 20516ece6bc6SMartin MaresTue Jan 19 22:24:08 1999 Martin Mares <[email protected]> 20526ece6bc6SMartin Mares 20536ece6bc6SMartin Mares * Released as version 1.10. 20546ece6bc6SMartin Mares 20556ece6bc6SMartin MaresMon Jan 18 08:51:17 1999 Martin Mares <[email protected]> 20566ece6bc6SMartin Mares 20576ece6bc6SMartin Mares * lspci.8, setpci.8: Miscellaneous fixes as suggested by 20586ece6bc6SMartin Mares Dag Wieers <[email protected]>. 20596ece6bc6SMartin Mares 20601212dd6dSMartin MaresSun Nov 29 20:05:56 1998 Martin Mares <[email protected]> 20611212dd6dSMartin Mares 20621212dd6dSMartin Mares * pciutils.spec (Name): Update from Krzysztof G. Baranowski. 20631212dd6dSMartin Mares 2064d38471fdSMartin MaresSun Nov 22 10:49:56 1998 Martin Mares <[email protected]> 2065d38471fdSMartin Mares 2066d38471fdSMartin Mares * Makefile, pciutils.h: Moved pci.ids to /usr/share. 2067d38471fdSMartin Mares 2068d38471fdSMartin Mares * Released as version 1.09. 2069d38471fdSMartin Mares 2070371f605bSMartin MaresWed Nov 18 15:47:05 1998 Martin Mares <[email protected]> 2071371f605bSMartin Mares 2072371f605bSMartin Mares * lspci.c (show_htype1): Fixed displaying of prefetchable memory behind 2073371f605bSMartin Mares bridge. Thanks to Petr Vandrovec <[email protected]> for bug report. 2074371f605bSMartin Mares 207510be47abSMartin MaresFri Oct 23 18:59:19 1998 Martin Mares <[email protected]> 207610be47abSMartin Mares 207710be47abSMartin Mares * setpci.c: Don't include <syscall-list.h> with glibc >= 2.1. 207810be47abSMartin Mares 2079472bd340SMartin MaresMon Oct 19 21:53:30 1998 Martin Mares <[email protected]> 2080472bd340SMartin Mares 2081472bd340SMartin Mares * Released as version 1.08. 2082472bd340SMartin Mares 2083472bd340SMartin Mares * setpci.c: glibc 2.1.x already defines pread() and pwrite(). 2084472bd340SMartin Mares 2085472bd340SMartin Mares * lspci.8: Changed warning about lspci -xxx. 2086472bd340SMartin Mares 2087472bd340SMartin Mares * lspci.c: Require "-xxx" for full configuration space dump, so that 2088472bd340SMartin Mares it's impossible to crash the machine by single typo. 2089472bd340SMartin Mares 2090472bd340SMartin Mares * specs: Added (courtesy of Krzysztof G. Baranowski <[email protected]>). 2091472bd340SMartin Mares 2092072c77e5SMartin MaresWed Sep 9 12:03:24 1998 Martin Mares <[email protected]> 2093072c77e5SMartin Mares 2094072c77e5SMartin Mares * lspci.c (show_bases): Better displaying of unassigned and 2095072c77e5SMartin Mares disabled bases. Thanks to Gabriel Paubert <[email protected]> 2096072c77e5SMartin Mares for an idea. 2097072c77e5SMartin Mares 2098b7554856SMartin MaresWed Sep 2 10:58:01 1998 Martin Mares <[email protected]> 2099b7554856SMartin Mares 2100b7554856SMartin Mares * setpci.c (pread): Recognize glibc 1.99 numbered as 2.0 on the PPC. 2101b7554856SMartin Mares (thanks to Geert Uytterhoeven for finding this out) 2102b7554856SMartin Mares 2103ce503b7fSMartin MaresFri Jul 17 10:43:30 1998 Martin Mares <[email protected]> 2104ce503b7fSMartin Mares 2105ce503b7fSMartin Mares * lspci.c (show_verbose): Print subsystem ID using the new resolver. 2106ce503b7fSMartin Mares (show_machine): Print subsystem ID. 2107ce503b7fSMartin Mares 2108ce503b7fSMartin Mares * names.c: New name resolution engine supporting subsystem IDs. 2109ce503b7fSMartin Mares 2110ce503b7fSMartin Mares * Released as version 1.07. 2111ce503b7fSMartin Mares 211296e4f295SMartin MaresWed Jul 15 15:37:21 1998 Martin Mares <[email protected]> 211396e4f295SMartin Mares 211496e4f295SMartin Mares * lspci.c (show_htype2 etc.): Displaying of CardBus headers. 211596e4f295SMartin Mares (show_bases): Honor the `cnt' argument. 211696e4f295SMartin Mares (grow_tree): Parse CardBus headers in tree mode as well. 211796e4f295SMartin Mares 211896e4f295SMartin Mares * pci.h: Updated CardBus header field description. I still don't 211996e4f295SMartin Mares have the CardBus standard available, but OZ6832 specs contain 212096e4f295SMartin Mares full description of all header fields supported by the chip. 212196e4f295SMartin Mares 21226ae3650aSMartin MaresTue Jun 9 22:53:59 1998 Martin Mares <[email protected]> 21236ae3650aSMartin Mares 2124304f9a0bSMartin Mares * Released as 1.06. 2125304f9a0bSMartin Mares 21266ae3650aSMartin Mares * names.c (parse_name_list): Killed an unused variable. 21276ae3650aSMartin Mares 21286ae3650aSMartin Mares * setpci.c (pread, pwrite): Define SYS_(pread|pwrite) as __NR_\1 21296ae3650aSMartin Mares if they are not defined by glibc (needed for glibc built on older 21306ae3650aSMartin Mares kernels). Ugly. 21316ae3650aSMartin Mares 21326ae3650aSMartin Mares * setpci.c (exec_op): Fixed error messages. Thanks, Steve! 21336ae3650aSMartin Mares 21344b88a6b8SMartin MaresMon Jun 8 10:59:22 1998 Martin Mares <[email protected]> 21354b88a6b8SMartin Mares 21364b88a6b8SMartin Mares * Released as 1.05. 21374b88a6b8SMartin Mares 21384b88a6b8SMartin Mares * setpci.c: Problems with pread()/pwrite() with glibc on Alpha 21394b88a6b8SMartin Mares should be gone. Again thanks to Steve for bug report. 21404b88a6b8SMartin Mares 21414b88a6b8SMartin Mares * filter.c (filter_parse_slot): Fixed ":x" type filters. 21424b88a6b8SMartin Mares 21434b88a6b8SMartin Mares * pci.ids: Killed duplicate entry. Thanks to Stephen Williams 21444b88a6b8SMartin Mares <[email protected]> for reporting this. 21454b88a6b8SMartin Mares 21464b88a6b8SMartin MaresSun Jun 7 19:27:51 1998 Martin Mares <[email protected]> 21474b88a6b8SMartin Mares 21484b88a6b8SMartin Mares * lspci.c (main), setpci.c (main): Implemented "--version". 21494b88a6b8SMartin Mares 21504b88a6b8SMartin Mares * Released as 1.04. 21514b88a6b8SMartin Mares 21524b88a6b8SMartin Mares * pciutils.h (PCIUTILS_VERSION): Added version string. 21534b88a6b8SMartin Mares 21544b88a6b8SMartin Mares * filter.c, names.c: Extraneous #include <linux/pci.h> removed. 21554b88a6b8SMartin Mares Thanks to Geert Uytterhoeven <[email protected]> 21564b88a6b8SMartin Mares for bug report. 21574b88a6b8SMartin Mares 21589b306998SMartin MaresThu May 28 14:45:58 1998 Martin Mares <[email protected]> 21599b306998SMartin Mares 21609b306998SMartin Mares * pci.ids: More updates from Jens Maurer. 21619b306998SMartin Mares 2162b372672fSMartin MaresWed Apr 22 10:00:39 1998 Martin Mares <[email protected]> 2163b372672fSMartin Mares 2164b372672fSMartin Mares * pci.ids: Updates from Jens Maurer. 2165b372672fSMartin Mares 2166b2c9b373SMartin MaresSun Apr 19 11:14:25 1998 Martin Mares <[email protected]> 2167b2c9b373SMartin Mares 2168b372672fSMartin Mares * Released as 1.03. 2169b372672fSMartin Mares 2170b2c9b373SMartin Mares * setpci.8: Written. 2171b2c9b373SMartin Mares 2172b2c9b373SMartin Mares * setpci.c: Finished. 2173b2c9b373SMartin Mares 2174b2c9b373SMartin Mares * lspci.c: Now able to fetch expansion ROM base from kernel device list 2175b2c9b373SMartin Mares and print it if not in buscentric mode. 2176b2c9b373SMartin Mares 2177e4842ff3SMartin MaresTue Mar 31 23:11:57 1998 Martin Mares <[email protected]> 2178e4842ff3SMartin Mares 2179e4842ff3SMartin Mares * setpci.c: Added. 2180e4842ff3SMartin Mares 2181e4842ff3SMartin MaresSun Mar 22 15:39:08 1998 Martin Mares <[email protected]> 2182e4842ff3SMartin Mares 2183e4842ff3SMartin Mares * lspci.8: Updated the documentation. 2184e4842ff3SMartin Mares 2185e4842ff3SMartin Mares * lspci.c: Modified to use the new filtering mechanism (options -f and -d). 2186e4842ff3SMartin Mares 2187e4842ff3SMartin Mares * filter.c: Introduced new generic device filter. 2188e4842ff3SMartin Mares 2189008407bdSMartin MaresThu Mar 19 17:03:48 1998 Martin Mares <[email protected]> 2190008407bdSMartin Mares 2191008407bdSMartin Mares * lspci.c (grow_tree, show_tree_dev, print_it): Fixed displaying 2192008407bdSMartin Mares of PCI-to-PCI bridges in the tree format. 2193008407bdSMartin Mares 21940a33d0ecSMartin MaresSun Feb 15 10:12:25 1998 Martin Mares <[email protected]> 21950a33d0ecSMartin Mares 21960a33d0ecSMartin Mares * lspci.c (show_machine): Added non-verbose mode of machine-readable 21970a33d0ecSMartin Mares dump. 21980a33d0ecSMartin Mares 21990a33d0ecSMartin Mares * pci.ids: Updates from Jens Maurer. 22000a33d0ecSMartin Mares 22010a33d0ecSMartin Mares * Released as version 1.02. 22020a33d0ecSMartin Mares 22030a33d0ecSMartin MaresThu Feb 12 16:53:28 1998 Martin Mares <[email protected]> 22040a33d0ecSMartin Mares 22050a33d0ecSMartin Mares * lspci.c: Added a "-m" switch for dumping machine-readable 22060a33d0ecSMartin Mares configuration data (requested by Bjoern Kriews <[email protected]>). 22070a33d0ecSMartin Mares 2208fb38eee8SMartin MaresMon Feb 9 13:17:43 1998 Martin Mares <[email protected]> 2209fb38eee8SMartin Mares 2210fb38eee8SMartin Mares * Makefile, pciutils.h: Include local pci.h instead of <linux/pci.h> 2211fb38eee8SMartin Mares if available. This should avoid all problems with official kernel 2212fb38eee8SMartin Mares not synchronized to newer PCI code in CVS -- standard distribution 2213fb38eee8SMartin Mares of pciutils now contains pci.h from current CVS kernel, pciutils 2214fb38eee8SMartin Mares in CVS contain no pci.h and use the correct kernel include. 2215fb38eee8SMartin Mares 2216fb38eee8SMartin Mares * Makefile: Fixed installation path for man pages. 2217fb38eee8SMartin Mares 22182f48f637SMartin MaresSat Feb 7 15:15:46 1998 Martin Mares <[email protected]> 22192f48f637SMartin Mares 22202f48f637SMartin Mares * README: Updated. 22212f48f637SMartin Mares 22222f48f637SMartin Mares * lspci.8: Created a man page. 22232f48f637SMartin Mares 22242f48f637SMartin Mares * Releasing as version 1.0. 22252f48f637SMartin Mares 22262f48f637SMartin MaresTue Feb 3 20:56:00 1998 Martin Mares <[email protected]> 22272f48f637SMartin Mares 22282f48f637SMartin Mares * Makefile: Recognize architecture by calling uname and pass it as ARCH_xxx 22292f48f637SMartin Mares to all the C sources. This should eliminate problems with 32-bit compilers 22302f48f637SMartin Mares on sparc64. 22312f48f637SMartin Mares 22322f48f637SMartin Mares * lspci.c (show_verbose): Recognize CardBus bridge header type. 22332f48f637SMartin Mares (show_htype2): Stub routine. 22342f48f637SMartin Mares (scan_config): Write sensible error message if the kernel denies reading of 22352f48f637SMartin Mares upper part of the PCI config space. 2236