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