Annotation of embedaddon/pciutils/ChangeLog, revision 1.1.1.1

1.1       misho       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$ 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>