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