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