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