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