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