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