12004-08-13 Martin Mares <[email protected]> 2 3 * README.Windows: Updated. 4 5 * maint/release: Substitute version number in win32/config.h. 6 7 * win32/config.h: Added. 8 9 * lib/sysdep.h (bzero, strcasecmp): are macros on Windows. 10 11 * compat/getopt.[ch]: Added copies of getopt.[ch] from the GNU 12 C library for use on systems where the default libraries lack 13 proper getopt. Currently used by the Windows port. 14 15 * lib/sysdep.h, lib/types.h: Updates of the Windows port from 16 Alexander Stock. 17 18 * lib/types.h: If PCI_HAVE_Uxx_TYPES is defined, libpci doesn't define 19 its own u8, u16, u32, byte and word types and uses what the user 20 has supplied instead. With this change, all namespace clashes should 21 be gone. 22 23 * Makefile, lib/Makefile: Updated dependencies. 24 25 * pciutils.h: Include lib/sysdep.h and move NONRET et al. there. 26 27 * lib/sysdep.h: No need to include <sys/types.h> on FreeBSD, because 28 it is included unconditionally in lib/types.h. 29 30 * Moved system-dependent stuff from lib/internal.h to lib/sysdep.h, 31 which is also used by the utilities. Also moved type declarations 32 from lib/pci.h to lib/types.h. 33 34 * All files: Prepend a "PCI_" prefix in front of all configuration 35 defines to avoid namespace clashes. CAVEAT: If there is any libpci 36 application using the (undocumented) defines, it has to be updated. 37 38 * lib/Makefile: Killed HAVE_OWN_HEADER_H, since we stopped sharing 39 headers with the kernel a couple of years ago. 40 41 * lib/sysfs.c (sysfs_get_resources): We have 7 resources, not 6. 42 43 * lspci.c (show_rom): Use the same logic for printing disabled 44 or unassigned ROM's as we do in show_bases() for the other BAR's. 45 46 * lib/generic.c (pci_generic_fill_info): Better reaction to 47 invalid 64-bit addresses. Also d->hdrtype should not include 48 bit 7, which caused mysterious errors on multi-function devices. 49 50 * lib/generic.c (pci_generic_fill_info): Fill in base addresses 51 even if the regions are known to be disabled. It is the client's 52 job to interpret them. (And it is not a trivial job if you want 53 to do it correctly, since you need to check I/O and memory enables 54 on all upstream bridges, too.) However, it could be interesting to 55 introduce functions for interpreting the addresses and even for 56 mapping the regions and doing I/O on them. 57 582004-07-30 Martin Mares <[email protected]> 59 60 * lspci.c: HyperTransport improvements from Maciej. 61 622004-07-11 Martin Mares <[email protected]> 63 64 * lib/sysfs.c (sysfs_get_resources): Arguments now correspond 65 to the format string. [Patch by Bill Nottingham] 66 672004-07-05 Martin Mares <[email protected]> 68 69 * Released as 2.1.99-test7. 70 71 * lspci.c (config_fetch): Wanted to merge Matthew's bug fix, but 72 ended up with rewriting the fetching mechanism to be fully dynamic, 73 but avoid reading config space registers not explicitly requested. 74 752004-06-29 Matthew Wilcox <[email protected]> 76 77 * lspci.c: More work on PCI Express dumping. 78 79 * lib/header.h: Updated PCI Express capability definitions. 80 81 * lib/proc.c (proc_read): Removed bogus warning. 82 83 * common.c (xrealloc): Introduced. 84 85 * lspci.man: Added -xxxx. 86 872004-06-27 Martin Mares <[email protected]> 88 89 * Released as 2.1.99-test6. 90 91 * lspci.c (show_msix), lib/header.h: Added dumping of MSI-X cap. 92 Patch by Roland Dreier <[email protected]>, cleaned up by me. 93 94 * lspci.c (show_pcix_nobridge, show_pcix_bridge): Handle config_fetch() 95 failures. 96 97 * lib/header.h: Added PCI Express extended capabilities. Again by Matthew. 98 99 * lspci.c (show_express): Added dumping of PCI Express cap. 100 Patch by Matthew Wilcox. 101 102 * lib/header.h: Added a list of PCI 3.0 capabilities and also details 103 on PCI Express caps. Patch by Matthew Wilcox <[email protected]>. 104 105 * lspci.c (check_root): Gone. No explicit checks for root are needed, 106 report correct errors reported by the libpci instead. 107 108 * lspci.c: Added dumping of the extended config space on "-xxxx". 109 Better caching of config registers. 110 111 * setpci.c (main): Allow access to whole 4096 bytes of the config space. 112 113 * lib/sysfs.c, lib/proc.c: Don't print error messages on short reads, 114 just return the appropriate error code. 115 116 * lib: Added support for extended (4096-byte) configuration space, 117 currently implemented only in Linux proc and sysfs access methods 118 and of course in the dump reader. 119 1202004-05-29 Martin Mares <[email protected]> 121 122 * Released as 2.1.99-test5. 123 124 * lib/pci.h: Windows don't have the standard u_int* types. 125 126 * lib/internal.h: <sys/param.h> required on Windows for endianity 127 macros. 128 129 * lib/i386-ports.c: Connected i386-io-windows.h. 130 131 * lspci.c (check_root): geteuid() is not available on Windows. 132 133 * lib/i386-io-windows.h: Added Windows port contributed by Alexander 134 Stock <[email protected]>. 135 136 * lib/configure: Hopefully fixed SunOS port broken by various 137 changes to the configure script. 138 139 * Makefile, lib/configure: Cross-compilation support, patch by Maciej. 140 1412004-05-28 Martin Mares <[email protected]> 142 143 * Released as 2.1.99-test4. 144 145 * lspci.c (show_verbose): Header type 1 is probably legal for all 146 types of bridges, not only for PCI-to-PCI bridges. 147 148 * lspci.c (format_agp_rate): Write "x16", not "x@". 149 (show_agp): rate[] could overflow. 150 Bugs reported by Jakub Bogusz <[email protected]>. 151 152 * lspci.c (show_ht_*): Show HyperTransport capability with all its 153 details. Once again code by Maciej simplified (i.e., possibly broken) 154 by me. 155 156 * lib/header.h: Added declarations of HyperTransport capability. 157 Again thanks to Maciej. 158 159 * lspci.c: Decode all bits of the secondary status word in type 1 headers. 160 Thanks to Maciej W. Rozycki <[email protected]> for the patch. 161 1622003-12-27 Martin Mares <[email protected]> 163 164 * Released as 2.1.99-test3. 165 166 * lspci.man, setpci.man: Document domains and correct spelling. 167 168 * lib/dump.c (dump_init): Added ability to read domain numbers. 169 170 * lspci.c: Devices in domains different from 0 have their slot number 171 printed as "<domain>:<bus>:<slot>.<func>". Tree view supports domains 172 as well. 173 174 * lib/filter.c: Slot filters understand domains. 175 176 * lib/generic.c: Mention the domain in slot numbers in all error messages. 177 178 * lib/internal.h: The #ifdef for Linux <asm/byteorder.h> was wrong. 179 180 * lib/access.c (pci_get_dev): Added support for domains. 181 182 * lib/sysfs.c (sysfs_scan): Read vendor and device ID from the config 183 registers (or to be precise, leave it for the generic parts of the pcilib 184 to do so) instead of reading them from the sysfs. It's faster this way. 185 186 * lspci.c (show_pcix): Don't touch pci_dev->hdrtype, it's an internal 187 variable. Better read it from the config registers (it's cached anyway). 188 189 * lib/sysfs.c (sysfs_scan), lib/proc.c (proc_scan): Don't read the hdrtype. 190 lib/generic.c (pci_generic_fill_info): If hdrtype is -1 (unset), read it. 191 Saves lots of unnecessary file accesses. 192 193 * lib/pci.h (PCIADDR_PORT_FMT): Use %llx instead of %Lx, because the latter 194 is not supported by all C libraries. 195 196 * Makefile: Always enter the lib directory (remember that we don't have 197 full dependecies for the library in the top-level Makefile; hmmm, another 198 thing to rewrite some day). 199 200 * lib/sysfs.c: Added Linux sysfs access method based on the patch 201 written by Matthew Wilcox <[email protected]>. 202 203 * lib/proc.c: Renamed the access method name from "/proc/bus/pci" to "Linux-proc". 204 205 * lib/pread.h: The hacks to support pread on various versions 206 of Linux libc moved there. 207 208 * lib/proc.c (proc_setup): The return value of snprintf() varies 209 between glibc versions, so we need to check both for a negative 210 values and for too large values. 211 212 * Removed last few references to the "Linux PCI Utilities", the 213 package is pretty cross-platform now :) 214 2152003-12-27 Martin Mares <[email protected]> 216 217 * Released as 2.1.99-test2. 218 219 * README, pciutils.lsm, pciutils.spec: Use @VERSION@ to make the 220 release scripts insert the current version. "make release" is gone. 221 222 * maint/release, maint/release.pm: Added a new system of scripts for 223 making releases including inter-version diffs etc. 224 225 * Makefile: Cleaned up. 226 227 * lib/fbsd-device.c: I patched another copy of this file by mistake, 228 this time the version checks should be right. 229 2302003-12-27 Martin Mares <[email protected]> 231 232 * Released as 2.1.99-test1. 233 234 * pciutils.h, common.c, lspci.man, setpci.man, lib/internal.h: 235 Remove shadows of the syscall access method which was never 236 implemented. 237 238 * update-pciids.sh: Try to preserve permissions of the old file 239 if chmod supports --reference. Should close Debian Bug #223740. 240 241 * lib/proc.c (proc_setup): Increased path name length limit to 1024. 242 Thanks for Redhat and Mandrake for inspiration. 243 244 * lib/configure: Recognize ppc and ppc64, both have 64-bit addresses. 245 Grabbed from Redhat (Fedora) patches. 246 2472003-12-27 Martin Mares <[email protected]> 248 249 Merged bug fixes from Debian patches: 250 251 * lspci.c (show_verbose): "Cache Line Size" should be capitalized. 252 253 * lspci.c (show_pcix_nobridge): Added a missing newline. 254 255 * lib/proc.c (proc_scan): When reading the header type, don't 256 forget to clear the topmost bit indicating that the device has 257 multiple functions. 258 2592003-12-27 Martin Mares <[email protected]> 260 261 Updated the FreeBSD port. Thanks to Samy Al Bahra <[email protected]> 262 for the patches: 263 264 * lib/Makefile: Add ${FREEBSD_SYS} to the include path if it's defined. 265 * lib/fbsd-device.c: Select the right set of system includes according 266 to __FreeBSD_version. 267 2682003-12-27 Martin Mares <[email protected]> 269 270 Merged support for Solaris on i386 by Bill Moore <[email protected]> 271 and cleaned up: 272 273 * lib/configure: Recognize SunOS. 274 * lib/internal.h: Learn how to recognize byte order on SunOS. 275 * lib/i386-ports.c: Split OS-dependent I/O port access from i386-ports.c. 276 * lib/i386-io-linux.h: Linux specific part. 277 * lib/i386-io-hurd.h: GNU/Hurd specific part. 278 * lib/i386-io-sunos.h: SunOS specific part. 279 2802003-12-26 Martin Mares <[email protected]> 281 282 * lib/header.h (PCI_*_MASK): Cast to pciaddr_t explicitly. 283 284 * lib/pci.h: Types declared in <sys/types.h> should be usable on all 285 platforms we currently support, so kill the forest of #ifdef's and 286 use them in all cases. 287 288 * lib/pci.h: Use ULONG_MASK to decide whether we should use long 289 or long long to represent a 64-bit address. Killed HAVE_LONG_ADDRESS. 290 Define format strings for addresses, port numbers and IRQ numbers 291 directly in pci.h. 292 293 * lib/proc.c (proc_scan): Use PCIADDR_T_FMT for scanf'ing addresses. 294 2952003-12-26 Marco Gerards <[email protected]> 296 297 Added support for the GNU Hurd (cleaned up by Martin Mares): 298 299 * lib/configure [GNU]: Use the i386 ports for configuration access. 300 * lib/i386-ports.c: Don't call iopl() on the Hurd. 301 * lib/pci.h [OS_GNU]: Include <sys/types.h> and use it for defining 302 u8 to u32. 303 3042003-12-26 Martin Mares <[email protected]> 305 306 * lspci.c (show_pcix_bridge, show_pcix_nobridge): Don't forget to call 307 config_fetch() to ensure that the registers have been read. Thanks to 308 Bill Wood <[email protected]> for the patch. 309 310 * lspci.c: Ensure that failure of config_fetch() is handled correctly 311 at all places. 312 313 * lspci.man: There was one more explicit reference to /usr/share/pci.ids. 314 Changed to @SHAREDIR@. Patch from Maciej W. Rozycki <[email protected]>. 315 316 * setpci.c (main): Better error messages. 317 318 * setpci.c (ex_op): The demo mode should disable only writing, not reading. 319 320 * setpci.man: The documentation was inconsistent on what should -D do. 321 Document the new behaviour. 322 323 * pciutils.h, common.c, setpci.c: Introduced a NONRET macro encapsulating 324 the GCC specific __attribute__((noreturn)) and killed the hack with 325 redefining __attribute__ on non-GCC compilers. 326 327 * Makefile: Added missing dependencies. Parallel builds work now. 328 Problem reported by Andreas Haumer <[email protected]>, but I chose 329 a different fix. 330 331 * Makefile (MANDIR): Use `:=' instead of `=' to avoid executing the shell 332 command every time $(MANDIR) is referenced. 333 334 * lspci.c (main): The error message for `lspci -s' incorrectly mentioned 335 a `-f' switch. Reported by Steve Finney <[email protected]>. 336 337 * lib/generic.c: Removed memory leak in pci_generic_bus_scan(). 338 Reported by Gary Parnes <[email protected]>. 339 340 * Replaced obsolete syntax of __attribute__((unused)) in the middle of 341 parameter declarations (which is no longer supported by GCC 3.1) by the 342 current syntax (attribute at the end). Thanks to [email protected] 343 for reporting this problem. 344 345 * Removed CVS $Id$ tags from all files. 346 347 * Makefile: Added some more warnings. 348 349 * setpci.c: Cleaned up mask/value code. 350 3512003-12-08 Thayne Harbaugh <[email protected]> 352 353 * setpci.c: Individual bits to be set can be specified as <value>:<mask>. 354 3552003-11-29 Martin Mares <[email protected]> 356 357 * Imported the pciutils sources to my Arch repository. Good-bye, CVS. 358 3592003-01-04 Martin Mares <[email protected]> 360 361 * Released as 2.1.11. 362 363 * Makefile: Changed configuration of installation directories -- 364 all paths are now set at the top of the Makefile instead of being 365 scattered between the installation rules. The default installation 366 now goes always to /usr/local regardless of the OS as most distributions 367 already contain some version of pciutils and we don't want custom 368 installations to interfere with the default ones. 369 370 * Makefile: Removed a couple of ancient install hacks: we no longer 371 try to avoid overwriting a newer pci.ids file (users are now expected 372 to use update-ids) and we don't try to remove /etc/pci.ids (a long time 373 has passed since the last version which used it). 374 375 * Makefile: Paths to pci.ids in man pages automatically get the right path. 376 377 * Added the update-ids utility. 378 379 * lib: Removed partially implemented "syscall" access method which will 380 probably never be needed. 381 3822002-12-27 Martin Mares <[email protected]> 383 384 * lib/nbsd-libpci.c: Cleaned up and hopefully made it endian safe. 385 386 * lib/generic.c (pci_generic_scan_bus): Added work-around for devices with 387 discontiguous numbering of functions. This is already present in the Linux 388 kernel for several years, but I forgot to update pciutils as well. 389 3902002-12-26 Martin Mares <[email protected]> 391 392 * lib/header.h, lspci.c: Dump AGP3 flags and speeds. 393 394 * lib/pci.h, Makefile: Removed HAVE_OWN_HEADER_H. Always use our own header, 395 there is no reason to prefer the kernel version. 396 397 * lib/proc.c (proc_scan): Don't forget to initialize hdrtype. 398 399 * Added preliminary version of NetBSD support by Quentin Garnier 400 <[email protected]>. 401 4022002-04-06 Martin Mares <[email protected]> 403 404 * lspci.c: Mention "-xxx" in the help. 405 4062002-03-30 Martin Mares <[email protected]> 407 408 * Released as 2.1.10. 409 410 * Removed pci.ids from the CVS as they are now maintained separately. 411 They are still included in the tarball, but if you are building pciutils 412 from CVS sources or you want to get a newer ID file than the one distributed, 413 just use "make update-ids" to download the most recent snapshot from 414 pciids.sf.net. 415 416 * Makefile, README: Updated accordingly. 417 418 * Makefile: Added a couple of maintenance targets. 419 420 * maint/*: Maintainer's utilities now reside here (present only in CVS, 421 not in the tarball). 422 423 * lib/names.c (parse_name_list): End-of-line comments are no longer 424 supported. Hashes are now perfectly valid in all names and they start 425 a comment only at the start of the line. 426 4272002-03-26 Martin Mares <[email protected]> 428 429 * README: Rewritten. 430 431 * Makefile: When the currently installed pci.ids file is newer than 432 the version to be installed, don't overwrite it. Suggested by 433 Jean Delvare <[email protected]>. 434 4352002-03-24 Martin Mares <[email protected]> 436 437 * lspci.c (show_pcix_bridge): Added PCI-X capability display. 438 Contributed by Jeff Garzik <[email protected]>. 439 440 * lib/header.h: Added PCI-X stuff. Again by Jeff. 441 442 * Makefile (CFLAGS): -Werror is gone. 443 444 * lspci.c (format_agp_rate): Fixed AGP rate reporting. 445 446 * lib/filter.c (pci_filter_parse_slot): Allow bus 0xff, slot 0x1f and 447 function 7. 448 449 * lib/names.c (pci_lookup_name): When printing unknown subsystem vendor 450 or device hexadecimally, don't confuse it with chip vendor/device ID. 451 First reported by Marc Boucher <[email protected]>. 452 4532001-11-04 Martin Mares <[email protected]> 454 455 * Released as 2.1.9. 456 457 * pci.ids: Synced with the PCI ID Repository at SourceForge 458 (http://pciids.sourceforge.net/). 459 4602000-08-25 Martin Mares <[email protected]> 461 462 * pci.ids: Updated ID's, synced with kernel 2.4.0-test7. 463 4642000-06-13 Martin Mares <[email protected]> 465 466 * Makefile (uninstall): Fixed. 467 468 * pci.ids: ID updates. 469 4702000-05-20 Martin Mares <[email protected]> 471 472 * Released as 2.1.8. 473 474 * pci.ids: ID updates. 475 476 * lspci.c (show_verbose): Min/max latency is now printed in nanoseconds. 477 4782000-05-04 Martin Mares <[email protected]> 479 480 * lspci.c (show_verbose): If the header type doesn't match device 481 class, just print a warning and still use the header type, assuming 482 bogus class info. 483 4842000-05-01 Martin Mares <[email protected]> 485 486 * lspci.c (show_pm): Updated according to PCI PM specs 1.1. 487 488 * pci.ids: Updated Contemporary Control ARCnet card entries. 489 490 * pci.ids: Synchronized class list with latest PCI SIG documents. 491 4922000-04-29 Martin Mares <[email protected]> 493 494 * lib/names.c (pci_lookup_name): Fixed the cheat. 495 496 * lib/internal.h: Moved UNUSED/inline hacks above all other declarations. 497 498 * pci.ids: Various ID updates. 499 5002000-04-21 Martin Mares <[email protected]> 501 502 * Released as 2.1.7. 503 504 * pciutils.spec: Added German description. 505 506 * lib/names.c (pci_lookup_name): Added a cheat for case that subsystem ID's 507 are the same as device ID and just output subsystem name according to 508 device name. 509 510 * lib/proc.c: Use UNUSED instead of __attribute__((unused)). 511 512 * lib/pci.h: Added the correct typedefs for AIX. 513 514 * lib/generic.c (pci_generic_scan_bus): Export. 515 516 * lib/configure: Detect AIX. Use "echo '...\c'" instead of 517 "echo -n" if the shell isn't bash. 518 519 * lspci.c: Avoid using alloca() if not compiled by GCC. 520 (insert_dev): Avoid returning a void value. 521 522 * Makefile: Choose which install utility to use according to 523 OS type. Also use `-o' instead of `-or' in find arguments. 524 Part of the AIX port. 525 526 * lib/aix-device.c: Added AIX low-level interface. Contributed 527 by Dave Johnson <[email protected]>, thanks a lot! 528 529 * pci.ids: Few new ID's. 530 531 * pciutils.h, lib/internal.h: Redefine __attribute__ and inline 532 when not compiled by GCC. 533 5342000-04-17 Martin Mares <[email protected]> 535 536 * Released as 2.1.6. 537 538 * pci.ids: Added a large batch of ID's contributed by Gunther 539 Mayer <[email protected]> and synced the 540 list with the 2.3.99pre6 kernel. 541 542Thu Mar 9 13:11:39 2000 Martin Mares <[email protected]> 543 544 * lib/example.c: Added a simple example of how to use 545 the library. 546 547 * lspci.man, setpci.man: Revealed --version. Well spotted 548 by Adam Sulmicki. 549 550 * pci.ids: Added lots of new ID's and synced with 2.3.50. 551 552Tue Feb 15 00:16:21 2000 Martin Mares <[email protected]> 553 554 * Released as 2.1.5. 555 556 * pciutils.spec: Updated spec file from Andreas Jaeger. Now using 557 %{_mandir} to find the right location to install manual pages to. 558 559 * pci.ids: New ID's. 560 561 * setpci.c (main): Don't crash when `-s' or `-d' is given with 562 no argument. 563 564Mon Jan 24 20:04:11 2000 Andreas Jaeger <[email protected]> 565 566 * lib/i386-ports.c: Include <asm/io.h> only on systems without 567 glibc. 568 569Mon Jan 24 11:24:43 2000 Martin Mares <[email protected]> 570 571 * Makefile: Modified to work with the Linux FHS brain-damaged idea 572 of putting man pages to /usr/share/man. Now we choose either /usr/man 573 or /usr/share/man depending on which one exists. 574 575Sun Jan 23 10:52:34 2000 Martin Mares <[email protected]> 576 577 * pci.ids: Synced with Linux 2.3.40. 578 579 * Released as version 2.1.4. 580 581Thu Jan 20 11:08:32 2000 Martin Mares <[email protected]> 582 583 * lspci.c (scan_device): Fixed bug in reading of cardbus extensions. 584 585 * lib/proc.c: pread/pwrite fixed again, this time on libc5 :( 586 587 * lspci.c (format_agp_rate): Better formatting of AGP rates. 588 589 * pci.ids: New ID's. 590 591 * lib/configure: Added configuration for ia64 (the same as for Alpha). 592 Patch from Stephane Eranian <[email protected]>. 593 594Thu Jan 13 23:01:52 2000 Martin Mares <[email protected]> 595 596 * Released as version 2.1.3. 597 598 * pci.ids: New ID's. 599 600 * lspci.c: Alpha IO_FORMAT fix by Andrea Arcangeli. 601 602 * lib/access.c: Corrected order of access methods -- it's wonderful how 603 long could such a bug remain unspotted. Thanks go to Andreas Schockenhoff. 604 605Sat Dec 11 23:34:48 1999 Martin Mares <[email protected]> 606 607 * Released as version 2.1.2. 608 609 * lib/names.c (pci_lookup_name): Fixed printing of unknown subsystem ID's. 610 611Sat Dec 4 13:11:03 1999 Martin Mares <[email protected]> 612 613 * Released as version 2.1.1. 614 615 * pci.ids: Several new ID's. 616 617 * setpci.c (exec_op): Don't forget to increment address after writing 618 single value, so that `30.b=12,34,56,78' works as expected. Reported 619 by Petr Soucek <[email protected]>. 620 621Wed Nov 3 10:24:38 1999 Martin Mares <[email protected]> 622 623 * lspci.c (show_terse): If prog-if is zero, but it's present in the 624 ID list, show it. 625 626Sat Oct 30 11:06:35 1999 Martin Mares <[email protected]> 627 628 * Released as version 2.1. 629 630 * pci.ids: Synced to devlist.h in 2.3.24 kernel. Merged in 631 lots of contributed entries. 632 633Thu Oct 14 10:40:12 1999 Dave Jones <[email protected]> 634 635 * pci.ids: Added lots of subsystem definitions. 636 637Sat Oct 9 14:32:28 1999 Martin Mares <[email protected]> 638 639 * setpci.man: Better example. 640 641 * lspci.c: Resolve prog-if names. 642 643 * lib/names.c: Adapted to new pci.ids syntax. 644 645 * pci.ids: Reorganized the pci.ids file. Subsystems are listed 646 under devices, classes can optionally contain prog-if information. 647 New ID's, as usually. 648 649Wed Sep 22 09:45:24 1999 Martin Mares <[email protected]> 650 651 * pci.ids: New ID's. As usually. 652 653 * lspci.c (show_htype1, show_htype2): Don't show `closed' bridge windows 654 unless we're vvvery verbose. 655 656Mon Sep 20 11:22:54 1999 Martin Mares <[email protected]> 657 658 * lspci.c (show_htype2): Don't forget a TAB before the "I/O window" line. 659 660Tue Sep 14 09:31:01 1999 Martin Mares <[email protected]> 661 662 * pci.ids: New ID's. Again. 663 664Thu Aug 5 17:45:42 1999 Martin Mares <[email protected]> 665 666 * lspci.c (show_size): Don't show size if it's zero (usually 667 due to bus-centric mode being enabled). 668 669Tue Jul 20 13:25:09 1999 Martin Mares <[email protected]> 670 671 * lib/pci.h: Types are OS dependent. 672 673 * lib/internal.h: Byte order hacks are OS dependent. 674 675 * lib/configure: Recognize FreeBSD. Also set OS_XXX according to the OS. 676 677 * lib/Makefile, lib/access.c: Added fbsd-device target. 678 679 * pci.ids: Added an entry for PLX 9080 bridges with subsystem ID 680 incorrectly set to device ID. 681 682 * README: Added a note that we support FreeBSD. 683 684 * Makefile (PREFIX, ROOT): Set it depending on the OS. 685 (%.8): Grrr, BSD date is not able to convert date formats the same way 686 as GNU date does. Use sed instead. 687 (install): Use `-c' when calling install. 688 689 * lib/fbsd-device.c: Added FreeBSD /dev/pci access module contributed 690 by Jari Kirma <[email protected]>. 691 692 * lib/proc.c: Rewrote the pread/pwrite things once again. Use pread 693 and pwrite only when we are certain it's safe (i.e., glibc 2.1 694 on all architectures or any libc on a i386 where we really know 695 how to use syscalls directly). In all other cases, emulate it 696 with lseek/read/write. 697 698 * pci.ids: Some more IDs. 699 700Mon Jul 19 14:10:36 1999 Martin Mares <[email protected]> 701 702 * pci.ids: Added IDs of parallel port controller cards as sent 703 by Tim Waugh <[email protected]>. 704 705Wed Jul 7 00:55:48 1999 Martin Mares <[email protected]> 706 707 * lib/proc.c (proc_scan): HAVE_LONG_ADDRESS instead of HAVE_64BIT_ADDRESS. 708 709 * lspci.c: ADDR_FORMAT now depends on both HAVE_64BIT_ADDRESS and 710 HAVE_LONG_ADDRESS. 711 712 * lib/configure: HAVE_64BIT_ADDRESS now doesn't imply that the addresses 713 are represented as long long. Introduced a new flag HAVE_LONG_ADDRESS 714 to indicate this. Both Sparc architectures now use both 64BIT_ADDRESS 715 and LONG_ADDRESS since they have 32-bit userland, but don't set LONG_ADDRESS 716 on Alpha. 717 718 * lspci.c (show_msi): Added dumping of the MSI capability. 719 (show_slotid): The same for SlotID capability. 720 (show_caps): Seperated capability dumping, because it should 721 be used for both htype0 and htype1. Even PCI 2.2 doesn't mention 722 layout of htype2, so I'm a bit unsure about it wrt capabilities 723 -- they at least have to live somewhere else since address 0x34 724 is already defined differently in htype2. 725 726 * lib/header.h (PCI_STATUS_UDF): Marked as obsolete (PCI 2.2). 727 (PCI_BASE_ADDRESS_MEM_TYPE_1M): Ditto. 728 (PCI_CAP_ID_*): Added some new capabilities defined in PCI 2.2. 729 730 * lspci.c (show_htype0): Mask out lowest 2 bits from all capability pointers 731 (required by the PCI 2.2 specs). 732 733Mon Jul 5 12:45:19 1999 Martin Mares <[email protected]> 734 735 * lspci.c (show_size): Added new function for dumping of region sizes. 736 (show_rom): Added. Now correctly dumps unassigned ROM addresses, disabled 737 ROMs et cetera. 738 739 * lib/pci.h (struct pci_dev): known_fields moved to the public part 740 of the structure. 741 742 * Added support for region sizes. Needs support in the kernel, because 743 sizes have to be scanned before drivers initialize yourself. pci_fill_info() 744 now returns a bitmask of what fields were really read. 745 746Mon Jun 28 18:37:51 1999 Dave Jones <[email protected]> 747 748 * Makefile: 749 Added `uninstall' target - removes all traces of pciutils. 750 * pci.ids: 751 - Lots of cleanups in the ATI, S3, Adaptec vendors. 752 - Changed Compaq QVision 1280/p definitions, as it's not possible 753 to determine the revision from the device ID. 754 - Same for the Tseng ET4000. 755 The id's said I had a rev C, when it was actually a rev B. 756 - Removed some unnecessary strings 757 `PCI'. Unless it's an AGP card, it should be obvious that it's PCI. 758 `Ethernet card'. This should be determined from config space. 759 - Lots of other new vendors & devices 760 - Other additional small cleanups. 761 762Mon Jun 21 22:11:10 1999 Martin Mares <[email protected]> 763 764 * lib/names.c (pci_lookup_name): When device ID lookup 765 fails, return hexadecimal device ID instead of vendor ID. 766 Well spotted by Axel Bodemann <[email protected]>, 767 I've just extended the fix to subsystem ID's. 768 769Thu Jun 17 19:48:21 1999 Martin Mares <[email protected]> 770 771 * lspci.c (show_agp): Bug fix from Petr Vandrovec 772 <[email protected]>. The command register was displayed 773 incorrectly. 774 775Wed Jun 2 22:42:44 1999 Martin Mares <[email protected]> 776 777 * lib/proc.c (SYS_pread, SYS_pwrite): Use hard-coded 778 numbers if not supplied by the libc. 779 780Wed May 19 13:24:39 1999 Martin Mares <[email protected]> 781 782 * Released the whole package as version 2.0. 783 784Fri May 14 22:42:02 1999 Martin Mares <[email protected]> 785 786 * pci.ids: Added several new ID's contributed by people 787 on the linux-pci list. 788 789Mon Apr 19 15:21:08 1999 Jakub Jelinek <[email protected]> 790 791 * lspci.c: Display I/O addresses correctly on sparc64. 792 * lib/header.h: Ditto. 793 794 * lib/configure: On sparc set HAVE_64BIT* as well, we want 795 a binary which works on both 32bit and 64bit SPARCs. 796 797Sun Apr 18 21:14:58 1999 Martin Mares <[email protected]> 798 799 * lspci.c, lib/proc.c: Alpha compilation fixes from Matthew Jacob 800 <[email protected]>. 801 802 * pci.ids: A lot of updates from Adam J. Richter <[email protected]>. 803 804Sun Feb 28 22:26:21 1999 Martin Mares <[email protected]> 805 806 * lspci.c (do_map_bus): Don't dump functions 1--7 if not flagged 807 as a multi-function device, because several single-function devices 808 don't decode the function bits at all. 809 810Sun Feb 14 23:48:22 1999 Martin Mares <[email protected]> 811 812 * Makefile (install): Don't use "-o root -g root" for installation 813 since it breaks on machines where programs are not installed by root. 814 Reported by Richard Gooch <[email protected]> 815 816Tue Feb 9 15:54:39 1999 Martin Mares <[email protected]> 817 818 * lspci.c (show_bases): Use new address masking macros and pciaddr_t. 819 820 * lib/pci.h: Using pciaddr_t for bus addresses, which are 32-bit 821 or 64-bit depending on CPU. 822 823 * lib/pci.h (PCI_ADDR_MEM_MASK): Added macros for address masks 824 according to bus address width. 825 826Thu Jan 28 20:54:16 1999 Martin Mares <[email protected]> 827 828 * Released as 1.99.4. 829 830 * lspci.c: Capability list parser now recognizes both AGP 831 registers and PCI Power Management registers (the latter 832 is mainly guesswork based on DEC/Intel 21153 bridge specs 833 since I don't have the PCI Power Management document). 834 835 * lspci.c: Replaced numerous occurences of (x & flag) ? '+' : '-' 836 by FLAG macro. 837 838 * lspci.c: Added bridge checks to bus mapping code. 839 840Wed Jan 27 14:59:16 1999 Martin Mares <[email protected]> 841 842 * lspci.c: Implemented bus mapping mode (-M). 843 844 * lspci.c (scan_devices): Split to scan_devices() and scan_device(). 845 (show): Split to show() and show_device(). 846 847 * lib/access.c (pci_init): When a->method == PCI_ACCESS_AUTO, 848 set it to the real access method afterwards. 849 850Mon Jan 25 23:46:13 1999 Martin Mares <[email protected]> 851 852 * lib/generic.c (pci_generic_fill_info): If in buscentric mode, 853 don't check PCI_COMMAND for I/O and memory enables. 854 855Mon Jan 25 21:28:49 1999 Martin Mares <[email protected]> 856 857 * Makefile: Added target `release' which substitutes new version 858 number to .spec, .lsm and README. Also rewrote target `dist'. 859 860 * Released as 1.99.3. 861 862Sun Jan 24 22:10:36 1999 Martin Mares <[email protected]> 863 864 * lib/header.h: Until kernel adopts new layout of PCI 865 includes (i.e., separate declaration of header structure, 866 functions and device IDs), which is not going to happen 867 before 2.3, we'll use our own definiton of the header. 868 869 * lspci.c (show_verbose): Display `Cap' flag in device status. 870 871 * lspci.c (show_htype0): Display capability lists whereever 872 available. The only capability name we recognize now is `AGP'. 873 Unfortunately, capabilities are stored in device-dependent 874 portion of the configuration space and are thus available 875 only to root unless you read a dump. 876 877 * lspci.c (scan_devices): Use cache instead of buffering. 878 879 * lib/buffer.c: Removed (obsoleted by the cache). 880 881 * lib/access.c: Added general caching mechanism. 882 883Sat Jan 23 21:30:54 1999 Martin Mares <[email protected]> 884 885 * pci.ids: Added few devices. 886 887Fri Jan 22 19:29:31 1999 Martin Mares <[email protected]> 888 889 * Version string is now defined in top-level Makefile, exported 890 to the configure script and also substituted to man pages. 891 892 * lspci.c (show_bases): Rewrote displaying of 64-bit addresses. 893 (show_verbose): Rewrote interrupt display logic. 894 895 * lib/i386-ports.c: Include sys/io.h only on glibc systems. 896 897 * lib/configure: Rewrote detection of Linux versions. Now it 898 works on 2.0 kernels (only with direct/dump access, of course). 899 900 * lib/internal.h: New bytesex macros using <asm/byteorder.h> 901 whenever available. 902 903 * lib/proc.c (proc_read, proc_write): Distinguish between short 904 read/write and real errors. 905 906 * lspci.c (show_htype{0,1}): Always use d->dev->rom_base_addr since 907 libpci respects buscentric mode automatically. 908 909 * lspci.c (show_hex_dump): For CardBus bridges, print out 128 910 bytes of header (the whole standard part). 911 912 * common.c: pcilib options are now all uppercase. Also moved 913 PCI access debugging option here. 914 915 * Released as 1.99.2. 916 917Wed Jan 20 22:50:35 1999 Martin Mares <[email protected]> 918 919 * Wrote configure script and rewrote Makefiles. 920 921 * Removed few unused variables. 922 923Wed Jan 20 12:21:56 1999 Martin Mares <[email protected]> 924 925 * common.c: Moved several functions used in both setpci and lspci 926 here. This includes parsing of libpci-related options. 927 928 * More library tweaks. 929 930 * filter.c, names.c: Moved to library. 931 932 * setpci: Rewritten to use the library. 933 934 * Released as 1.99.1. 935 936Tue Jan 19 23:00:12 1999 Martin Mares <[email protected]> 937 938 * lspci.c (scan_devices): For cardbus bridges, read first 128 939 bytes of config space to get full standard header. 940 941 * Makefile (CFLAGS): Removed "-Wno-unused". 942 943 * Started the "New Generation" branch and introduced the 944 PCI library. 945 946 * lspci: Rewritten to use the library. 947 948Tue Jan 19 22:24:08 1999 Martin Mares <[email protected]> 949 950 * Released as version 1.10. 951 952Mon Jan 18 08:51:17 1999 Martin Mares <[email protected]> 953 954 * lspci.8, setpci.8: Miscellaneous fixes as suggested by 955 Dag Wieers <[email protected]>. 956 957Sun Nov 29 20:05:56 1998 Martin Mares <[email protected]> 958 959 * pciutils.spec (Name): Update from Krzysztof G. Baranowski. 960 961Sun Nov 22 10:49:56 1998 Martin Mares <[email protected]> 962 963 * Makefile, pciutils.h: Moved pci.ids to /usr/share. 964 965 * Released as version 1.09. 966 967Wed Nov 18 15:47:05 1998 Martin Mares <[email protected]> 968 969 * lspci.c (show_htype1): Fixed displaying of prefetchable memory behind 970 bridge. Thanks to Petr Vandrovec <[email protected]> for bug report. 971 972Fri Oct 23 18:59:19 1998 Martin Mares <[email protected]> 973 974 * setpci.c: Don't include <syscall-list.h> with glibc >= 2.1. 975 976Mon Oct 19 21:53:30 1998 Martin Mares <[email protected]> 977 978 * Released as version 1.08. 979 980 * setpci.c: glibc 2.1.x already defines pread() and pwrite(). 981 982 * lspci.8: Changed warning about lspci -xxx. 983 984 * lspci.c: Require "-xxx" for full configuration space dump, so that 985 it's impossible to crash the machine by single typo. 986 987 * specs: Added (courtesy of Krzysztof G. Baranowski <[email protected]>). 988 989Wed Sep 9 12:03:24 1998 Martin Mares <[email protected]> 990 991 * lspci.c (show_bases): Better displaying of unassigned and 992 disabled bases. Thanks to Gabriel Paubert <[email protected]> 993 for an idea. 994 995Wed Sep 2 10:58:01 1998 Martin Mares <[email protected]> 996 997 * setpci.c (pread): Recognize glibc 1.99 numbered as 2.0 on the PPC. 998 (thanks to Geert Uytterhoeven for finding this out) 999 1000Fri Jul 17 10:43:30 1998 Martin Mares <[email protected]> 1001 1002 * lspci.c (show_verbose): Print subsystem ID using the new resolver. 1003 (show_machine): Print subsystem ID. 1004 1005 * names.c: New name resolution engine supporting subsystem IDs. 1006 1007 * Released as version 1.07. 1008 1009Wed Jul 15 15:37:21 1998 Martin Mares <[email protected]> 1010 1011 * lspci.c (show_htype2 etc.): Displaying of CardBus headers. 1012 (show_bases): Honor the `cnt' argument. 1013 (grow_tree): Parse CardBus headers in tree mode as well. 1014 1015 * pci.h: Updated CardBus header field description. I still don't 1016 have the CardBus standard available, but OZ6832 specs contain 1017 full description of all header fields supported by the chip. 1018 1019Tue Jun 9 22:53:59 1998 Martin Mares <[email protected]> 1020 1021 * Released as 1.06. 1022 1023 * names.c (parse_name_list): Killed an unused variable. 1024 1025 * setpci.c (pread, pwrite): Define SYS_(pread|pwrite) as __NR_\1 1026 if they are not defined by glibc (needed for glibc built on older 1027 kernels). Ugly. 1028 1029 * setpci.c (exec_op): Fixed error messages. Thanks, Steve! 1030 1031Mon Jun 8 10:59:22 1998 Martin Mares <[email protected]> 1032 1033 * Released as 1.05. 1034 1035 * setpci.c: Problems with pread()/pwrite() with glibc on Alpha 1036 should be gone. Again thanks to Steve for bug report. 1037 1038 * filter.c (filter_parse_slot): Fixed ":x" type filters. 1039 1040 * pci.ids: Killed duplicate entry. Thanks to Stephen Williams 1041 <[email protected]> for reporting this. 1042 1043Sun Jun 7 19:27:51 1998 Martin Mares <[email protected]> 1044 1045 * lspci.c (main), setpci.c (main): Implemented "--version". 1046 1047 * Released as 1.04. 1048 1049 * pciutils.h (PCIUTILS_VERSION): Added version string. 1050 1051 * filter.c, names.c: Extraneous #include <linux/pci.h> removed. 1052 Thanks to Geert Uytterhoeven <[email protected]> 1053 for bug report. 1054 1055Thu May 28 14:45:58 1998 Martin Mares <[email protected]> 1056 1057 * pci.ids: More updates from Jens Maurer. 1058 1059Wed Apr 22 10:00:39 1998 Martin Mares <[email protected]> 1060 1061 * pci.ids: Updates from Jens Maurer. 1062 1063Sun Apr 19 11:14:25 1998 Martin Mares <[email protected]> 1064 1065 * Released as 1.03. 1066 1067 * setpci.8: Written. 1068 1069 * setpci.c: Finished. 1070 1071 * lspci.c: Now able to fetch expansion ROM base from kernel device list 1072 and print it if not in buscentric mode. 1073 1074Tue Mar 31 23:11:57 1998 Martin Mares <[email protected]> 1075 1076 * setpci.c: Added. 1077 1078Sun Mar 22 15:39:08 1998 Martin Mares <[email protected]> 1079 1080 * lspci.8: Updated the documentation. 1081 1082 * lspci.c: Modified to use the new filtering mechanism (options -f and -d). 1083 1084 * filter.c: Introduced new generic device filter. 1085 1086Thu Mar 19 17:03:48 1998 Martin Mares <[email protected]> 1087 1088 * lspci.c (grow_tree, show_tree_dev, print_it): Fixed displaying 1089 of PCI-to-PCI bridges in the tree format. 1090 1091Sun Feb 15 10:12:25 1998 Martin Mares <[email protected]> 1092 1093 * lspci.c (show_machine): Added non-verbose mode of machine-readable 1094 dump. 1095 1096 * pci.ids: Updates from Jens Maurer. 1097 1098 * Released as version 1.02. 1099 1100Thu Feb 12 16:53:28 1998 Martin Mares <[email protected]> 1101 1102 * lspci.c: Added a "-m" switch for dumping machine-readable 1103 configuration data (requested by Bjoern Kriews <[email protected]>). 1104 1105Mon Feb 9 13:17:43 1998 Martin Mares <[email protected]> 1106 1107 * Makefile, pciutils.h: Include local pci.h instead of <linux/pci.h> 1108 if available. This should avoid all problems with official kernel 1109 not synchronized to newer PCI code in CVS -- standard distribution 1110 of pciutils now contains pci.h from current CVS kernel, pciutils 1111 in CVS contain no pci.h and use the correct kernel include. 1112 1113 * Makefile: Fixed installation path for man pages. 1114 1115Sat Feb 7 15:15:46 1998 Martin Mares <[email protected]> 1116 1117 * README: Updated. 1118 1119 * lspci.8: Created a man page. 1120 1121 * Releasing as version 1.0. 1122 1123Tue Feb 3 20:56:00 1998 Martin Mares <[email protected]> 1124 1125 * Makefile: Recognize architecture by calling uname and pass it as ARCH_xxx 1126 to all the C sources. This should eliminate problems with 32-bit compilers 1127 on sparc64. 1128 1129 * lspci.c (show_verbose): Recognize CardBus bridge header type. 1130 (show_htype2): Stub routine. 1131 (scan_config): Write sensible error message if the kernel denies reading of 1132 upper part of the PCI config space. 1133