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