File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / pciutils / ChangeLog
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Fri Feb 17 15:18:42 2012 UTC (12 years, 3 months ago) by misho
Branches: pciutils, MAIN
CVS tags: v3_1_9, HEAD
pciutils

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>