12022-04-18 Martin Mares <[email protected]> 2 3 * Released as 3.8.0. 4 5 * Filters can now match devices based on partially specified 6 class code and also on the programming interface. 7 8 * Reporting of link speeds, power limits, and virtual function tags 9 has been updated to the current PCIe specification. 10 11 * We decode the Data Object Exchange capability. 12 13 * Bus mapping mode works in non-zero domains. 14 15 * pci_fill_info() can fetch more fields: bridge bases, programming 16 interface, revision, subsystem vendor and device ID, OS driver, 17 and also parent bridge. Internally, the implementation was rewritten, 18 significantly reducing the number of corner cases to be handled. 19 20 * The Windows port was revived and greatly improved by Pali Rohár. 21 It requires less magic to compile. More importantly, it runs on both 22 old and recent Windows systems (see README.Windows for details). 23 24 * Added a new Windows back-end using the cfgmgr32 interface. 25 It does not provide direct access to the configuration space, 26 but basic information about the device is reported via pci_fill_info(). 27 For back-ends of this type, we now provide an emulated read-only 28 config space. 29 30 * If the configuration space is not readable for some reason 31 (e.g., the cfgmgr32 back-end, but also badly implemented sleep mode 32 of some devices), lspci prints only information provided by the OS. 33 34 * The Hurd back-end was greatly improved thanks to Joan Lledó. 35 36 * Various minor bug fixes and improvements. 37 38 * We officially require a working C99 compiler. Sorry, MSVC. 39 40 * As usually, updated pci.ids to the current snapshot of the database. 41 422020-05-31 Martin Mares <[email protected]> 43 44 * Released as 3.7.0. 45 46 * Added or improved the following capabilities: Designated Vendor-Specific, 47 Compute eXpress Link, Resizable BARs, VF Resizable BARs, Link 48 Capabilities 2, Link Status 2. 49 50 * On Linux, lspci can show IOMMU groups. 51 52 * setpci can be asked to skip bus scan and operate on a device 53 completely specified by its domain/bus/dev/func address. This 54 involved major internal cleanup. 55 56 * The above feature of setpci uses the pci_get_dev() function, 57 which obtains a struct pci_dev without doing a bus scan. This was 58 always possible, but apparently little used, because back-ends 59 frequently choked when operating on such devices. Fixed a lot 60 of minor bugs related to this. 61 62 * Also, back-ends which do not support domains now correctly fail when 63 trying to access devices outside domain 0. 64 65 * Semantics of pci_fill_info() and pci_dev->known_fields was underspecified, 66 which lead to inconsistencies between back-ends. Improved documentation 67 to give a more precise definition and updated all back-ends to conform 68 to it. Most importantly, pci_dev->known_fields shows all fields requested 69 over the lifetime of the pci_dev, but never those which are not supported 70 by the back-end. 71 72 * As usually, updated pci.ids to the current snapshot of the database. 73 742020-01-25 Martin Mares <[email protected]> 75 76 * Released as 3.6.4. 77 78 * A new back-end for the GNU Hurd was contributed by Joan Lledó. 79 80 * When printing VPD item identifiers, non-ASCII characters are escaped. 81 822020-01-22 Martin Mares <[email protected]> 83 84 * Released as 3.6.3. 85 86 * `lspci -t' (tree mode) can be combined with `-s' to show a sub-tree. 87 We also fixed potential buffer overflows in the tree dumper. 88 89 * Cleaned messy code for dumping of I/O, memory, and ROM regions. 90 This helped fixing a bug, which caused some 64-bit regions to be 91 reported as virtual. All flags are now printed after the address 92 (previously, "[virtual]" and "[enhanced]" were before it for no good 93 reason). 94 95 * Added pci_find_cap_nr() to the library, which handles capabilities 96 which occur multiple times in a single device. 97 98 * Minor improvements in printing of PCIe capabilities. 99 100 * We now decode the Multicast and Secondary PCI Express extended 101 capabilities. 102 103 * The list of capability names available to setpci was updated. 104 105 * Minor bugs were fixed in FreeBSD and Solaris ports. 106 107 * We now prefer HTTPS URLs in all documentation 108 109 * The pci.ids file has a man page. 110 111 * As usually, updated pci.ids to the current snapshot of the database. 112 1132018-08-12 Martin Mares <[email protected]> 114 115 * Released as 3.6.2. 116 117 * Added "-P" and "-PP" switches to lspci, which display the path 118 through bridges to each device. 119 120 * Fixed a couple of bugs in computation of bus topology. It was 121 previously used only for the tree display, but we re-use it for 122 computing the paths. 123 124 * As usually, updated pci.ids to the current snapshot of the database. 125 1262018-07-12 Martin Mares <[email protected]> 127 128 * Released as 3.6.1. 129 130 * Fixed compilation issues on Linux systems with MUSL libc. 131 1322018-06-30 Martin Mares <[email protected]> 133 134 * Released as 3.6.0. 135 136 * BARs reported by the OS, but not set on the device itself are 137 reliably marked with "[virtual]". 138 139 * Library: Introduced a generic mechanism of string properties. This 140 avoids lots of special cases and makes ABI compatibility easier. 141 142 * On Linux systems with OpenFirmware, report corresponding device tree nodes 143 as device properties. 144 145 * VPD decoder knows several non-standard extensions. 146 147 * When PCIe link speed is less than the maximum supported by the 148 device, it is explicitly marked as "downgraded". 149 150 * Several new capabilities are not decoded yet, but at least their 151 names are printed. 152 153 * The Null capability is easily decoded. 154 155 * Formatting of several capabilities was cleaned up. 156 157 * The VGA16 bit in the bridge control register is now supported. 158 159 * Added a port to SylixOS. Thanks to YuJian Gong for contribution. 160 161 * Added a port to DOS/DJGPP. Thanks to Rudolf Marek for contribution. 162 163 * The order in which back-ends are probed was decoupled from the 164 internal back-end IDs. This helps, because new back-ends must have 165 their ID allocated at the end to keep the ABI, but they might need 166 to be probed earlier. 167 168 * The fbsd-device back-end should work again. 169 170 * Fixed a couple of bugs. Most notably, DeviceName was not printed. 171 172 * As usually, updated pci.ids to the current snapshot of the database. 173 1742017-11-17 Martin Mares <[email protected]> 175 176 * Released as 3.5.6. 177 178 * Improvements of the FreeBSD back-end: read-only access for non-root, 179 support DragonFly BSD, support extended config space. 180 181 * MN VPD keyword is decoded correctly. 182 183 * As usually, updated pci.ids to the current snapshot of the database. 184 1852017-07-05 Martin Mares <[email protected]> 186 187 * Released as 3.5.5. 188 189 * Better decoding of AER capability. 190 191 * "Slot Implemented" flag is decoded for PCI/PCI-X to PCIe bridges. 192 193 * Minor fixes of decoding other capabilities. 194 195 * As usually, updated pci.ids to the current snapshot of the database. 196 1972017-02-25 Martin Mares <[email protected]> 198 199 * Released as 3.5.4. 200 201 * Previous version broke compilation on systems, for which lib/types.h 202 did not provide a 64-bit integer type. It is provided everywhere now. 203 2042017-02-15 Martin Mares <[email protected]> 205 206 * Released as 3.5.3. 207 208 * When lspci looks for Linux kernel modules, it uses the default 209 path to module directory provided by libkmod. Previously, 210 it tried to construct the path explicitly, which need not 211 work on all systems. 212 213 * Improved formatting of memory and I/O ranges behind a bridge. 214 215 * PCIe link capabilities now display GEN4 speed (16GT/s). 216 217 * PCIe device capabilities now show bits related to atomic operations. 218 Thanks to Satanand Burla for a patch. 219 220 * As usually, updated pci.ids to the current snapshot of the database. 221 2222016-10-03 Martin Mares <[email protected]> 223 224 * Released as 3.5.2. 225 226 * The L1 power management capability is now decoded more 227 thoroughly. Thanks to Rajat Jain for the patch. 228 229 * The table of configuration registers used by setpci 230 had a bug in the definition of SUBSYSTEM_VENDOR_ID. 231 2322016-05-22 Martin Mares <[email protected]> 233 234 * Released as 3.5.1. 235 236 * Fixed symbol versioning of pci_init(). 237 2382016-05-19 Martin Mares <[email protected]> 239 240 * Released as 3.5.0. 241 242 * New capabilities decoded: Downstream Port Containment, 243 Precision Time Measurement. Thanks to Keith Busch and 244 Jonathan Yong. 245 246 * Domain numbers extended to 31 bits. This will be used by the 247 Linux kernel on some machines in near future. 248 249 * Enhanced allocation regions are now decoded on Linux. 250 251 * The NetBSD back-end supports PCIe extended configuration space. 252 253 * Updated pci.ids to the current snapshot of the database. 254 2552016-01-03 Martin Mares <[email protected]> 256 257 * Released as 3.4.1. 258 259 * New capabilities decoded: Process Address Space, Page Request 260 Interface, Enhanced Allocation. Thanks to David Daney and 261 David Woodhouse. 262 263 * DevCap SlotPowerLimit is now decoded for all components with 264 upstream ports. 265 266 * Database mirror at SourceForge moved to GitHub. 267 268 * Updated pci.ids to the current snapshot of the database. 269 2702015-09-14 Martin Mares <[email protected]> 271 272 * Released as 3.4.0. 273 274 * On Linux, we report NUMA nodes of devices. 275 276 * The sysfs back-end does not die on read errors 277 of optional attributes. Instead, a warning is produced. 278 279 * Fixed several minor bugs. 280 281 * Updated pci.ids to the current snapshot of the database. 282 2832015-04-09 Martin Mares <[email protected]> 284 285 * Released as 3.3.1. 286 287 * Removed hacks for backward compatibility with Linux libc5, 288 which were breaking newer non-glibc Linux systems. Thanks 289 to Felix Janda. 290 291 * Display VirtIO vendor-specific capability. Patch by Gerd 292 Hoffmann. 293 294 * Fixed memory leak in name cache. 295 296 * Updated pci.ids to the current snapshot of the database. 297 2982014-11-10 Martin Mares <[email protected]> 299 300 * Released as 3.3.0. 301 (celebrating a one-year anniversary of the previous version :)) 302 303 * Device names exported by BIOS are displayed on Linux. 304 305 * On Linux systems, HWDB is used to look up device names 306 when our ID database gives no match. (More precisely, 307 HWDB is consulted after local pci.ids, but before using 308 network to query online pci.ids.) Thanks to Tom Gundersen 309 for the initial patch. 310 311 * Added experimental back-end for OS X / Darwin. Thanks to 312 Richard Yao for providing it. 313 314 * Filters now support matching by device class. Original 315 patch by Matthew Wilcox, wrappers for ABI compatibility 316 by me. 317 318 * Interrupt Pin and Interrupt Line registers are displayed 319 for bridge devices, too. 320 321 * Several portability bugs have been fixed. 322 323 * Several typos have been fixed. Also, use of questionable 324 constructs in man pages has been reduced. 325 326 * PCIe link capabilities now include the ASPMOptComp bit. 327 328 * The "CRS Software Visibility" bit is now decoded properly. 329 330 * Updated pci.ids to the current snapshot of the database. 331 3322013-11-10 Martin Mares <[email protected]> 333 334 * Released as 3.2.1. 335 336 * CardBus bridge capabilities are displayed. 337 338 * PCIe L1 PM substates are decoded. 339 340 * Various bugs were fixed in decoding of PCIe capabilities. 341 342 * The sysfs back-end does not spit out unnecessary warnings when 343 empty slots report only a partial device address. This actually 344 happens on IBM pSeries. 345 346 * Updated pci.ids to the today's snapshot of the database. 347 3482013-04-19 Martin Mares <[email protected]> 349 350 * Released as 3.2.0. 351 352 * On newer Linux systems, we use libkmod to look up kernel modules 353 (modules.pcimap no longer exists). To facilitate this, libpci 354 is able to look up module aliases in sysfs. 355 356 * Various minor bug fixes. 357 358 * Updated pci.ids to the today's snapshot of the database. 359 3602012-06-25 Martin Mares <[email protected]> 361 362 * Released as 3.1.10. 363 364 * Decoding of LTR/OBFF in PCIe capabilities. 365 366 * Various minor bug fixes. 367 368 * Updated pci.ids to the today's snapshot of the database. 369 3702012-01-14 Martin Mares <[email protected]> 371 372 * Released as 3.1.9. 373 374 * Updated README. 375 376 * Wherever we mention the PCI ID database, we now refer to 377 http://pci-ids.ucw.cz/ and the sf.net site is mentioned only 378 as a mirror. This includes update-pciids. 379 380 * Decode PCIe Gen 3 speeds and link status fields. 381 382 * Various minor bug fixes. 383 384 * Updated pci.ids to the today's snapshot of the database. 385 3862011-10-02 Martin Mares <[email protected]> 387 388 * Released as 3.1.8. 389 390 * More capabilities: Transaction Processing Hints, Latency Tolerance 391 Reporting. Thanks to Jesse Barnes. 392 393 * Added BeOS and Haiku ports. Contributed by Francois Revol. 394 395 * pciutils.pc now uses Libs.private properly. 396 397 * When we format a name and it does not fit in the buffer, we truncate 398 it instead of returning "buffer too small" instead. This works on all 399 platforms with sane (i.e., C99-compatible) snprintf(). 400 401 * Various minor bug fixes. 402 403 * Updated pci.ids to the today's snapshot of the database. 404 4052010-01-31 Martin Mares <[email protected]> 406 407 * Released as 3.1.7. 408 409 * Minor improvements and bug fixes in decoding of the Virtual Channel 410 capability. 411 4122010-01-24 Martin Mares <[email protected]> 413 414 * Released as 3.1.6. 415 416 * More capabilities decoded: Virtual Channel (except arbitration 417 tables), Root Complex Link, Vendor-Specific (header only), SATA HBA. 418 419 * All extended capabilities have their version displayed (-vv or more). 420 4212010-01-19 Martin Mares <[email protected]> 422 423 * Released as 3.1.5. 424 425 * Updated pci.ids to the today's snapshot of the database. 426 427 * When scanning extended capabilities, properly mask the lowest 2 bits, 428 which are currently reserved. This avoids unaligned access errors on 429 broken hardware (see tests/broken-ecaps). 430 431 * Large bar sizes are displayed in human-readable format (with units). 432 Thanks to Matthew Wilcox. 433 434 * Physical slot information is displayed correctly for multi-function cards. 435 Fixed by Matthew Wilcox. 436 437 * Fixed a couple of typos everywhere. 438 439 * Library: Fixed bugs in freeing of capabilities. 440 441 * Windows back-end compiles again. 442 4432009-08-14 Martin Mares <[email protected]> 444 445 * Released as 3.1.4. 446 (sorry that I have missed 22/7 and released it later :-)) 447 448 * Updated pci.ids to the today's snapshot of the database. 449 450 * Fixed memory and file descriptor leak in the dump back-end. 451 452 * The SR-IOV capability decoder now prints the VF BAR's. 453 Patch by Chris Wright, cleaned up by me. 454 455 * On request of certain company's lawyers, we now include a copy 456 of the GPL with our package. It seems that the pciutils are getting 457 mature if the most important bug of the month was this one ;-) 458 4592009-07-04 Martin Mares <[email protected]> 460 461 * Released as 3.1.3. 462 463 * Updated pci.ids to the current snapshot of the database. 464 465 * The VPD parser now reports unknown and vendor-defined items 466 properly. It also stops on any item in unknown format, avoiding long 467 output on bogus VPD data. Thanks to Ben Hutchings and Matthew Wilcox. 468 469 * The MSI-X table size now matches the spec. Thanks to Michael S. 470 Tsirkin. 471 472 * The Power Management capability now includes the soft reset bit. 473 Thanks to Yu Zhao. 474 475 * Decoding of the Advanced Features capability has been added. 476 Thanks to Yu Zhao. 477 478 * The whole package compiles on GNU/kFreeBSD again. 479 480 The following patches have been contributed by Matthew Wilcox: 481 482 * The procfs back-end is able to cope with /proc/bus/pci 483 containing names with domains, which occur on sparc64 and 484 possibly other architectures due to a kernel bug. 485 486 * The sysfs back-end no longer complains when a slot address 487 is missing, which happens with old versions of Linux fakephp. 488 489 * The Device Serial Number capability is printed in the right 490 byte order. 491 492 * The MSI and MSI-X capabilities are printed in a prettier way. 493 494 * The tree output mode (`lspci -t') shows domain numbers only 495 at the root, which makes the output more compact. 496 497 * Updated documentation on the bus mapping mode (`lspci -M'). 498 4992009-02-01 Martin Mares <[email protected]> 500 501 * Released as 3.1.2. 502 503 * Fixed another silly bug in the command-line parser of setpci. 504 5052009-01-30 Martin Mares <[email protected]> 506 507 * Released as 3.1.1. 508 509 * Updated pci.ids to the current snapshot of the database. 510 511 * The configure script now sets LC_ALL to avoid being fooled by 512 locale-dependent behavior of `tr'. 513 514 * The command-line parser of setpci did sometimes segfault on invalid 515 input. Thanks to Andreas Wiese for a fix. 516 5172009-01-18 Martin Mares <[email protected]> 518 519 * Released as 3.1.0. 520 521 * Updated pci.ids to the current snapshot of the database. 522 523 * The Cygwin backend now works on Windows Vista. Thanks to Jonathan 524 Kotta. 525 526 * Fixed a bug in decoding of the SR-IOV capability. Patch by Yu Zhao. 527 528 * Details of some PCIe capabilities are displayed only with -vv. 529 530 * When a BAR is reported by the OS, but not by the device (i.e., 531 it is marked as [virtual] in lspci), the [disabled] flag is 532 suppressed, because it does not make sense in such cases. 533 Patch by Yu Zhao. 534 5352008-12-13 Martin Mares <[email protected]> 536 537 * The source code of lspci has been split to multiple files, hopefully 538 making it easier to maintain. 539 540 * The library and lspci now know about physical slot names. So far, 541 they are provided by the sysfs back-end only. Thanks go to Alex Chiang. 542 543 * When a device has the VPD (Vital Product Data) capability and the 544 VPD data are supplied by the OS, they are decoded and printed in the 545 verbose mode. This currently works only on Linux with the sysfs 546 back-end. Thanks to Ben Hutchings of Solarflare for the patch. 547 548 * `setpci --version' now works properly. 549 550 * `setpci --dumpregs' prints a table of all known names of 551 registers and capabilities. This replaces the table of registers 552 in the setpci man page. 553 554 * The dry-run mode of setpci gives better feedback. 555 556 * The setpci utility is now able to address registers stored in PCI 557 capabilities (actually it allows a more general form of relative 558 addressing). 559 560 * The library has gained functions for working with PCI capabilities. 561 562 * Address Translation Services capability is now decoded. Patch by 563 Yu Zhao. 564 5652008-11-09 Martin Mares <[email protected]> 566 567 * Released as 3.0.3. 568 569 * `lspci -k' now displays the subsystem ID, too. This makes `-k' 570 show everything needed to identify the device and the available 571 drivers, which was called for by many users. 572 573 * Fixed spelling of MSI. Patch by Matthew Wilcox. 574 575 * Better support for cross-compilation. Thanks to Alon Bar-Lev 576 for the patch. 577 578 * Fixed printing of the AER capability. Patch by Max Asbock. 579 580 * HT 1.02 capabilities are decoded as HT 1.03. Suggested by 581 Carl-Daniel Hailfinger. 582 583 * Fixed Cygwin build. Thanks to Steve Elliott for reporting the bug. 584 585 * Updated pci.ids to the current snapshot of the database. 586 5872008-09-19 Martin Mares <[email protected]> 588 589 * Released as 3.0.2. 590 591 * Fixed a minor bug in the configure script, which caused warnings 592 about redefinition of symbols during compilation. 593 5942008-09-11 Martin Mares <[email protected]> 595 596 * Released as 3.0.1. 597 598 * Updated pci.ids to the most recent snapshot. 599 600 * Added a Cygwin port. Patch by Christopher Voltz, ported to the 601 current tree by Martin Mares. 602 603 * Worked around compatibility problems with various default settings 604 of wget (we have to set --no-timestamping explicitly). Thanks to Ville 605 Skytta for pointing that out. 606 607 * Fixed printing of MSI capabilities. Thanks to Matthew Wilcox for 608 a patch. 609 610 * Added decoding of several PCI-X capabilities: device/link/slot 2, 611 Advanced Error Reporting, Access Control Services, Alternative Routing-ID, 612 Single Root I/O Virtualization. Thanks to Yu Zhao for patches. 613 614 * Fixed bug in filters which caused them to refuse vendor/device ID 0xffff. 615 616 * README: The linux-pci mailing list has moved to [email protected]. 617 618 * Fixed several build problems: builds without PCI_USE_DNS on Linux 619 and with PCI_USE_DNS on Solaris and *BSD. Static library mode also 620 compiles again on old versions of GCC. 621 6222008-04-10 Martin Mares <[email protected]> 623 624 * Released as 3.0.0. 625 626 * Updated API and ABI version. 627 6282008-02-20 Martin Mares <[email protected]> 629 630 * Released as 2.99.1-alpha2. 631 632 * Changed the default domain for the DNS resolver. 633 6342008-02-18 Martin Mares <[email protected]> 635 636 * Released as 2.99.1-alpha1. 637 638 * The makefile system has been reworked. All configuration settings 639 are now passed to the configure script in environment variables, 640 allowing for easy tweaking in the top-level Makefile. All control 641 knobs are now described in the README. 642 643 * The libpci can be built as a shared library with properly restricted 644 symbol exports. Use `make SHARED=yes' to enable that or `make SHARED=local' 645 for a local testing build (with hardwired paths to the library, so that 646 it does not need installation). 647 648 * The example program has been moved from lib/example.c to the top-level 649 directory, because it should be built exactly as the other utilities 650 are. It has been also improved slightly to educate better. 651 652 * The i386-ports method is enabled on Linux/x86_64 as well. 653 6542008-02-13 Martin Mares <[email protected]> 655 656 * Released as 2.2.10-net2. 657 658 * Support for resolving of PCI ID's using DNS together with a local 659 cache of resolved entries has been added. See the `-q' and `-Q' options 660 of lspci. 661 662 * The library now has a generic system of settable parameters, which 663 also include settings of the DNS resolver and cache. An `-O' option 664 has been added to lspci and setpci to allow setting of these options. 665 666 * Configuration of the access methods are now specified by the new 667 parameter system, replacing the pci_access->method_params array. 668 669 * Access methods now also have sensible names and help texts and it 670 is possible to look up method ID by a name. 671 672 * An `-A' switch has been added to both lspci and setpci, allowing to 673 select an arbitrary access method. The `-P' switch (configure proc 674 backend) has been removed as it is no longer needed and I do not know 675 any its user. 676 677 * Several source files have been split for better maintainability 678 (most notably the resolving of ID's). 679 680 * Man pages and help texts have been updated. A new man page `pcilib(7)' 681 has been added and description of library options has been moved there. 682 683 * When an unknown device ID is encountered, we print `Device <id>' 684 instead of `Unknown device <id>'. It uses less space and it also 685 should reduce the number of inexperienced users complaining that 686 the device is not supported by the OS. To lookup up OS drivers, 687 use the `-k' option. 688 689 * PCI_LIB_VERSION has been bumped to 0x020299. 690 691 * Makefile: stripping of the binaries during installation can be 692 overridden by the STRIP variable. 693 694 * lib/types.h: We use the integer types from <stdint.h> if the 695 compiler claims C99 support. 696 6972008-02-11 Martin Mares <[email protected]> 698 699 * Released as 2.2.10. 700 701 * lspci.c, setpci.c: Cleaned up the list of options. 702 703 * lib/names.c: Fix displaying of errors reported by zlib. 704 Previously, the buffer containing the error message had 705 been deallocated by gzclose() before the message was printed. 706 7072008-01-07 Martin Mares <[email protected]> 708 709 * update-pciids.sh: Added quiet mode (-q). Clean up uncompressed 710 files left by previous versions of the pciutils. Patch by Mike 711 Frysinger. 712 713 * update-pciids.man: Mention the -q switch. 714 7152007-11-29 Martin Mares <[email protected]> 716 717 * lib/dump.c: Squashed compiler warnings about code with 718 no effect (there really were surplus *'s). 719 7202007-11-06 Martin Mares <[email protected]> 721 722 * Released as 2.2.9. 723 724 * lspci.c: Added a new switch `-k' which requests printing 725 of information on kernel drivers attached to each device 726 and on kernel modules reporting the ability to handle the 727 device. So far, this is supported only on Linux with the 728 sysfs back-end, so it is implemented internally in the lspci 729 instead of the libpci. Thanks to Anicka <[email protected]> 730 for help. 731 7322007-10-19 Martin Mares <[email protected]> 733 734 * Makefile, lib/Makefile: Moved -lz from LDFLAGS to LDLIBS. 735 Also added an explicit pattern rule for linking to make sure 736 that LDLIBS is used on all platforms. Thanks to Dan Nicholson 737 for the suggestion. 738 7392007-10-19 Martin Mares <[email protected]> 740 741 * Released as 2.2.8. 742 743 * pci.ids: Revised class codes to match Conventional PCI 3.0 specs. 744 Added a couple of new ones, renumbered `ADMA continuous operation' 745 prog-if to 0x30 (even the old SATA Class Code ECN doesn't mention 746 0x40) and renumbered the satellite communication controllers. 747 748 * lib/header.h: Include `PCI hot-plug' and `Secure device' 749 capabilities from PCI 3.0 specs. Also added `SATA HBA' and 750 `Advanced features' caps from various ECN's. 751 752 * lspci.c: All known capabilities have at least their name displayed 753 now. When we are unable to decode them completely, we signalize it 754 with a `<?>' mark. 755 756 * lspci.man: Document `<?>' and also mention that extended config 757 space is currently available only with the linux_sysfs back-end. 758 759 * lspci.c: Decode the Debug port capability (per EHCI 0.96 spec). 760 761 * lspci.c: Big code cleanup: re-arranged functions in the code, 762 renamed everything related to capabilities to cap_* and 763 all options except verbose to opt_*. 764 7652007-10-14 Martin Mares <[email protected]> 766 767 * lib/[fno]bsd-*: Removed extraneous braces. 768 7692007-10-12 Martin Mares <[email protected]> 770 771 * Capability loop detection introduced 2.2.7 did not work 772 properly with extended capabilities. Fixed. 773 7742007-10-05 Martin Mares <[email protected]> 775 776 * Released as 2.2.7. 777 778 * lspci.c (show_caps, show_ext_caps): Detect and report loops in 779 capability lists. 780 781 * lspci.c, lib/header.h: Finished decoding of the PCI Express 782 capability. The extended capabilities remain undecoded for now, 783 but at least the list of them has been updated to reflect the 784 current PCI Express 2.0 spec. 785 786 * lspci.c, lib/header.h: Decode new bits of traditional registers 787 as defined by PCIE / PCI-X. This includes discard timers in the bridge 788 control register and INTx enable/status in device control/status 789 registers. 790 791 * lib/fbsd-device.c: Support domains on new FreeBSD's. Contributed 792 by Marius Strobl. 793 7942007-09-12 Hasso Tepper <[email protected]> 795 796 * Extended the fbsd-device backend to run on Dragonfly BSD. 797 798 * lspci.c: alloca() is declared in <stdlib.h> on BSD's, not <alloca.h>. 799 8002007-09-03 Martin Mares <[email protected]> 801 802 * Resurrected the Windows port, including cross-compilation by MinGW. 803 Patch by Samuel Bronson <[email protected]>. 804 8052007-08-31 Martin Mares <[email protected]> 806 807 * Makefile, lib/Makefile: `ar' and `ranlib' can be overridden to allow 808 cross-compilation. 809 8102007-08-27 Martin Mares <[email protected]> 811 812 * lib/names.c (pci_open): When calling gzopen(), use "rb" file mode 813 instead of "r". This is needed on DOS systems, where this function 814 somewhat illogically uses the binary flag for the compressed file 815 instead of the decompressed stream inside, where binariness really 816 matters. 817 8182007-08-14 Martin Mares <[email protected]> 819 820 * lspci.c (show_ht): Added decoding of Hypertransport MSI mapping capability, 821 based on a patch by Jason Gunthorpe. 822 823 * tests/cap-MSI-mapping: Added a test case. I plan to add test cases 824 (which are dumps of config space) for all new features. 825 8262007-06-20 Martin Mares <[email protected]> 827 828 * Released as 2.2.6. 829 830 * Makefile: Added an "install-lib" target. Thanks to Dan Nicholson 831 for a patch. 832 833 * Makefile, lib/Makefile: Generate and install pkg-config file 834 for libpci. Again by Dan Nicholson. 835 8362007-06-20 Thomas Schwinge <[email protected]> 837 838 * lib/i386-io-hurd.h: Rewritten for new Hurd kernels. 839 8402007-05-04 Martin Mares <[email protected]> 841 842 * Released as 2.2.5. 843 844 * pci.ids: Updated to the current snapshot of the database. 845 8462007-02-14 Martin Mares <[email protected]> 847 848 * lspci.c (show_express): Added PCI/PCI-X to PCI-Express Bridge type. 849 Patch by Mark Glines. 850 8512007-02-09 Martin Mares <[email protected]> 852 853 * pci.ids: Updated to the current snapshot of the database. 854 8552007-02-06 Martin Mares <[email protected]> 856 857 * Replaced bzero() by memset() everywhere, it's better to lose a tiny 858 bit of readability than maintain hacks to make it work on various systems. 859 860 * lib/configure: tr on Solaris is a bit weird and it requires `[A-Z]' 861 instead of `A-Z'. Fortunately, the extra brackets don't hurt otherwise. 862 863 * lib/types.h, lib/configure: Solaris should use <stdint.h> to get precise 864 integer types. 865 8662007-02-04 Martin Mares <[email protected]> 867 868 * lspci.c: alloca() needs <alloca.h>. 869 8702006-09-17 Martin Mares <[email protected]> 871 872 * lib/dump.c: Fixed a couple of bugs in the dump backend which caused 873 devices with domains or with extended config space to be read incorrectly. 874 Also, dumps with partial lines are allowed now. 875 8762006-09-10 Martin Mares <[email protected]> 877 878 * pci.ids: Updated to the current database snapshot. 879 880 * lspci.c (scan_device): If an error occurs when reading the standard config 881 header of a device, report it and ignore the device and return with exit 882 code 2 at the end. 883 8842006-09-09 Martin Mares <[email protected]> 885 886 * Released as 2.2.4. 887 888 * maint/release: Remind the maintainer about the current PCI_LIB_VERSION. 889 890 * lib/pci.h: Updated PCI_LIB_VERSION. 891 892 * lspci.c (show_machine): In the `-m' mode, do proper shell escaping 893 if the fields printed contain quotes or backslashes. 894 895 * lspci.c (show_machine): Added a `-vmm' mode, which removes the misuse 896 of the `Device' tag for two different purposes. 897 898 * Makefile: Moved all system-dependent decisions to lib/configure, 899 since config.mk is included in the top-level Makefile anyway. 900 901 * lib/configure: When configuring for Linux, ignore the kernel version 902 and always build all access methods. 903 904 * Makefile (CFLAGS): Removed -Winline, it's not needed and triggers 905 at many non-interesting places with gcc 3.4. 906 907 * Whitespace cleanup of all source files. 908 909 * The pci.ids file can be stored compressed if zlib is available. 910 Added transparent decompression to lib/names.c, modified update-pciids.sh 911 to keep the file compressed if applicable, updated Makefiles. 912 Based on a patch by Matthew Wilcox, but all the bugs are mine. 913 914 * Makefile, README: Allow installation to be done to a different directory 915 from the one we will eventually be placed in by setting DESTDIR. 916 Patch by Matthew Wilcox. 917 918 * Added .gitignore files. 919 920 * Makefile (clean): Clean *.orig, too. 921 922 * Cleaned up usage of `char' and `byte'. 923 924 * lib/header.h: PCI_CLASS_DOCKING_OTHER should be 0x0a80, not 0x0a01. 925 926 * lib/header.h: Added PCI_CLASS_xxx constants for all classes currently 927 defined in the pci.ids file. 928 9292006-08-01 Martin Mares <[email protected]> 930 931 * lib/i386-io-hurd.h: Fixed a silly typo. 932 9332006-07-30 Martin Mares <[email protected]> 934 935 * lib/Makefile: Added a missing rule for obsd-device.o. 936 937 * lspci.c, lib/header.h: Added support for MSI per-vector masking. 938 Contributed by Petr Vandrovec. 939 940 * lspci.c, lib/header.h: Added support for the `bridge subsystem ID' 941 capability. Contributed by Petr Vandrovec. 942 943 * lspci.c (show_htype1): Fixed bug in printing of 64-bit prefetchable 944 memory windows. Fix by Petr Vandrovec. 945 946 * maint/release.pm: Exclude .git directory from releases. 947 948 * lib/i386-ports.c, lib/i386-io-*: Report failures during port access 949 initialization by a->warn() instead of calling printf() or perror() 950 directly. 951 952 * lib/i386-ports.c, lib/i386-io-*: Moved the logic which keeps track of 953 the port access state to generic code. 954 955 * lib/i386-io-hurd.h: Ask the kernel for I/O port access appropriately. 956 Contributed by Thomas Schwinge and Samuel Thibault. 957 958 * lib/i386-ports.c: Define _GNU_SOURCE, it's needed by the Hurd module. 959 960 * lib/header.h: Whitespace cleanups. 961 962 * lib/i386-io-windows.h: Fixed indentation and spelling. 963 964 * README.Windows: Mention that WinIO.dll is needed and where to get it. 965 9662006-06-27 Martin Mares <[email protected]> 967 968 * lib/Makefile, Makefile: Added rules for building and cleaning the example. 969 970 * lib/example.c: Show how to use PCI_FILL_CLASS and used another register 971 for demonstrating the config space accesses. The example is still very 972 incomplete, though. 973 974 * lib/pci.h, lib/generic.c: Added PCI_FILL_CLASS. 975 976 * lib/sysfs.c: Fetch device ID and class from sysfs, because they can 977 be modified by kernel fixups. 978 979 * lspci.c: Use PCI_FILL_CLASS. Thanks to Matthew Willcox for the patch. 980 9812006-06-03 Martin Mares <[email protected]> 982 983 * lspci.c: Introduced the -nn switch. Thanks to David N. Welton 984 for the idea. 985 986 * lib/names.c (pci_lookup_name): Introduced PCI_LOOKUP_MIXED and 987 cleaned up the name selection code. 988 989 * lib/names.c (pci_lookup_name): If PCI_LOOKUP_NO_NUMBERS is given, 990 pci_access->numeric_ids is ignored. 991 992 * lib/names.c (pci_lookup_name): When class is identified and 993 subclass isn't, display class name and subclass number. 994 9952006-05-31 Martin Mares <[email protected]> 996 997 * setpci.c (main): Don't crash when an invalid width is specified. 998 999 * lspci.c, setpci.c, common.c: die() now uses the right program 1000 name when printing an error message. 1001 10022006-05-19 Martin Mares <[email protected]> 1003 1004 * README: Mention the public GIT tree. 1005 1006 * README: Updated the list of ports. 1007 10082006-05-10 Martin Mares <[email protected]> 1009 1010 * lib/configure, lib/fbsd-device.c: Added support for GNU/kFreeBSD. 1011 Thanks to Petr Salinger for the patch. 1012 10132006-05-05 Martin Mares <[email protected]> 1014 1015 * Released as 2.2.3. 1016 1017 * lspci.c (scan_device): The -D switch didn't work as intended 1018 in -m mode. 1019 10202006-05-05 Martin Mares <[email protected]> 1021 1022 * Released as 2.2.2. 1023 1024 * pci.ids: Updated to the current database snapshot. 1025 1026 * lib/obsd-device.c (and other files in lib/*): Added OpenBSD 1027 interface by Matthieu Herrb <[email protected]>, based on 1028 the existing FreeBSD interface. 1029 1030 * Moved pciutils to a GIT repository, which now contains merged 1031 history from both CVS and Arch. Good bye, TLA! 1032 10332006-03-21 Martin Mares <[email protected]> 1034 1035 * lspci.c (show_slot_name): Avoid the previous changes in default 1036 display of domain name when in machine-readable mode. However, `-D' 1037 forces domain display even there. 1038 1039 * lspci.man: Added a warning on -m being the only format, which is 1040 guaranteed to be stable between lspci versions. 1041 10422006-03-13 Martin Mares <[email protected]> 1043 1044 * lspci.man: Documented the -D switch. 1045 1046 * lspci.c (show_slot_name, scan_device): If there are multiple PCI 1047 domains or if the `-D' switch is used, show the domain number for 1048 all devices. 1049 1050 * lspci.c (show_verbose): Report cache line size in bytes. 1051 1052 * update-pciids.sh: Use curl if available. Patch by Matthew Wilcox. 1053 10542006-01-04 Martin Mares <[email protected]> 1055 1056 * lspci.c (show_express_link): Fixed decoding of link status register. 1057 Thanks to Roland Dreier for his report. 1058 10592005-12-12 Martin Mares <[email protected]> 1060 1061 * lib/nbsd-libpci.c: If libpci is used by an ordinary user, allow 1062 at least read-only access. Patch by Pavel Celeda <[email protected]>. 1063 1064 * Makefile: Corrected library path on NetBSD. 1065 10662005-11-26 Martin Mares <[email protected]> 1067 1068 * Released as 2.2.1. 1069 1070 * lspci.c (show_machine): Subsystem vendors were printed incorrectly 1071 in machine-readable modes. Thanks to Pavel Celeda for a bug report. 1072 10732005-10-11 Martin Mares <[email protected]> 1074 1075 * lspci.c (new_bus): Fixed a memory leak. Thanks to Paul Sangree for reporting it. 1076 10772005-09-21 Martin Mares <[email protected]> 1078 1079 * Released as 2.2.0. 1080 1081 * pci.ids: Updated copyright header. 1082 1083 * lib/sysfs.c (sysfs_get_resources): Removed warning about unsupported 1084 64-bit addresses, they are now always supported. 1085 1086 * lspci.c (show_bases): Corrected printing of 64-bit addresses 1087 in bus-centric mode. 1088 1089 * lib/configure: Enable 64-bit addresses on all Linux systems. 1090 1091 * lib/types.h: Don't pad 64-bit addresses to 16 xigits, only to 8 if they 1092 are shorter. 1093 10942005-09-11 Martin Mares <[email protected]> 1095 1096 * Released as 2.1.99-test11. 1097 1098 * lspci.c: Removed unnecessary trailing zeros in pci_lookup_name() calls. 1099 11002005-09-10 Martin Mares <[email protected]> 1101 1102 * Released as 2.1.99-test10. 1103 1104 * pci.ids: Synchronized with the current database snapshot. 1105 1106 * update-pciids.sh: Changed the default URL for downloading pci.ids 1107 to http://pciids.sourceforge.net/v2.2/pci.ids. 1108 1109 * lib/pci.h (PCI_LIB_VERSION): Added version identifier. 1110 1111 * lib/names.c: Rewritten the name database module almost from scratch. 1112 Everything is much cleaner and there are hopefully no more memory leaks; 1113 pci_lookup_name() now uses varargs in a backward compatible fashion. 1114 Introduced PCI_LOOKUP_NO_NUMBERS. 1115 1116 The new code supports subsystem entries not tied to a specific device. 1117 I had to extend the format of pci.ids in order to support it, so I have 1118 extended the idea of the "C" (class) blocks and introduced "S" blocks 1119 for subsystems. To avoid doing more incompatible changes in the future, 1120 the parser skips unknown single-letter blocks without reporting errors. 1121 11222005-08-23 Martin Mares <[email protected]> 1123 1124 * Released as 2.1.99-test9. 1125 1126 * Makefile (OPT): Removed -fomit-frame-pointer, it's default in recent 1127 gcc versions when optimizing anyway. 1128 1129 * Made the path to pci.ids customizable and independent on the SHAREDIR. 1130 Just override IDSDIR in the top-level Makefile. 1131 1132 * pci.ids: Synchronized with the current database snapshot. 1133 1134 * lspci.man, setpci.man: Improved the man pages. Documented all access 1135 methods and which operations are privileged. 1136 1137 * lspci.c: Another rewrite of config register caching, now also including 1138 lots of internal checks. It should be now perfectly able to cope with 1139 portions of the configuration space being inaccessible, for example 1140 due to insufficient access rights. 1141 1142 * lspci.c (show_pcix_nobridge, show_pcix_bridge): Cleaned up dumping of PCI-X 1143 capabilities. Includes partial support for PCI-X 2.0 (probably incomplete 1144 as I haven't seen the spec). 1145 1146 * lspci.c: Quell warnings about unused parameters. 1147 1148 * lspci.c: Removed C++ comments. 1149 1150 * lib/header.h: Merged definitions of extended capabilities and some new 1151 PCI-X capability bits from linux-2.6.11/include/pci.h. 1152 1153 * lspci.c (show_caps): Try to scan extended capabilities only if the 1154 device has either PCI-X or PCI Express capability in its normal capability 1155 list. 1156 1157 * lib/dump.c (dump_init): Reading of dumps works again. The dump reader 1158 now also remembers how much data it has read and refuses attempts to 1159 access more than that. 1160 1161 * setpci.man, lspci.c, README: prefer spelling "buses" over "busses". 1162 1163 * lspci.c: If alloca() is not available, use xmalloc(), not malloc(). 1164 1165 * lib/configure: Added x86_64 on Linux. 1166 11672005-08-22 Martin Mares <[email protected]> 1168 1169 * lib/filter.c (pci_filter_parse_slot): Fixed parsing of domain filters. 1170 Thanks to Matthew Wilcox for bug report. 1171 1172 * lspci.c: Corrected spelling of "Hz" (it was "hz" at several places). 1173 Thanks to Krzysztof Oledzki for pointing that out. 1174 11752004-08-19 Martin Mares <[email protected]> 1176 1177 * pciutils.spec (%attr): Setting attributes for /sbin/* is an anachronism, 1178 because pciutils by default install to /usr/sbin. Update. 1179 11802004-08-13 Martin Mares <[email protected]> 1181 1182 * Released as 2.1.99-test8. 1183 1184 * lib/types.h, lib/pci.h, lib/sysdep.h: `byte' and `word' are 1185 no longer exported to the outside world. 1186 1187 * README.Windows: Updated. 1188 1189 * maint/release: Substitute version number in win32/config.h. 1190 1191 * win32/config.h: Added. 1192 1193 * lib/sysdep.h (bzero, strcasecmp): are macros on Windows. 1194 1195 * compat/getopt.[ch]: Added copies of getopt.[ch] from the GNU 1196 C library for use on systems where the default libraries lack 1197 proper getopt. Currently used by the Windows port. 1198 1199 * lib/sysdep.h, lib/types.h: Updates of the Windows port from 1200 Alexander Stock. 1201 1202 * lib/types.h: If PCI_HAVE_Uxx_TYPES is defined, libpci doesn't define 1203 its own u8, u16, u32, byte and word types and uses what the user 1204 has supplied instead. With this change, all namespace clashes should 1205 be gone. 1206 1207 * Makefile, lib/Makefile: Updated dependencies. 1208 1209 * pciutils.h: Include lib/sysdep.h and move NONRET et al. there. 1210 1211 * lib/sysdep.h: No need to include <sys/types.h> on FreeBSD, because 1212 it is included unconditionally in lib/types.h. 1213 1214 * Moved system-dependent stuff from lib/internal.h to lib/sysdep.h, 1215 which is also used by the utilities. Also moved type declarations 1216 from lib/pci.h to lib/types.h. 1217 1218 * All files: Prepend a "PCI_" prefix in front of all configuration 1219 defines to avoid namespace clashes. CAVEAT: If there is any libpci 1220 application using the (undocumented) defines, it has to be updated. 1221 1222 * lib/Makefile: Killed HAVE_OWN_HEADER_H, since we stopped sharing 1223 headers with the kernel a couple of years ago. 1224 1225 * lib/sysfs.c (sysfs_get_resources): We have 7 resources, not 6. 1226 1227 * lspci.c (show_rom): Use the same logic for printing disabled 1228 or unassigned ROM's as we do in show_bases() for the other BAR's. 1229 1230 * lib/generic.c (pci_generic_fill_info): Better reaction to 1231 invalid 64-bit addresses. Also d->hdrtype should not include 1232 bit 7, which caused mysterious errors on multi-function devices. 1233 1234 * lib/generic.c (pci_generic_fill_info): Fill in base addresses 1235 even if the regions are known to be disabled. It is the client's 1236 job to interpret them. (And it is not a trivial job if you want 1237 to do it correctly, since you need to check I/O and memory enables 1238 on all upstream bridges, too.) However, it could be interesting to 1239 introduce functions for interpreting the addresses and even for 1240 mapping the regions and doing I/O on them. 1241 12422004-07-30 Martin Mares <[email protected]> 1243 1244 * lspci.c: HyperTransport improvements from Maciej. 1245 12462004-07-11 Martin Mares <[email protected]> 1247 1248 * lib/sysfs.c (sysfs_get_resources): Arguments now correspond 1249 to the format string. [Patch by Bill Nottingham] 1250 12512004-07-05 Martin Mares <[email protected]> 1252 1253 * Released as 2.1.99-test7. 1254 1255 * lspci.c (config_fetch): Wanted to merge Matthew's bug fix, but 1256 ended up with rewriting the fetching mechanism to be fully dynamic, 1257 but avoid reading config space registers not explicitly requested. 1258 12592004-06-29 Matthew Wilcox <[email protected]> 1260 1261 * lspci.c: More work on PCI Express dumping. 1262 1263 * lib/header.h: Updated PCI Express capability definitions. 1264 1265 * lib/proc.c (proc_read): Removed bogus warning. 1266 1267 * common.c (xrealloc): Introduced. 1268 1269 * lspci.man: Added -xxxx. 1270 12712004-06-27 Martin Mares <[email protected]> 1272 1273 * Released as 2.1.99-test6. 1274 1275 * lspci.c (show_msix), lib/header.h: Added dumping of MSI-X cap. 1276 Patch by Roland Dreier <[email protected]>, cleaned up by me. 1277 1278 * lspci.c (show_pcix_nobridge, show_pcix_bridge): Handle config_fetch() 1279 failures. 1280 1281 * lib/header.h: Added PCI Express extended capabilities. Again by Matthew. 1282 1283 * lspci.c (show_express): Added dumping of PCI Express cap. 1284 Patch by Matthew Wilcox. 1285 1286 * lib/header.h: Added a list of PCI 3.0 capabilities and also details 1287 on PCI Express caps. Patch by Matthew Wilcox <[email protected]>. 1288 1289 * lspci.c (check_root): Gone. No explicit checks for root are needed, 1290 report correct errors reported by the libpci instead. 1291 1292 * lspci.c: Added dumping of the extended config space on "-xxxx". 1293 Better caching of config registers. 1294 1295 * setpci.c (main): Allow access to whole 4096 bytes of the config space. 1296 1297 * lib/sysfs.c, lib/proc.c: Don't print error messages on short reads, 1298 just return the appropriate error code. 1299 1300 * lib: Added support for extended (4096-byte) configuration space, 1301 currently implemented only in Linux proc and sysfs access methods 1302 and of course in the dump reader. 1303 13042004-05-29 Martin Mares <[email protected]> 1305 1306 * Released as 2.1.99-test5. 1307 1308 * lib/pci.h: Windows don't have the standard u_int* types. 1309 1310 * lib/internal.h: <sys/param.h> required on Windows for endianity 1311 macros. 1312 1313 * lib/i386-ports.c: Connected i386-io-windows.h. 1314 1315 * lspci.c (check_root): geteuid() is not available on Windows. 1316 1317 * lib/i386-io-windows.h: Added Windows port contributed by Alexander 1318 Stock <[email protected]>. 1319 1320 * lib/configure: Hopefully fixed SunOS port broken by various 1321 changes to the configure script. 1322 1323 * Makefile, lib/configure: Cross-compilation support, patch by Maciej. 1324 13252004-05-28 Martin Mares <[email protected]> 1326 1327 * Released as 2.1.99-test4. 1328 1329 * lspci.c (show_verbose): Header type 1 is probably legal for all 1330 types of bridges, not only for PCI-to-PCI bridges. 1331 1332 * lspci.c (format_agp_rate): Write "x16", not "x@". 1333 (show_agp): rate[] could overflow. 1334 Bugs reported by Jakub Bogusz <[email protected]>. 1335 1336 * lspci.c (show_ht_*): Show HyperTransport capability with all its 1337 details. Once again code by Maciej simplified (i.e., possibly broken) 1338 by me. 1339 1340 * lib/header.h: Added declarations of HyperTransport capability. 1341 Again thanks to Maciej. 1342 1343 * lspci.c: Decode all bits of the secondary status word in type 1 headers. 1344 Thanks to Maciej W. Rozycki <[email protected]> for the patch. 1345 13462003-12-27 Martin Mares <[email protected]> 1347 1348 * Released as 2.1.99-test3. 1349 1350 * lspci.man, setpci.man: Document domains and correct spelling. 1351 1352 * lib/dump.c (dump_init): Added ability to read domain numbers. 1353 1354 * lspci.c: Devices in domains different from 0 have their slot number 1355 printed as "<domain>:<bus>:<slot>.<func>". Tree view supports domains 1356 as well. 1357 1358 * lib/filter.c: Slot filters understand domains. 1359 1360 * lib/generic.c: Mention the domain in slot numbers in all error messages. 1361 1362 * lib/internal.h: The #ifdef for Linux <asm/byteorder.h> was wrong. 1363 1364 * lib/access.c (pci_get_dev): Added support for domains. 1365 1366 * lib/sysfs.c (sysfs_scan): Read vendor and device ID from the config 1367 registers (or to be precise, leave it for the generic parts of the pcilib 1368 to do so) instead of reading them from the sysfs. It's faster this way. 1369 1370 * lspci.c (show_pcix): Don't touch pci_dev->hdrtype, it's an internal 1371 variable. Better read it from the config registers (it's cached anyway). 1372 1373 * lib/sysfs.c (sysfs_scan), lib/proc.c (proc_scan): Don't read the hdrtype. 1374 lib/generic.c (pci_generic_fill_info): If hdrtype is -1 (unset), read it. 1375 Saves lots of unnecessary file accesses. 1376 1377 * lib/pci.h (PCIADDR_PORT_FMT): Use %llx instead of %Lx, because the latter 1378 is not supported by all C libraries. 1379 1380 * Makefile: Always enter the lib directory (remember that we don't have 1381 full dependencies for the library in the top-level Makefile; hmmm, another 1382 thing to rewrite some day). 1383 1384 * lib/sysfs.c: Added Linux sysfs access method based on the patch 1385 written by Matthew Wilcox <[email protected]>. 1386 1387 * lib/proc.c: Renamed the access method name from "/proc/bus/pci" to "Linux-proc". 1388 1389 * lib/pread.h: The hacks to support pread on various versions 1390 of Linux libc moved there. 1391 1392 * lib/proc.c (proc_setup): The return value of snprintf() varies 1393 between glibc versions, so we need to check both for a negative 1394 values and for too large values. 1395 1396 * Removed last few references to the "Linux PCI Utilities", the 1397 package is pretty cross-platform now :) 1398 13992003-12-27 Martin Mares <[email protected]> 1400 1401 * Released as 2.1.99-test2. 1402 1403 * README, pciutils.lsm, pciutils.spec: Use @VERSION@ to make the 1404 release scripts insert the current version. "make release" is gone. 1405 1406 * maint/release, maint/release.pm: Added a new system of scripts for 1407 making releases including inter-version diffs etc. 1408 1409 * Makefile: Cleaned up. 1410 1411 * lib/fbsd-device.c: I patched another copy of this file by mistake, 1412 this time the version checks should be right. 1413 14142003-12-27 Martin Mares <[email protected]> 1415 1416 * Released as 2.1.99-test1. 1417 1418 * pciutils.h, common.c, lspci.man, setpci.man, lib/internal.h: 1419 Remove shadows of the syscall access method which was never 1420 implemented. 1421 1422 * update-pciids.sh: Try to preserve permissions of the old file 1423 if chmod supports --reference. Should close Debian Bug #223740. 1424 1425 * lib/proc.c (proc_setup): Increased path name length limit to 1024. 1426 Thanks for Redhat and Mandrake for inspiration. 1427 1428 * lib/configure: Recognize ppc and ppc64, both have 64-bit addresses. 1429 Grabbed from Redhat (Fedora) patches. 1430 14312003-12-27 Martin Mares <[email protected]> 1432 1433 Merged bug fixes from Debian patches: 1434 1435 * lspci.c (show_verbose): "Cache Line Size" should be capitalized. 1436 1437 * lspci.c (show_pcix_nobridge): Added a missing newline. 1438 1439 * lib/proc.c (proc_scan): When reading the header type, don't 1440 forget to clear the topmost bit indicating that the device has 1441 multiple functions. 1442 14432003-12-27 Martin Mares <[email protected]> 1444 1445 Updated the FreeBSD port. Thanks to Samy Al Bahra <[email protected]> 1446 for the patches: 1447 1448 * lib/Makefile: Add ${FREEBSD_SYS} to the include path if it's defined. 1449 * lib/fbsd-device.c: Select the right set of system includes according 1450 to __FreeBSD_version. 1451 14522003-12-27 Martin Mares <[email protected]> 1453 1454 Merged support for Solaris on i386 by Bill Moore <[email protected]> 1455 and cleaned up: 1456 1457 * lib/configure: Recognize SunOS. 1458 * lib/internal.h: Learn how to recognize byte order on SunOS. 1459 * lib/i386-ports.c: Split OS-dependent I/O port access from i386-ports.c. 1460 * lib/i386-io-linux.h: Linux specific part. 1461 * lib/i386-io-hurd.h: GNU/Hurd specific part. 1462 * lib/i386-io-sunos.h: SunOS specific part. 1463 14642003-12-26 Martin Mares <[email protected]> 1465 1466 * lib/header.h (PCI_*_MASK): Cast to pciaddr_t explicitly. 1467 1468 * lib/pci.h: Types declared in <sys/types.h> should be usable on all 1469 platforms we currently support, so kill the forest of #ifdef's and 1470 use them in all cases. 1471 1472 * lib/pci.h: Use ULONG_MASK to decide whether we should use long 1473 or long long to represent a 64-bit address. Killed HAVE_LONG_ADDRESS. 1474 Define format strings for addresses, port numbers and IRQ numbers 1475 directly in pci.h. 1476 1477 * lib/proc.c (proc_scan): Use PCIADDR_T_FMT for scanf'ing addresses. 1478 14792003-12-26 Marco Gerards <[email protected]> 1480 1481 Added support for the GNU Hurd (cleaned up by Martin Mares): 1482 1483 * lib/configure [GNU]: Use the i386 ports for configuration access. 1484 * lib/i386-ports.c: Don't call iopl() on the Hurd. 1485 * lib/pci.h [OS_GNU]: Include <sys/types.h> and use it for defining 1486 u8 to u32. 1487 14882003-12-26 Martin Mares <[email protected]> 1489 1490 * lspci.c (show_pcix_bridge, show_pcix_nobridge): Don't forget to call 1491 config_fetch() to ensure that the registers have been read. Thanks to 1492 Bill Wood <[email protected]> for the patch. 1493 1494 * lspci.c: Ensure that failure of config_fetch() is handled correctly 1495 at all places. 1496 1497 * lspci.man: There was one more explicit reference to /usr/share/pci.ids. 1498 Changed to @SHAREDIR@. Patch from Maciej W. Rozycki <[email protected]>. 1499 1500 * setpci.c (main): Better error messages. 1501 1502 * setpci.c (ex_op): The demo mode should disable only writing, not reading. 1503 1504 * setpci.man: The documentation was inconsistent on what should -D do. 1505 Document the new behaviour. 1506 1507 * pciutils.h, common.c, setpci.c: Introduced a NONRET macro encapsulating 1508 the GCC specific __attribute__((noreturn)) and killed the hack with 1509 redefining __attribute__ on non-GCC compilers. 1510 1511 * Makefile: Added missing dependencies. Parallel builds work now. 1512 Problem reported by Andreas Haumer <[email protected]>, but I chose 1513 a different fix. 1514 1515 * Makefile (MANDIR): Use `:=' instead of `=' to avoid executing the shell 1516 command every time $(MANDIR) is referenced. 1517 1518 * lspci.c (main): The error message for `lspci -s' incorrectly mentioned 1519 a `-f' switch. Reported by Steve Finney <[email protected]>. 1520 1521 * lib/generic.c: Removed memory leak in pci_generic_bus_scan(). 1522 Reported by Gary Parnes <[email protected]>. 1523 1524 * Replaced obsolete syntax of __attribute__((unused)) in the middle of 1525 parameter declarations (which is no longer supported by GCC 3.1) by the 1526 current syntax (attribute at the end). Thanks to [email protected] 1527 for reporting this problem. 1528 1529 * Removed CVS $Id$ tags from all files. 1530 1531 * Makefile: Added some more warnings. 1532 1533 * setpci.c: Cleaned up mask/value code. 1534 15352003-12-08 Thayne Harbaugh <[email protected]> 1536 1537 * setpci.c: Individual bits to be set can be specified as <value>:<mask>. 1538 15392003-11-29 Martin Mares <[email protected]> 1540 1541 * Imported the pciutils sources to my Arch repository. Good-bye, CVS. 1542 15432003-01-04 Martin Mares <[email protected]> 1544 1545 * Released as 2.1.11. 1546 1547 * Makefile: Changed configuration of installation directories -- 1548 all paths are now set at the top of the Makefile instead of being 1549 scattered between the installation rules. The default installation 1550 now goes always to /usr/local regardless of the OS as most distributions 1551 already contain some version of pciutils and we don't want custom 1552 installations to interfere with the default ones. 1553 1554 * Makefile: Removed a couple of ancient install hacks: we no longer 1555 try to avoid overwriting a newer pci.ids file (users are now expected 1556 to use update-ids) and we don't try to remove /etc/pci.ids (a long time 1557 has passed since the last version which used it). 1558 1559 * Makefile: Paths to pci.ids in man pages automatically get the right path. 1560 1561 * Added the update-ids utility. 1562 1563 * lib: Removed partially implemented "syscall" access method which will 1564 probably never be needed. 1565 15662002-12-27 Martin Mares <[email protected]> 1567 1568 * lib/nbsd-libpci.c: Cleaned up and hopefully made it endian safe. 1569 1570 * lib/generic.c (pci_generic_scan_bus): Added work-around for devices with 1571 discontiguous numbering of functions. This is already present in the Linux 1572 kernel for several years, but I forgot to update pciutils as well. 1573 15742002-12-26 Martin Mares <[email protected]> 1575 1576 * lib/header.h, lspci.c: Dump AGP3 flags and speeds. 1577 1578 * lib/pci.h, Makefile: Removed HAVE_OWN_HEADER_H. Always use our own header, 1579 there is no reason to prefer the kernel version. 1580 1581 * lib/proc.c (proc_scan): Don't forget to initialize hdrtype. 1582 1583 * Added preliminary version of NetBSD support by Quentin Garnier 1584 <[email protected]>. 1585 15862002-04-06 Martin Mares <[email protected]> 1587 1588 * lspci.c: Mention "-xxx" in the help. 1589 15902002-03-30 Martin Mares <[email protected]> 1591 1592 * Released as 2.1.10. 1593 1594 * Removed pci.ids from the CVS as they are now maintained separately. 1595 They are still included in the tarball, but if you are building pciutils 1596 from CVS sources or you want to get a newer ID file than the one distributed, 1597 just use "make update-ids" to download the most recent snapshot from 1598 pciids.sf.net. 1599 1600 * Makefile, README: Updated accordingly. 1601 1602 * Makefile: Added a couple of maintenance targets. 1603 1604 * maint/*: Maintainer's utilities now reside here (present only in CVS, 1605 not in the tarball). 1606 1607 * lib/names.c (parse_name_list): End-of-line comments are no longer 1608 supported. Hashes are now perfectly valid in all names and they start 1609 a comment only at the start of the line. 1610 16112002-03-26 Martin Mares <[email protected]> 1612 1613 * README: Rewritten. 1614 1615 * Makefile: When the currently installed pci.ids file is newer than 1616 the version to be installed, don't overwrite it. Suggested by 1617 Jean Delvare <[email protected]>. 1618 16192002-03-24 Martin Mares <[email protected]> 1620 1621 * lspci.c (show_pcix_bridge): Added PCI-X capability display. 1622 Contributed by Jeff Garzik <[email protected]>. 1623 1624 * lib/header.h: Added PCI-X stuff. Again by Jeff. 1625 1626 * Makefile (CFLAGS): -Werror is gone. 1627 1628 * lspci.c (format_agp_rate): Fixed AGP rate reporting. 1629 1630 * lib/filter.c (pci_filter_parse_slot): Allow bus 0xff, slot 0x1f and 1631 function 7. 1632 1633 * lib/names.c (pci_lookup_name): When printing unknown subsystem vendor 1634 or device hexadecimally, don't confuse it with chip vendor/device ID. 1635 First reported by Marc Boucher <[email protected]>. 1636 16372001-11-04 Martin Mares <[email protected]> 1638 1639 * Released as 2.1.9. 1640 1641 * pci.ids: Synced with the PCI ID Repository at SourceForge 1642 (http://pciids.sourceforge.net/). 1643 16442000-08-25 Martin Mares <[email protected]> 1645 1646 * pci.ids: Updated ID's, synced with kernel 2.4.0-test7. 1647 16482000-06-13 Martin Mares <[email protected]> 1649 1650 * Makefile (uninstall): Fixed. 1651 1652 * pci.ids: ID updates. 1653 16542000-05-20 Martin Mares <[email protected]> 1655 1656 * Released as 2.1.8. 1657 1658 * pci.ids: ID updates. 1659 1660 * lspci.c (show_verbose): Min/max latency is now printed in nanoseconds. 1661 16622000-05-04 Martin Mares <[email protected]> 1663 1664 * lspci.c (show_verbose): If the header type doesn't match device 1665 class, just print a warning and still use the header type, assuming 1666 bogus class info. 1667 16682000-05-01 Martin Mares <[email protected]> 1669 1670 * lspci.c (show_pm): Updated according to PCI PM specs 1.1. 1671 1672 * pci.ids: Updated Contemporary Control ARCnet card entries. 1673 1674 * pci.ids: Synchronized class list with latest PCI SIG documents. 1675 16762000-04-29 Martin Mares <[email protected]> 1677 1678 * lib/names.c (pci_lookup_name): Fixed the cheat. 1679 1680 * lib/internal.h: Moved UNUSED/inline hacks above all other declarations. 1681 1682 * pci.ids: Various ID updates. 1683 16842000-04-21 Martin Mares <[email protected]> 1685 1686 * Released as 2.1.7. 1687 1688 * pciutils.spec: Added German description. 1689 1690 * lib/names.c (pci_lookup_name): Added a cheat for case that subsystem ID's 1691 are the same as device ID and just output subsystem name according to 1692 device name. 1693 1694 * lib/proc.c: Use UNUSED instead of __attribute__((unused)). 1695 1696 * lib/pci.h: Added the correct typedefs for AIX. 1697 1698 * lib/generic.c (pci_generic_scan_bus): Export. 1699 1700 * lib/configure: Detect AIX. Use "echo '...\c'" instead of 1701 "echo -n" if the shell isn't bash. 1702 1703 * lspci.c: Avoid using alloca() if not compiled by GCC. 1704 (insert_dev): Avoid returning a void value. 1705 1706 * Makefile: Choose which install utility to use according to 1707 OS type. Also use `-o' instead of `-or' in find arguments. 1708 Part of the AIX port. 1709 1710 * lib/aix-device.c: Added AIX low-level interface. Contributed 1711 by Dave Johnson <[email protected]>, thanks a lot! 1712 1713 * pci.ids: Few new ID's. 1714 1715 * pciutils.h, lib/internal.h: Redefine __attribute__ and inline 1716 when not compiled by GCC. 1717 17182000-04-17 Martin Mares <[email protected]> 1719 1720 * Released as 2.1.6. 1721 1722 * pci.ids: Added a large batch of ID's contributed by Gunther 1723 Mayer <[email protected]> and synced the 1724 list with the 2.3.99pre6 kernel. 1725 1726Thu Mar 9 13:11:39 2000 Martin Mares <[email protected]> 1727 1728 * lib/example.c: Added a simple example of how to use 1729 the library. 1730 1731 * lspci.man, setpci.man: Revealed --version. Well spotted 1732 by Adam Sulmicki. 1733 1734 * pci.ids: Added lots of new ID's and synced with 2.3.50. 1735 1736Tue Feb 15 00:16:21 2000 Martin Mares <[email protected]> 1737 1738 * Released as 2.1.5. 1739 1740 * pciutils.spec: Updated spec file from Andreas Jaeger. Now using 1741 %{_mandir} to find the right location to install manual pages to. 1742 1743 * pci.ids: New ID's. 1744 1745 * setpci.c (main): Don't crash when `-s' or `-d' is given with 1746 no argument. 1747 1748Mon Jan 24 20:04:11 2000 Andreas Jaeger <[email protected]> 1749 1750 * lib/i386-ports.c: Include <asm/io.h> only on systems without 1751 glibc. 1752 1753Mon Jan 24 11:24:43 2000 Martin Mares <[email protected]> 1754 1755 * Makefile: Modified to work with the Linux FHS brain-damaged idea 1756 of putting man pages to /usr/share/man. Now we choose either /usr/man 1757 or /usr/share/man depending on which one exists. 1758 1759Sun Jan 23 10:52:34 2000 Martin Mares <[email protected]> 1760 1761 * pci.ids: Synced with Linux 2.3.40. 1762 1763 * Released as version 2.1.4. 1764 1765Thu Jan 20 11:08:32 2000 Martin Mares <[email protected]> 1766 1767 * lspci.c (scan_device): Fixed bug in reading of cardbus extensions. 1768 1769 * lib/proc.c: pread/pwrite fixed again, this time on libc5 :( 1770 1771 * lspci.c (format_agp_rate): Better formatting of AGP rates. 1772 1773 * pci.ids: New ID's. 1774 1775 * lib/configure: Added configuration for ia64 (the same as for Alpha). 1776 Patch from Stephane Eranian <[email protected]>. 1777 1778Thu Jan 13 23:01:52 2000 Martin Mares <[email protected]> 1779 1780 * Released as version 2.1.3. 1781 1782 * pci.ids: New ID's. 1783 1784 * lspci.c: Alpha IO_FORMAT fix by Andrea Arcangeli. 1785 1786 * lib/access.c: Corrected order of access methods -- it's wonderful how 1787 long could such a bug remain unspotted. Thanks go to Andreas Schockenhoff. 1788 1789Sat Dec 11 23:34:48 1999 Martin Mares <[email protected]> 1790 1791 * Released as version 2.1.2. 1792 1793 * lib/names.c (pci_lookup_name): Fixed printing of unknown subsystem ID's. 1794 1795Sat Dec 4 13:11:03 1999 Martin Mares <[email protected]> 1796 1797 * Released as version 2.1.1. 1798 1799 * pci.ids: Several new ID's. 1800 1801 * setpci.c (exec_op): Don't forget to increment address after writing 1802 single value, so that `30.b=12,34,56,78' works as expected. Reported 1803 by Petr Soucek <[email protected]>. 1804 1805Wed Nov 3 10:24:38 1999 Martin Mares <[email protected]> 1806 1807 * lspci.c (show_terse): If prog-if is zero, but it's present in the 1808 ID list, show it. 1809 1810Sat Oct 30 11:06:35 1999 Martin Mares <[email protected]> 1811 1812 * Released as version 2.1. 1813 1814 * pci.ids: Synced to devlist.h in 2.3.24 kernel. Merged in 1815 lots of contributed entries. 1816 1817Thu Oct 14 10:40:12 1999 Dave Jones <[email protected]> 1818 1819 * pci.ids: Added lots of subsystem definitions. 1820 1821Sat Oct 9 14:32:28 1999 Martin Mares <[email protected]> 1822 1823 * setpci.man: Better example. 1824 1825 * lspci.c: Resolve prog-if names. 1826 1827 * lib/names.c: Adapted to new pci.ids syntax. 1828 1829 * pci.ids: Reorganized the pci.ids file. Subsystems are listed 1830 under devices, classes can optionally contain prog-if information. 1831 New ID's, as usually. 1832 1833Wed Sep 22 09:45:24 1999 Martin Mares <[email protected]> 1834 1835 * pci.ids: New ID's. As usually. 1836 1837 * lspci.c (show_htype1, show_htype2): Don't show `closed' bridge windows 1838 unless we're vvvery verbose. 1839 1840Mon Sep 20 11:22:54 1999 Martin Mares <[email protected]> 1841 1842 * lspci.c (show_htype2): Don't forget a TAB before the "I/O window" line. 1843 1844Tue Sep 14 09:31:01 1999 Martin Mares <[email protected]> 1845 1846 * pci.ids: New ID's. Again. 1847 1848Thu Aug 5 17:45:42 1999 Martin Mares <[email protected]> 1849 1850 * lspci.c (show_size): Don't show size if it's zero (usually 1851 due to bus-centric mode being enabled). 1852 1853Tue Jul 20 13:25:09 1999 Martin Mares <[email protected]> 1854 1855 * lib/pci.h: Types are OS dependent. 1856 1857 * lib/internal.h: Byte order hacks are OS dependent. 1858 1859 * lib/configure: Recognize FreeBSD. Also set OS_XXX according to the OS. 1860 1861 * lib/Makefile, lib/access.c: Added fbsd-device target. 1862 1863 * pci.ids: Added an entry for PLX 9080 bridges with subsystem ID 1864 incorrectly set to device ID. 1865 1866 * README: Added a note that we support FreeBSD. 1867 1868 * Makefile (PREFIX, ROOT): Set it depending on the OS. 1869 (%.8): Grrr, BSD date is not able to convert date formats the same way 1870 as GNU date does. Use sed instead. 1871 (install): Use `-c' when calling install. 1872 1873 * lib/fbsd-device.c: Added FreeBSD /dev/pci access module contributed 1874 by Jari Kirma <[email protected]>. 1875 1876 * lib/proc.c: Rewrote the pread/pwrite things once again. Use pread 1877 and pwrite only when we are certain it's safe (i.e., glibc 2.1 1878 on all architectures or any libc on a i386 where we really know 1879 how to use syscalls directly). In all other cases, emulate it 1880 with lseek/read/write. 1881 1882 * pci.ids: Some more IDs. 1883 1884Mon Jul 19 14:10:36 1999 Martin Mares <[email protected]> 1885 1886 * pci.ids: Added IDs of parallel port controller cards as sent 1887 by Tim Waugh <[email protected]>. 1888 1889Wed Jul 7 00:55:48 1999 Martin Mares <[email protected]> 1890 1891 * lib/proc.c (proc_scan): HAVE_LONG_ADDRESS instead of HAVE_64BIT_ADDRESS. 1892 1893 * lspci.c: ADDR_FORMAT now depends on both HAVE_64BIT_ADDRESS and 1894 HAVE_LONG_ADDRESS. 1895 1896 * lib/configure: HAVE_64BIT_ADDRESS now doesn't imply that the addresses 1897 are represented as long long. Introduced a new flag HAVE_LONG_ADDRESS 1898 to indicate this. Both Sparc architectures now use both 64BIT_ADDRESS 1899 and LONG_ADDRESS since they have 32-bit userland, but don't set LONG_ADDRESS 1900 on Alpha. 1901 1902 * lspci.c (show_msi): Added dumping of the MSI capability. 1903 (show_slotid): The same for SlotID capability. 1904 (show_caps): Separated capability dumping, because it should 1905 be used for both htype0 and htype1. Even PCI 2.2 doesn't mention 1906 layout of htype2, so I'm a bit unsure about it wrt capabilities 1907 -- they at least have to live somewhere else since address 0x34 1908 is already defined differently in htype2. 1909 1910 * lib/header.h (PCI_STATUS_UDF): Marked as obsolete (PCI 2.2). 1911 (PCI_BASE_ADDRESS_MEM_TYPE_1M): Ditto. 1912 (PCI_CAP_ID_*): Added some new capabilities defined in PCI 2.2. 1913 1914 * lspci.c (show_htype0): Mask out lowest 2 bits from all capability pointers 1915 (required by the PCI 2.2 specs). 1916 1917Mon Jul 5 12:45:19 1999 Martin Mares <[email protected]> 1918 1919 * lspci.c (show_size): Added new function for dumping of region sizes. 1920 (show_rom): Added. Now correctly dumps unassigned ROM addresses, disabled 1921 ROMs et cetera. 1922 1923 * lib/pci.h (struct pci_dev): known_fields moved to the public part 1924 of the structure. 1925 1926 * Added support for region sizes. Needs support in the kernel, because 1927 sizes have to be scanned before drivers initialize yourself. pci_fill_info() 1928 now returns a bitmask of what fields were really read. 1929 1930Mon Jun 28 18:37:51 1999 Dave Jones <[email protected]> 1931 1932 * Makefile: 1933 Added `uninstall' target - removes all traces of pciutils. 1934 * pci.ids: 1935 - Lots of cleanups in the ATI, S3, Adaptec vendors. 1936 - Changed Compaq QVision 1280/p definitions, as it's not possible 1937 to determine the revision from the device ID. 1938 - Same for the Tseng ET4000. 1939 The id's said I had a rev C, when it was actually a rev B. 1940 - Removed some unnecessary strings 1941 `PCI'. Unless it's an AGP card, it should be obvious that it's PCI. 1942 `Ethernet card'. This should be determined from config space. 1943 - Lots of other new vendors & devices 1944 - Other additional small cleanups. 1945 1946Mon Jun 21 22:11:10 1999 Martin Mares <[email protected]> 1947 1948 * lib/names.c (pci_lookup_name): When device ID lookup 1949 fails, return hexadecimal device ID instead of vendor ID. 1950 Well spotted by Axel Bodemann <[email protected]>, 1951 I've just extended the fix to subsystem ID's. 1952 1953Thu Jun 17 19:48:21 1999 Martin Mares <[email protected]> 1954 1955 * lspci.c (show_agp): Bug fix from Petr Vandrovec 1956 <[email protected]>. The command register was displayed 1957 incorrectly. 1958 1959Wed Jun 2 22:42:44 1999 Martin Mares <[email protected]> 1960 1961 * lib/proc.c (SYS_pread, SYS_pwrite): Use hard-coded 1962 numbers if not supplied by the libc. 1963 1964Wed May 19 13:24:39 1999 Martin Mares <[email protected]> 1965 1966 * Released the whole package as version 2.0. 1967 1968Fri May 14 22:42:02 1999 Martin Mares <[email protected]> 1969 1970 * pci.ids: Added several new ID's contributed by people 1971 on the linux-pci list. 1972 1973Mon Apr 19 15:21:08 1999 Jakub Jelinek <[email protected]> 1974 1975 * lspci.c: Display I/O addresses correctly on sparc64. 1976 * lib/header.h: Ditto. 1977 1978 * lib/configure: On sparc set HAVE_64BIT* as well, we want 1979 a binary which works on both 32bit and 64bit SPARCs. 1980 1981Sun Apr 18 21:14:58 1999 Martin Mares <[email protected]> 1982 1983 * lspci.c, lib/proc.c: Alpha compilation fixes from Matthew Jacob 1984 <[email protected]>. 1985 1986 * pci.ids: A lot of updates from Adam J. Richter <[email protected]>. 1987 1988Sun Feb 28 22:26:21 1999 Martin Mares <[email protected]> 1989 1990 * lspci.c (do_map_bus): Don't dump functions 1--7 if not flagged 1991 as a multi-function device, because several single-function devices 1992 don't decode the function bits at all. 1993 1994Sun Feb 14 23:48:22 1999 Martin Mares <[email protected]> 1995 1996 * Makefile (install): Don't use "-o root -g root" for installation 1997 since it breaks on machines where programs are not installed by root. 1998 Reported by Richard Gooch <[email protected]> 1999 2000Tue Feb 9 15:54:39 1999 Martin Mares <[email protected]> 2001 2002 * lspci.c (show_bases): Use new address masking macros and pciaddr_t. 2003 2004 * lib/pci.h: Using pciaddr_t for bus addresses, which are 32-bit 2005 or 64-bit depending on CPU. 2006 2007 * lib/pci.h (PCI_ADDR_MEM_MASK): Added macros for address masks 2008 according to bus address width. 2009 2010Thu Jan 28 20:54:16 1999 Martin Mares <[email protected]> 2011 2012 * Released as 1.99.4. 2013 2014 * lspci.c: Capability list parser now recognizes both AGP 2015 registers and PCI Power Management registers (the latter 2016 is mainly guesswork based on DEC/Intel 21153 bridge specs 2017 since I don't have the PCI Power Management document). 2018 2019 * lspci.c: Replaced numerous occurrences of (x & flag) ? '+' : '-' 2020 by FLAG macro. 2021 2022 * lspci.c: Added bridge checks to bus mapping code. 2023 2024Wed Jan 27 14:59:16 1999 Martin Mares <[email protected]> 2025 2026 * lspci.c: Implemented bus mapping mode (-M). 2027 2028 * lspci.c (scan_devices): Split to scan_devices() and scan_device(). 2029 (show): Split to show() and show_device(). 2030 2031 * lib/access.c (pci_init): When a->method == PCI_ACCESS_AUTO, 2032 set it to the real access method afterwards. 2033 2034Mon Jan 25 23:46:13 1999 Martin Mares <[email protected]> 2035 2036 * lib/generic.c (pci_generic_fill_info): If in buscentric mode, 2037 don't check PCI_COMMAND for I/O and memory enables. 2038 2039Mon Jan 25 21:28:49 1999 Martin Mares <[email protected]> 2040 2041 * Makefile: Added target `release' which substitutes new version 2042 number to .spec, .lsm and README. Also rewrote target `dist'. 2043 2044 * Released as 1.99.3. 2045 2046Sun Jan 24 22:10:36 1999 Martin Mares <[email protected]> 2047 2048 * lib/header.h: Until kernel adopts new layout of PCI 2049 includes (i.e., separate declaration of header structure, 2050 functions and device IDs), which is not going to happen 2051 before 2.3, we'll use our own definition of the header. 2052 2053 * lspci.c (show_verbose): Display `Cap' flag in device status. 2054 2055 * lspci.c (show_htype0): Display capability lists wherever 2056 available. The only capability name we recognize now is `AGP'. 2057 Unfortunately, capabilities are stored in device-dependent 2058 portion of the configuration space and are thus available 2059 only to root unless you read a dump. 2060 2061 * lspci.c (scan_devices): Use cache instead of buffering. 2062 2063 * lib/buffer.c: Removed (obsoleted by the cache). 2064 2065 * lib/access.c: Added general caching mechanism. 2066 2067Sat Jan 23 21:30:54 1999 Martin Mares <[email protected]> 2068 2069 * pci.ids: Added few devices. 2070 2071Fri Jan 22 19:29:31 1999 Martin Mares <[email protected]> 2072 2073 * Version string is now defined in top-level Makefile, exported 2074 to the configure script and also substituted to man pages. 2075 2076 * lspci.c (show_bases): Rewrote displaying of 64-bit addresses. 2077 (show_verbose): Rewrote interrupt display logic. 2078 2079 * lib/i386-ports.c: Include sys/io.h only on glibc systems. 2080 2081 * lib/configure: Rewrote detection of Linux versions. Now it 2082 works on 2.0 kernels (only with direct/dump access, of course). 2083 2084 * lib/internal.h: New bytesex macros using <asm/byteorder.h> 2085 whenever available. 2086 2087 * lib/proc.c (proc_read, proc_write): Distinguish between short 2088 read/write and real errors. 2089 2090 * lspci.c (show_htype{0,1}): Always use d->dev->rom_base_addr since 2091 libpci respects buscentric mode automatically. 2092 2093 * lspci.c (show_hex_dump): For CardBus bridges, print out 128 2094 bytes of header (the whole standard part). 2095 2096 * common.c: pcilib options are now all uppercase. Also moved 2097 PCI access debugging option here. 2098 2099 * Released as 1.99.2. 2100 2101Wed Jan 20 22:50:35 1999 Martin Mares <[email protected]> 2102 2103 * Wrote configure script and rewrote Makefiles. 2104 2105 * Removed few unused variables. 2106 2107Wed Jan 20 12:21:56 1999 Martin Mares <[email protected]> 2108 2109 * common.c: Moved several functions used in both setpci and lspci 2110 here. This includes parsing of libpci-related options. 2111 2112 * More library tweaks. 2113 2114 * filter.c, names.c: Moved to library. 2115 2116 * setpci: Rewritten to use the library. 2117 2118 * Released as 1.99.1. 2119 2120Tue Jan 19 23:00:12 1999 Martin Mares <[email protected]> 2121 2122 * lspci.c (scan_devices): For cardbus bridges, read first 128 2123 bytes of config space to get full standard header. 2124 2125 * Makefile (CFLAGS): Removed "-Wno-unused". 2126 2127 * Started the "New Generation" branch and introduced the 2128 PCI library. 2129 2130 * lspci: Rewritten to use the library. 2131 2132Tue Jan 19 22:24:08 1999 Martin Mares <[email protected]> 2133 2134 * Released as version 1.10. 2135 2136Mon Jan 18 08:51:17 1999 Martin Mares <[email protected]> 2137 2138 * lspci.8, setpci.8: Miscellaneous fixes as suggested by 2139 Dag Wieers <[email protected]>. 2140 2141Sun Nov 29 20:05:56 1998 Martin Mares <[email protected]> 2142 2143 * pciutils.spec (Name): Update from Krzysztof G. Baranowski. 2144 2145Sun Nov 22 10:49:56 1998 Martin Mares <[email protected]> 2146 2147 * Makefile, pciutils.h: Moved pci.ids to /usr/share. 2148 2149 * Released as version 1.09. 2150 2151Wed Nov 18 15:47:05 1998 Martin Mares <[email protected]> 2152 2153 * lspci.c (show_htype1): Fixed displaying of prefetchable memory behind 2154 bridge. Thanks to Petr Vandrovec <[email protected]> for bug report. 2155 2156Fri Oct 23 18:59:19 1998 Martin Mares <[email protected]> 2157 2158 * setpci.c: Don't include <syscall-list.h> with glibc >= 2.1. 2159 2160Mon Oct 19 21:53:30 1998 Martin Mares <[email protected]> 2161 2162 * Released as version 1.08. 2163 2164 * setpci.c: glibc 2.1.x already defines pread() and pwrite(). 2165 2166 * lspci.8: Changed warning about lspci -xxx. 2167 2168 * lspci.c: Require "-xxx" for full configuration space dump, so that 2169 it's impossible to crash the machine by single typo. 2170 2171 * specs: Added (courtesy of Krzysztof G. Baranowski <[email protected]>). 2172 2173Wed Sep 9 12:03:24 1998 Martin Mares <[email protected]> 2174 2175 * lspci.c (show_bases): Better displaying of unassigned and 2176 disabled bases. Thanks to Gabriel Paubert <[email protected]> 2177 for an idea. 2178 2179Wed Sep 2 10:58:01 1998 Martin Mares <[email protected]> 2180 2181 * setpci.c (pread): Recognize glibc 1.99 numbered as 2.0 on the PPC. 2182 (thanks to Geert Uytterhoeven for finding this out) 2183 2184Fri Jul 17 10:43:30 1998 Martin Mares <[email protected]> 2185 2186 * lspci.c (show_verbose): Print subsystem ID using the new resolver. 2187 (show_machine): Print subsystem ID. 2188 2189 * names.c: New name resolution engine supporting subsystem IDs. 2190 2191 * Released as version 1.07. 2192 2193Wed Jul 15 15:37:21 1998 Martin Mares <[email protected]> 2194 2195 * lspci.c (show_htype2 etc.): Displaying of CardBus headers. 2196 (show_bases): Honor the `cnt' argument. 2197 (grow_tree): Parse CardBus headers in tree mode as well. 2198 2199 * pci.h: Updated CardBus header field description. I still don't 2200 have the CardBus standard available, but OZ6832 specs contain 2201 full description of all header fields supported by the chip. 2202 2203Tue Jun 9 22:53:59 1998 Martin Mares <[email protected]> 2204 2205 * Released as 1.06. 2206 2207 * names.c (parse_name_list): Killed an unused variable. 2208 2209 * setpci.c (pread, pwrite): Define SYS_(pread|pwrite) as __NR_\1 2210 if they are not defined by glibc (needed for glibc built on older 2211 kernels). Ugly. 2212 2213 * setpci.c (exec_op): Fixed error messages. Thanks, Steve! 2214 2215Mon Jun 8 10:59:22 1998 Martin Mares <[email protected]> 2216 2217 * Released as 1.05. 2218 2219 * setpci.c: Problems with pread()/pwrite() with glibc on Alpha 2220 should be gone. Again thanks to Steve for bug report. 2221 2222 * filter.c (filter_parse_slot): Fixed ":x" type filters. 2223 2224 * pci.ids: Killed duplicate entry. Thanks to Stephen Williams 2225 <[email protected]> for reporting this. 2226 2227Sun Jun 7 19:27:51 1998 Martin Mares <[email protected]> 2228 2229 * lspci.c (main), setpci.c (main): Implemented "--version". 2230 2231 * Released as 1.04. 2232 2233 * pciutils.h (PCIUTILS_VERSION): Added version string. 2234 2235 * filter.c, names.c: Extraneous #include <linux/pci.h> removed. 2236 Thanks to Geert Uytterhoeven <[email protected]> 2237 for bug report. 2238 2239Thu May 28 14:45:58 1998 Martin Mares <[email protected]> 2240 2241 * pci.ids: More updates from Jens Maurer. 2242 2243Wed Apr 22 10:00:39 1998 Martin Mares <[email protected]> 2244 2245 * pci.ids: Updates from Jens Maurer. 2246 2247Sun Apr 19 11:14:25 1998 Martin Mares <[email protected]> 2248 2249 * Released as 1.03. 2250 2251 * setpci.8: Written. 2252 2253 * setpci.c: Finished. 2254 2255 * lspci.c: Now able to fetch expansion ROM base from kernel device list 2256 and print it if not in buscentric mode. 2257 2258Tue Mar 31 23:11:57 1998 Martin Mares <[email protected]> 2259 2260 * setpci.c: Added. 2261 2262Sun Mar 22 15:39:08 1998 Martin Mares <[email protected]> 2263 2264 * lspci.8: Updated the documentation. 2265 2266 * lspci.c: Modified to use the new filtering mechanism (options -f and -d). 2267 2268 * filter.c: Introduced new generic device filter. 2269 2270Thu Mar 19 17:03:48 1998 Martin Mares <[email protected]> 2271 2272 * lspci.c (grow_tree, show_tree_dev, print_it): Fixed displaying 2273 of PCI-to-PCI bridges in the tree format. 2274 2275Sun Feb 15 10:12:25 1998 Martin Mares <[email protected]> 2276 2277 * lspci.c (show_machine): Added non-verbose mode of machine-readable 2278 dump. 2279 2280 * pci.ids: Updates from Jens Maurer. 2281 2282 * Released as version 1.02. 2283 2284Thu Feb 12 16:53:28 1998 Martin Mares <[email protected]> 2285 2286 * lspci.c: Added a "-m" switch for dumping machine-readable 2287 configuration data (requested by Bjoern Kriews <[email protected]>). 2288 2289Mon Feb 9 13:17:43 1998 Martin Mares <[email protected]> 2290 2291 * Makefile, pciutils.h: Include local pci.h instead of <linux/pci.h> 2292 if available. This should avoid all problems with official kernel 2293 not synchronized to newer PCI code in CVS -- standard distribution 2294 of pciutils now contains pci.h from current CVS kernel, pciutils 2295 in CVS contain no pci.h and use the correct kernel include. 2296 2297 * Makefile: Fixed installation path for man pages. 2298 2299Sat Feb 7 15:15:46 1998 Martin Mares <[email protected]> 2300 2301 * README: Updated. 2302 2303 * lspci.8: Created a man page. 2304 2305 * Releasing as version 1.0. 2306 2307Tue Feb 3 20:56:00 1998 Martin Mares <[email protected]> 2308 2309 * Makefile: Recognize architecture by calling uname and pass it as ARCH_xxx 2310 to all the C sources. This should eliminate problems with 32-bit compilers 2311 on sparc64. 2312 2313 * lspci.c (show_verbose): Recognize CardBus bridge header type. 2314 (show_htype2): Stub routine. 2315 (scan_config): Write sensible error message if the kernel denies reading of 2316 upper part of the PCI config space. 2317