X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=ChangeLog;h=37d10e2d472e6ed7667075150ded81c982e2118c;hb=94db5c82212761573cc656df77c727001f554591;hp=57838b6d4660636957f3f7abed1df7987e86a964;hpb=4063c31c8f8a4110e7dd70d612fb64ef9ec1941c;p=pciutils.git diff --git a/ChangeLog b/ChangeLog index 57838b6..37d10e2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,595 @@ +2006-09-09 Martin Mares + + * Whitespace cleanup of all source files. + + * The pci.ids file can be stored compressed if zlib is available. + Added transparent decompression to lib/names.c, modified update-pciids.sh + to keep the file compressed if applicable, updated Makefiles. + Based on a patch by Matthew Wilcox, but all the bugs are mine. + + * Makefile, README: Allow installation to be done to a different directory + from the one we will eventually be placed in by setting DESTDIR. + Patch by Matthew Wilcox. + + * Added .gitignore files. + + * Makefile (clean): Clean *.orig, too. + + * Cleaned up usage of `char' and `byte'. + + * lib/header.h: PCI_CLASS_DOCKING_OTHER should be 0x0a80, not 0x0a01. + + * lib/header.h: Added PCI_CLASS_xxx constants for all classes currently + defined in the pci.ids file. + +2006-08-01 Martin Mares + + * lib/i386-io-hurd.h: Fixed a silly typo. + +2006-07-30 Martin Mares + + * lib/Makefile: Added a missing rule for obsd-device.o. + + * lspci.c, lib/header.h: Added support for MSI per-vector masking. + Contributed by Petr Vandrovec. + + * lspci.c, lib/header.h: Added support for the `bridge subsystem ID' + capability. Contributed by Petr Vandrovec. + + * lspci.c (show_htype1): Fixed bug in printing of 64-bit prefetchable + memory windows. Fix by Petr Vandrovec. + + * maint/release.pm: Exclude .git directory from releases. + + * lib/i386-ports.c, lib/i386-io-*: Report failures during port access + initialization by a->warn() instead of calling printf() or perror() + directly. + + * lib/i386-ports.c, lib/i386-io-*: Moved the logic which keeps track of + the port access state to generic code. + + * lib/i386-io-hurd.h: Ask the kernel for I/O port access appropriately. + Contributed by Thomas Schwinge and Samuel Thibault. + + * lib/i386-ports.c: Define _GNU_SOURCE, it's needed by the Hurd module. + + * lib/header.h: Whitespace cleanups. + + * lib/i386-io-windows.h: Fixed indentation and spelling. + + * README.Windows: Mention that WinIO.dll is needed and where to get it. + +2006-06-27 Martin Mares + + * lib/Makefile, Makefile: Added rules for building and cleaning the example. + + * lib/example.c: Show how to use PCI_FILL_CLASS and used another register + for demonstrating the config space accesses. The example is still very + incomplete, though. + + * lib/pci.h, lib/generic.c: Added PCI_FILL_CLASS. + + * lib/sysfs.c: Fetch device ID and class from sysfs, because they can + be modified by kernel fixups. + + * lspci.c: Use PCI_FILL_CLASS. Thanks to Matthew Willcox for the patch. + +2006-06-03 Martin Mares + + * lspci.c: Introduced the -nn switch. Thanks to David N. Welton + for the idea. + + * lib/names.c (pci_lookup_name): Introduced PCI_LOOKUP_MIXED and + cleaned up the name selection code. + + * lib/names.c (pci_lookup_name): If PCI_LOOKUP_NO_NUMBERS is given, + pci_access->numeric_ids is ignored. + + * lib/names.c (pci_lookup_name): When class is identified and + subclass isn't, display class name and subclass number. + +2006-05-31 Martin Mares + + * setpci.c (main): Don't crash when an invalid width is specified. + + * lspci.c, setpci.c, common.c: die() now uses the right program + name when printing an error message. + +2006-05-19 Martin Mares + + * README: Mention the public GIT tree. + + * README: Updated the list of ports. + +2006-05-10 Martin Mares + + * lib/configure, lib/fbsd-device.c: Added support for GNU/kFreeBSD. + Thanks to Petr Salinger for the patch. + +2006-05-05 Martin Mares + + * Released as 2.2.3. + + * lspci.c (scan_device): The -D switch didn't work as intended + in -m mode. + +2006-05-05 Martin Mares + + * Released as 2.2.2. + + * pci.ids: Updated to the current database snapshot. + + * lib/obsd-device.c (and other files in lib/*): Added OpenBSD + interface by Matthieu Herrb , based on + the existing FreeBSD interface. + + * Moved pciutils to a GIT repository, which now contains merged + history from both CVS and Arch. Good bye, TLA! + +2006-03-21 Martin Mares + + * lspci.c (show_slot_name): Avoid the previous changes in default + display of domain name when in machine-readable mode. However, `-D' + forces domain display even there. + + * lspci.man: Added a warning on -m being the only format, which is + guaranteed to be stable between lspci versions. + +2006-03-13 Martin Mares + + * lspci.man: Documented the -D switch. + + * lspci.c (show_slot_name, scan_device): If there are multiple PCI + domains or if the `-D' switch is used, show the domain number for + all devices. + + * lspci.c (show_verbose): Report cache line size in bytes. + + * update-pciids.sh: Use curl if available. Patch by Matthew Wilcox. + +2006-01-04 Martin Mares + + * lspci.c (show_express_link): Fixed decoding of link status register. + Thanks to Roland Dreier for his report. + +2005-12-12 Martin Mares + + * lib/nbsd-libpci.c: If libpci is used by an ordinary user, allow + at least read-only access. Patch by Pavel Celeda . + + * Makefile: Corrected library path on NetBSD. + +2005-11-26 Martin Mares + + * Released as 2.2.1. + + * lspci.c (show_machine): Subsystem vendors were printed incorrectly + in machine-readable modes. Thanks to Pavel Celeda for a bug report. + +2005-10-11 Martin Mares + + * lspci.c (new_bus): Fixed a memory leak. Thanks to Paul Sangree for reporting it. + +2005-09-21 Martin Mares + + * Released as 2.2.0. + + * pci.ids: Updated copyright header. + + * lib/sysfs.c (sysfs_get_resources): Removed warning about unsupported + 64-bit addresses, they are now always supported. + + * lspci.c (show_bases): Corrected printing of 64-bit addresses + in bus-centric mode. + + * lib/configure: Enable 64-bit addresses on all Linux systems. + + * lib/types.h: Don't pad 64-bit addresses to 16 xigits, only to 8 if they + are shorter. + +2005-09-11 Martin Mares + + * Released as 2.1.99-test11. + + * lspci.c: Removed unnecessary trailing zeros in pci_lookup_name() calls. + +2005-09-10 Martin Mares + + * Released as 2.1.99-test10. + + * pci.ids: Synchronized with the current database snapshot. + + * update-pciids.sh: Changed the default URL for downloading pci.ids + to http://pciids.sourceforge.net/v2.2/pci.ids. + + * lib/pci.h (PCI_LIB_VERSION): Added version identifier. + + * lib/names.c: Rewritten the name database module almost from scratch. + Everything is much cleaner and there are hopefully no more memory leaks; + pci_lookup_name() now uses varargs in a backward compatible fashion. + Introduced PCI_LOOKUP_NO_NUMBERS. + + The new code supports subsystem entries not tied to a specific device. + I had to extend the format of pci.ids in order to support it, so I have + extended the idea of the "C" (class) blocks and introduced "S" blocks + for subsystems. To avoid doing more incompatible changes in the future, + the parser skips unknown single-letter blocks without reporting errors. + +2005-08-23 Martin Mares + + * Released as 2.1.99-test9. + + * Makefile (OPT): Removed -fomit-frame-pointer, it's default in recent + gcc versions when optimizing anyway. + + * Made the path to pci.ids customizable and independent on the SHAREDIR. + Just override IDSDIR in the top-level Makefile. + + * pci.ids: Synchronized with the current database snapshot. + + * lspci.man, setpci.man: Improved the man pages. Documented all access + methods and which operations are privileged. + + * lspci.c: Another rewrite of config register caching, now also including + lots of internal checks. It should be now perfectly able to cope with + portions of the configuration space being inaccessible, for example + due to insufficient access rights. + + * lspci.c (show_pcix_nobridge, show_pcix_bridge): Cleaned up dumping of PCI-X + capabilities. Includes partial support for PCI-X 2.0 (probably incomplete + as I haven't seen the spec). + + * lspci.c: Quell warnings about unused parameters. + + * lspci.c: Removed C++ comments. + + * lib/header.h: Merged definitions of extended capabilities and some new + PCI-X capability bits from linux-2.6.11/include/pci.h. + + * lspci.c (show_caps): Try to scan extended capabilities only if the + device has either PCI-X or PCI Express capability in its normal capability + list. + + * lib/dump.c (dump_init): Reading of dumps works again. The dump reader + now also remembers how much data it has read and refuses attempts to + access more than that. + + * setpci.man, lspci.c, README: prefer spelling "buses" over "busses". + + * lspci.c: If alloca() is not available, use xmalloc(), not malloc(). + + * lib/configure: Added x86_64 on Linux. + +2005-08-22 Martin Mares + + * lib/filter.c (pci_filter_parse_slot): Fixed parsing of domain filters. + Thanks to Matthew Wilcox for bug report. + + * lspci.c: Corrected spelling of "Hz" (it was "hz" at several places). + Thanks to Krzysztof Oledzki for pointing that out. + +2004-08-19 Martin Mares + + * pciutils.spec (%attr): Setting attributes for /sbin/* is an anachronism, + because pciutils by default install to /usr/sbin. Update. + +2004-08-13 Martin Mares + + * Released as 2.1.99-test8. + + * lib/types.h, lib/pci.h, lib/sysdep.h: `byte' and `word' are + no longer exported to the outside world. + + * README.Windows: Updated. + + * maint/release: Substitute version number in win32/config.h. + + * win32/config.h: Added. + + * lib/sysdep.h (bzero, strcasecmp): are macros on Windows. + + * compat/getopt.[ch]: Added copies of getopt.[ch] from the GNU + C library for use on systems where the default libraries lack + proper getopt. Currently used by the Windows port. + + * lib/sysdep.h, lib/types.h: Updates of the Windows port from + Alexander Stock. + + * lib/types.h: If PCI_HAVE_Uxx_TYPES is defined, libpci doesn't define + its own u8, u16, u32, byte and word types and uses what the user + has supplied instead. With this change, all namespace clashes should + be gone. + + * Makefile, lib/Makefile: Updated dependencies. + + * pciutils.h: Include lib/sysdep.h and move NONRET et al. there. + + * lib/sysdep.h: No need to include on FreeBSD, because + it is included unconditionally in lib/types.h. + + * Moved system-dependent stuff from lib/internal.h to lib/sysdep.h, + which is also used by the utilities. Also moved type declarations + from lib/pci.h to lib/types.h. + + * All files: Prepend a "PCI_" prefix in front of all configuration + defines to avoid namespace clashes. CAVEAT: If there is any libpci + application using the (undocumented) defines, it has to be updated. + + * lib/Makefile: Killed HAVE_OWN_HEADER_H, since we stopped sharing + headers with the kernel a couple of years ago. + + * lib/sysfs.c (sysfs_get_resources): We have 7 resources, not 6. + + * lspci.c (show_rom): Use the same logic for printing disabled + or unassigned ROM's as we do in show_bases() for the other BAR's. + + * lib/generic.c (pci_generic_fill_info): Better reaction to + invalid 64-bit addresses. Also d->hdrtype should not include + bit 7, which caused mysterious errors on multi-function devices. + + * lib/generic.c (pci_generic_fill_info): Fill in base addresses + even if the regions are known to be disabled. It is the client's + job to interpret them. (And it is not a trivial job if you want + to do it correctly, since you need to check I/O and memory enables + on all upstream bridges, too.) However, it could be interesting to + introduce functions for interpreting the addresses and even for + mapping the regions and doing I/O on them. + +2004-07-30 Martin Mares + + * lspci.c: HyperTransport improvements from Maciej. + +2004-07-11 Martin Mares + + * lib/sysfs.c (sysfs_get_resources): Arguments now correspond + to the format string. [Patch by Bill Nottingham] + +2004-07-05 Martin Mares + + * Released as 2.1.99-test7. + + * lspci.c (config_fetch): Wanted to merge Matthew's bug fix, but + ended up with rewriting the fetching mechanism to be fully dynamic, + but avoid reading config space registers not explicitly requested. + +2004-06-29 Matthew Wilcox + + * lspci.c: More work on PCI Express dumping. + + * lib/header.h: Updated PCI Express capability definitions. + + * lib/proc.c (proc_read): Removed bogus warning. + + * common.c (xrealloc): Introduced. + + * lspci.man: Added -xxxx. + +2004-06-27 Martin Mares + + * Released as 2.1.99-test6. + + * lspci.c (show_msix), lib/header.h: Added dumping of MSI-X cap. + Patch by Roland Dreier , cleaned up by me. + + * lspci.c (show_pcix_nobridge, show_pcix_bridge): Handle config_fetch() + failures. + + * lib/header.h: Added PCI Express extended capabilities. Again by Matthew. + + * lspci.c (show_express): Added dumping of PCI Express cap. + Patch by Matthew Wilcox. + + * lib/header.h: Added a list of PCI 3.0 capabilities and also details + on PCI Express caps. Patch by Matthew Wilcox . + + * lspci.c (check_root): Gone. No explicit checks for root are needed, + report correct errors reported by the libpci instead. + + * lspci.c: Added dumping of the extended config space on "-xxxx". + Better caching of config registers. + + * setpci.c (main): Allow access to whole 4096 bytes of the config space. + + * lib/sysfs.c, lib/proc.c: Don't print error messages on short reads, + just return the appropriate error code. + + * lib: Added support for extended (4096-byte) configuration space, + currently implemented only in Linux proc and sysfs access methods + and of course in the dump reader. + +2004-05-29 Martin Mares + + * Released as 2.1.99-test5. + + * lib/pci.h: Windows don't have the standard u_int* types. + + * lib/internal.h: required on Windows for endianity + macros. + + * lib/i386-ports.c: Connected i386-io-windows.h. + + * lspci.c (check_root): geteuid() is not available on Windows. + + * lib/i386-io-windows.h: Added Windows port contributed by Alexander + Stock . + + * lib/configure: Hopefully fixed SunOS port broken by various + changes to the configure script. + + * Makefile, lib/configure: Cross-compilation support, patch by Maciej. + +2004-05-28 Martin Mares + + * Released as 2.1.99-test4. + + * lspci.c (show_verbose): Header type 1 is probably legal for all + types of bridges, not only for PCI-to-PCI bridges. + + * lspci.c (format_agp_rate): Write "x16", not "x@". + (show_agp): rate[] could overflow. + Bugs reported by Jakub Bogusz . + + * lspci.c (show_ht_*): Show HyperTransport capability with all its + details. Once again code by Maciej simplified (i.e., possibly broken) + by me. + + * lib/header.h: Added declarations of HyperTransport capability. + Again thanks to Maciej. + + * lspci.c: Decode all bits of the secondary status word in type 1 headers. + Thanks to Maciej W. Rozycki for the patch. + +2003-12-27 Martin Mares + + * Released as 2.1.99-test3. + + * lspci.man, setpci.man: Document domains and correct spelling. + + * lib/dump.c (dump_init): Added ability to read domain numbers. + + * lspci.c: Devices in domains different from 0 have their slot number + printed as "::.". Tree view supports domains + as well. + + * lib/filter.c: Slot filters understand domains. + + * lib/generic.c: Mention the domain in slot numbers in all error messages. + + * lib/internal.h: The #ifdef for Linux was wrong. + + * lib/access.c (pci_get_dev): Added support for domains. + + * lib/sysfs.c (sysfs_scan): Read vendor and device ID from the config + registers (or to be precise, leave it for the generic parts of the pcilib + to do so) instead of reading them from the sysfs. It's faster this way. + + * lspci.c (show_pcix): Don't touch pci_dev->hdrtype, it's an internal + variable. Better read it from the config registers (it's cached anyway). + + * lib/sysfs.c (sysfs_scan), lib/proc.c (proc_scan): Don't read the hdrtype. + lib/generic.c (pci_generic_fill_info): If hdrtype is -1 (unset), read it. + Saves lots of unnecessary file accesses. + + * lib/pci.h (PCIADDR_PORT_FMT): Use %llx instead of %Lx, because the latter + is not supported by all C libraries. + + * Makefile: Always enter the lib directory (remember that we don't have + full dependecies for the library in the top-level Makefile; hmmm, another + thing to rewrite some day). + + * lib/sysfs.c: Added Linux sysfs access method based on the patch + written by Matthew Wilcox . + + * lib/proc.c: Renamed the access method name from "/proc/bus/pci" to "Linux-proc". + + * lib/pread.h: The hacks to support pread on various versions + of Linux libc moved there. + + * lib/proc.c (proc_setup): The return value of snprintf() varies + between glibc versions, so we need to check both for a negative + values and for too large values. + + * Removed last few references to the "Linux PCI Utilities", the + package is pretty cross-platform now :) + +2003-12-27 Martin Mares + + * Released as 2.1.99-test2. + + * README, pciutils.lsm, pciutils.spec: Use @VERSION@ to make the + release scripts insert the current version. "make release" is gone. + + * maint/release, maint/release.pm: Added a new system of scripts for + making releases including inter-version diffs etc. + + * Makefile: Cleaned up. + + * lib/fbsd-device.c: I patched another copy of this file by mistake, + this time the version checks should be right. + +2003-12-27 Martin Mares + + * Released as 2.1.99-test1. + + * pciutils.h, common.c, lspci.man, setpci.man, lib/internal.h: + Remove shadows of the syscall access method which was never + implemented. + + * update-pciids.sh: Try to preserve permissions of the old file + if chmod supports --reference. Should close Debian Bug #223740. + + * lib/proc.c (proc_setup): Increased path name length limit to 1024. + Thanks for Redhat and Mandrake for inspiration. + + * lib/configure: Recognize ppc and ppc64, both have 64-bit addresses. + Grabbed from Redhat (Fedora) patches. + +2003-12-27 Martin Mares + + Merged bug fixes from Debian patches: + + * lspci.c (show_verbose): "Cache Line Size" should be capitalized. + + * lspci.c (show_pcix_nobridge): Added a missing newline. + + * lib/proc.c (proc_scan): When reading the header type, don't + forget to clear the topmost bit indicating that the device has + multiple functions. + +2003-12-27 Martin Mares + + Updated the FreeBSD port. Thanks to Samy Al Bahra + for the patches: + + * lib/Makefile: Add ${FREEBSD_SYS} to the include path if it's defined. + * lib/fbsd-device.c: Select the right set of system includes according + to __FreeBSD_version. + +2003-12-27 Martin Mares + + Merged support for Solaris on i386 by Bill Moore + and cleaned up: + + * lib/configure: Recognize SunOS. + * lib/internal.h: Learn how to recognize byte order on SunOS. + * lib/i386-ports.c: Split OS-dependent I/O port access from i386-ports.c. + * lib/i386-io-linux.h: Linux specific part. + * lib/i386-io-hurd.h: GNU/Hurd specific part. + * lib/i386-io-sunos.h: SunOS specific part. + 2003-12-26 Martin Mares + * lib/header.h (PCI_*_MASK): Cast to pciaddr_t explicitly. + + * lib/pci.h: Types declared in should be usable on all + platforms we currently support, so kill the forest of #ifdef's and + use them in all cases. + + * lib/pci.h: Use ULONG_MASK to decide whether we should use long + or long long to represent a 64-bit address. Killed HAVE_LONG_ADDRESS. + Define format strings for addresses, port numbers and IRQ numbers + directly in pci.h. + + * lib/proc.c (proc_scan): Use PCIADDR_T_FMT for scanf'ing addresses. + +2003-12-26 Marco Gerards + + Added support for the GNU Hurd (cleaned up by Martin Mares): + + * lib/configure [GNU]: Use the i386 ports for configuration access. + * lib/i386-ports.c: Don't call iopl() on the Hurd. + * lib/pci.h [OS_GNU]: Include and use it for defining + u8 to u32. + +2003-12-26 Martin Mares + + * lspci.c (show_pcix_bridge, show_pcix_nobridge): Don't forget to call + config_fetch() to ensure that the registers have been read. Thanks to + Bill Wood for the patch. + + * lspci.c: Ensure that failure of config_fetch() is handled correctly + at all places. + * lspci.man: There was one more explicit reference to /usr/share/pci.ids. Changed to @SHAREDIR@. Patch from Maciej W. Rozycki . @@ -632,7 +1222,7 @@ Tue Jan 19 23:00:12 1999 Martin Mares * Started the "New Generation" branch and introduced the PCI library. - + * lspci: Rewritten to use the library. Tue Jan 19 22:24:08 1999 Martin Mares