]> mj.ucw.cz Git - pciutils.git/blob - ChangeLog
Fix to the previous patch.
[pciutils.git] / ChangeLog
1 2004-05-28  Martin Mares  <mj@ucw.cz>
2
3         * lspci.c: Decode all bits of the secondary status word in type 1 headers.
4         Thanks to Maciej W. Rozycki <macro@ds2.pg.gda.pl> for the patch.
5
6 2003-12-27  Martin Mares  <mj@ucw.cz>
7
8         * Released as 2.1.99-test3.
9
10         * lspci.man, setpci.man: Document domains and correct spelling.
11
12         * lib/dump.c (dump_init): Added ability to read domain numbers.
13
14         * lspci.c: Devices in domains different from 0 have their slot number
15         printed as "<domain>:<bus>:<slot>.<func>". Tree view supports domains
16         as well.
17
18         * lib/filter.c: Slot filters understand domains.
19
20         * lib/generic.c: Mention the domain in slot numbers in all error messages.
21
22         * lib/internal.h: The #ifdef for Linux <asm/byteorder.h> was wrong.
23
24         * lib/access.c (pci_get_dev): Added support for domains.
25
26         * lib/sysfs.c (sysfs_scan): Read vendor and device ID from the config
27         registers (or to be precise, leave it for the generic parts of the pcilib
28         to do so) instead of reading them from the sysfs. It's faster this way.
29
30         * lspci.c (show_pcix): Don't touch pci_dev->hdrtype, it's an internal
31         variable. Better read it from the config registers (it's cached anyway).
32
33         * lib/sysfs.c (sysfs_scan), lib/proc.c (proc_scan): Don't read the hdrtype.
34           lib/generic.c (pci_generic_fill_info): If hdrtype is -1 (unset), read it.
35           Saves lots of unnecessary file accesses.
36
37         * lib/pci.h (PCIADDR_PORT_FMT): Use %llx instead of %Lx, because the latter
38         is not supported by all C libraries.
39
40         * Makefile: Always enter the lib directory (remember that we don't have
41         full dependecies for the library in the top-level Makefile; hmmm, another
42         thing to rewrite some day).
43
44         * lib/sysfs.c: Added Linux sysfs access method based on the patch
45         written by Matthew Wilcox <willy@fc.hp.com>.
46
47         * lib/proc.c: Renamed the access method name from "/proc/bus/pci" to "Linux-proc".
48
49         * lib/pread.h: The hacks to support pread on various versions
50         of Linux libc moved there.
51
52         * lib/proc.c (proc_setup): The return value of snprintf() varies
53         between glibc versions, so we need to check both for a negative
54         values and for too large values.
55
56         * Removed last few references to the "Linux PCI Utilities", the
57         package is pretty cross-platform now :)
58
59 2003-12-27  Martin Mares  <mj@ucw.cz>
60
61         * Released as 2.1.99-test2.
62
63         * README, pciutils.lsm, pciutils.spec: Use @VERSION@ to make the
64         release scripts insert the current version. "make release" is gone.
65
66         * maint/release, maint/release.pm: Added a new system of scripts for
67         making releases including inter-version diffs etc.
68
69         * Makefile: Cleaned up.
70
71         * lib/fbsd-device.c: I patched another copy of this file by mistake,
72         this time the version checks should be right.
73
74 2003-12-27  Martin Mares  <mj@ucw.cz>
75
76         * Released as 2.1.99-test1.
77
78         * pciutils.h, common.c, lspci.man, setpci.man, lib/internal.h:
79         Remove shadows of the syscall access method which was never
80         implemented.
81
82         * update-pciids.sh: Try to preserve permissions of the old file
83         if chmod supports --reference. Should close Debian Bug #223740.
84
85         * lib/proc.c (proc_setup): Increased path name length limit to 1024.
86         Thanks for Redhat and Mandrake for inspiration.
87
88         * lib/configure: Recognize ppc and ppc64, both have 64-bit addresses.
89         Grabbed from Redhat (Fedora) patches.
90
91 2003-12-27  Martin Mares  <mj@ucw.cz>
92
93         Merged bug fixes from Debian patches:
94
95         * lspci.c (show_verbose): "Cache Line Size" should be capitalized.
96
97         * lspci.c (show_pcix_nobridge): Added a missing newline.
98
99         * lib/proc.c (proc_scan): When reading the header type, don't
100         forget to clear the topmost bit indicating that the device has
101         multiple functions.
102
103 2003-12-27  Martin Mares  <mj@ucw.cz>
104
105         Updated the FreeBSD port. Thanks to Samy Al Bahra <samy@kerneled.com>
106         for the patches:
107
108         * lib/Makefile: Add ${FREEBSD_SYS} to the include path if it's defined.
109         * lib/fbsd-device.c: Select the right set of system includes according
110         to __FreeBSD_version.
111
112 2003-12-27  Martin Mares  <mj@ucw.cz>
113
114         Merged support for Solaris on i386 by Bill Moore <billm@eng.sun.com>
115         and cleaned up:
116
117         * lib/configure: Recognize SunOS.
118         * lib/internal.h: Learn how to recognize byte order on SunOS.
119         * lib/i386-ports.c: Split OS-dependent I/O port access from i386-ports.c.
120         * lib/i386-io-linux.h: Linux specific part.
121         * lib/i386-io-hurd.h: GNU/Hurd specific part.
122         * lib/i386-io-sunos.h: SunOS specific part.
123
124 2003-12-26  Martin Mares  <mj@ucw.cz>
125
126         * lib/header.h (PCI_*_MASK): Cast to pciaddr_t explicitly.
127
128         * lib/pci.h: Types declared in <sys/types.h> should be usable on all
129         platforms we currently support, so kill the forest of #ifdef's and
130         use them in all cases.
131
132         * lib/pci.h: Use ULONG_MASK to decide whether we should use long
133         or long long to represent a 64-bit address. Killed HAVE_LONG_ADDRESS.
134         Define format strings for addresses, port numbers and IRQ numbers
135         directly in pci.h.
136
137         * lib/proc.c (proc_scan): Use PCIADDR_T_FMT for scanf'ing addresses.
138
139 2003-12-26  Marco Gerards  <metgerards@student.han.nl>
140
141         Added support for the GNU Hurd (cleaned up by Martin Mares):
142
143         * lib/configure [GNU]: Use the i386 ports for configuration access.
144         * lib/i386-ports.c: Don't call iopl() on the Hurd.
145         * lib/pci.h [OS_GNU]: Include <sys/types.h> and use it for defining
146         u8 to u32.
147
148 2003-12-26  Martin Mares  <mj@ucw.cz>
149
150         * lspci.c (show_pcix_bridge, show_pcix_nobridge): Don't forget to call
151         config_fetch() to ensure that the registers have been read. Thanks to
152         Bill Wood <bill.wood@hp.com> for the patch.
153
154         * lspci.c: Ensure that failure of config_fetch() is handled correctly
155         at all places.
156
157         * lspci.man: There was one more explicit reference to /usr/share/pci.ids.
158         Changed to @SHAREDIR@. Patch from Maciej W. Rozycki <macro@ds2.pg.gda.pl>.
159
160         * setpci.c (main): Better error messages.
161
162         * setpci.c (ex_op): The demo mode should disable only writing, not reading.
163
164         * setpci.man: The documentation was inconsistent on what should -D do.
165         Document the new behaviour.
166
167         * pciutils.h, common.c, setpci.c: Introduced a NONRET macro encapsulating
168         the GCC specific __attribute__((noreturn)) and killed the hack with
169         redefining __attribute__ on non-GCC compilers.
170
171         * Makefile: Added missing dependencies. Parallel builds work now.
172         Problem reported by Andreas Haumer <andreas@xss.co.at>, but I chose
173         a different fix.
174
175         * Makefile (MANDIR): Use `:=' instead of `=' to avoid executing the shell
176         command every time $(MANDIR) is referenced.
177
178         * lspci.c (main): The error message for `lspci -s' incorrectly mentioned
179         a `-f' switch. Reported by Steve Finney <Steve.Finney@SpirentCom.COM>.
180
181         * lib/generic.c: Removed memory leak in pci_generic_bus_scan().
182         Reported by Gary Parnes <gary_parnes@terago.com>.
183
184         * Replaced obsolete syntax of __attribute__((unused)) in the middle of
185         parameter declarations (which is no longer supported by GCC 3.1) by the
186         current syntax (attribute at the end). Thanks to pixel@mandrakesoft.com
187         for reporting this problem.
188
189         * Removed CVS $Id$ tags from all files.
190
191         * Makefile: Added some more warnings.
192
193         * setpci.c: Cleaned up mask/value code.
194
195 2003-12-08 Thayne Harbaugh <tharbaugh@lnxi.com>
196
197         * setpci.c: Individual bits to be set can be specified as <value>:<mask>.
198
199 2003-11-29  Martin Mares  <mj@ucw.cz>
200
201         * Imported the pciutils sources to my Arch repository. Good-bye, CVS.
202
203 2003-01-04  Martin Mares  <mj@ucw.cz>
204
205         * Released as 2.1.11.
206
207         * Makefile: Changed configuration of installation directories --
208         all paths are now set at the top of the Makefile instead of being
209         scattered between the installation rules. The default installation
210         now goes always to /usr/local regardless of the OS as most distributions
211         already contain some version of pciutils and we don't want custom
212         installations to interfere with the default ones.
213
214         * Makefile: Removed a couple of ancient install hacks: we no longer
215         try to avoid overwriting a newer pci.ids file (users are now expected
216         to use update-ids) and we don't try to remove /etc/pci.ids (a long time
217         has passed since the last version which used it).
218
219         * Makefile: Paths to pci.ids in man pages automatically get the right path.
220
221         * Added the update-ids utility.
222
223         * lib: Removed partially implemented "syscall" access method which will
224         probably never be needed.
225
226 2002-12-27  Martin Mares  <mj@ucw.cz>
227
228         * lib/nbsd-libpci.c: Cleaned up and hopefully made it endian safe.
229
230         * lib/generic.c (pci_generic_scan_bus): Added work-around for devices with
231         discontiguous numbering of functions. This is already present in the Linux
232         kernel for several years, but I forgot to update pciutils as well.
233
234 2002-12-26  Martin Mares  <mj@ucw.cz>
235
236         * lib/header.h, lspci.c: Dump AGP3 flags and speeds.
237
238         * lib/pci.h, Makefile: Removed HAVE_OWN_HEADER_H. Always use our own header,
239         there is no reason to prefer the kernel version.
240
241         * lib/proc.c (proc_scan): Don't forget to initialize hdrtype.
242
243         * Added preliminary version of NetBSD support by Quentin Garnier
244         <netbsd@quatriemek.com>.
245
246 2002-04-06  Martin Mares  <mj@ucw.cz>
247
248         * lspci.c: Mention "-xxx" in the help.
249
250 2002-03-30  Martin Mares  <mj@ucw.cz>
251
252         * Released as 2.1.10.
253
254         * Removed pci.ids from the CVS as they are now maintained separately.
255         They are still included in the tarball, but if you are building pciutils
256         from CVS sources or you want to get a newer ID file than the one distributed,
257         just use "make update-ids" to download the most recent snapshot from
258         pciids.sf.net.
259
260         * Makefile, README: Updated accordingly.
261
262         * Makefile: Added a couple of maintenance targets.
263
264         * maint/*: Maintainer's utilities now reside here (present only in CVS,
265         not in the tarball).
266
267         * lib/names.c (parse_name_list): End-of-line comments are no longer
268         supported. Hashes are now perfectly valid in all names and they start
269         a comment only at the start of the line.
270
271 2002-03-26  Martin Mares  <mj@ucw.cz>
272
273         * README: Rewritten.
274
275         * Makefile: When the currently installed pci.ids file is newer than
276         the version to be installed, don't overwrite it. Suggested by
277         Jean Delvare <khali@linux-fr.org>.
278
279 2002-03-24  Martin Mares  <mj@ucw.cz>
280
281         * lspci.c (show_pcix_bridge): Added PCI-X capability display.
282         Contributed by Jeff Garzik <jgarzik@mandrakesoft.com>.
283
284         * lib/header.h: Added PCI-X stuff. Again by Jeff.
285
286         * Makefile (CFLAGS): -Werror is gone.
287
288         * lspci.c (format_agp_rate): Fixed AGP rate reporting.
289
290         * lib/filter.c (pci_filter_parse_slot): Allow bus 0xff, slot 0x1f and
291         function 7.
292
293         * lib/names.c (pci_lookup_name): When printing unknown subsystem vendor
294         or device hexadecimally, don't confuse it with chip vendor/device ID.
295         First reported by Marc Boucher <marc@mbsi.ca>.
296
297 2001-11-04  Martin Mares  <mj@ucw.cz>
298
299         * Released as 2.1.9.
300
301         * pci.ids: Synced with the PCI ID Repository at SourceForge
302         (http://pciids.sourceforge.net/).
303
304 2000-08-25  Martin Mares  <mj@albireo.ucw.cz>
305
306         * pci.ids: Updated ID's, synced with kernel 2.4.0-test7.
307
308 2000-06-13  Martin Mares  <mj@albireo.ucw.cz>
309
310         * Makefile (uninstall): Fixed.
311
312         * pci.ids: ID updates.
313
314 2000-05-20  Martin Mares  <mj@albireo.ucw.cz>
315
316         * Released as 2.1.8.
317
318         * pci.ids: ID updates.
319
320         * lspci.c (show_verbose): Min/max latency is now printed in nanoseconds.
321
322 2000-05-04  Martin Mares  <mj@albireo.ucw.cz>
323
324         * lspci.c (show_verbose): If the header type doesn't match device
325         class, just print a warning and still use the header type, assuming
326         bogus class info.
327
328 2000-05-01  Martin Mares  <mj@albireo.ucw.cz>
329
330         * lspci.c (show_pm): Updated according to PCI PM specs 1.1.
331
332         * pci.ids: Updated Contemporary Control ARCnet card entries.
333
334         * pci.ids: Synchronized class list with latest PCI SIG documents.
335
336 2000-04-29  Martin Mares  <mj@albireo.ucw.cz>
337
338         * lib/names.c (pci_lookup_name): Fixed the cheat.
339
340         * lib/internal.h: Moved UNUSED/inline hacks above all other declarations.
341
342         * pci.ids: Various ID updates.
343
344 2000-04-21  Martin Mares  <mj@albireo.ucw.cz>
345
346         * Released as 2.1.7.
347
348         * pciutils.spec: Added German description.
349
350         * lib/names.c (pci_lookup_name): Added a cheat for case that subsystem ID's
351         are the same as device ID and just output subsystem name according to
352         device name.
353
354         * lib/proc.c: Use UNUSED instead of __attribute__((unused)).
355
356         * lib/pci.h: Added the correct typedefs for AIX.
357
358         * lib/generic.c (pci_generic_scan_bus): Export.
359
360         * lib/configure: Detect AIX. Use "echo '...\c'" instead of
361         "echo -n" if the shell isn't bash.
362
363         * lspci.c: Avoid using alloca() if not compiled by GCC.
364         (insert_dev): Avoid returning a void value.
365
366         * Makefile: Choose which install utility to use according to
367         OS type. Also use `-o' instead of `-or' in find arguments.
368         Part of the AIX port.
369
370         * lib/aix-device.c: Added AIX low-level interface. Contributed
371         by Dave Johnson <ddj@brown.edu>, thanks a lot!
372
373         * pci.ids: Few new ID's.
374
375         * pciutils.h, lib/internal.h: Redefine __attribute__ and inline
376         when not compiled by GCC.
377
378 2000-04-17  Martin Mares  <mj@albireo.ucw.cz>
379
380         * Released as 2.1.6.
381
382         * pci.ids: Added a large batch of ID's contributed by Gunther
383         Mayer <gunther.mayer@braunschweig.netsurf.de> and synced the
384         list with the 2.3.99pre6 kernel.
385
386 Thu Mar  9 13:11:39 2000  Martin Mares  <mj@albireo.ucw.cz>
387
388         * lib/example.c: Added a simple example of how to use
389         the library.
390
391         * lspci.man, setpci.man: Revealed --version. Well spotted
392         by Adam Sulmicki.
393
394         * pci.ids: Added lots of new ID's and synced with 2.3.50.
395
396 Tue Feb 15 00:16:21 2000  Martin Mares  <mj@albireo.ucw.cz>
397
398         * Released as 2.1.5.
399
400         * pciutils.spec: Updated spec file from Andreas Jaeger. Now using
401         %{_mandir} to find the right location to install manual pages to.
402
403         * pci.ids: New ID's.
404
405         * setpci.c (main): Don't crash when `-s' or `-d' is given with
406         no argument.
407
408 Mon Jan 24 20:04:11 2000  Andreas Jaeger  <aj@suse.de>
409
410         * lib/i386-ports.c: Include <asm/io.h> only on systems without
411         glibc.
412
413 Mon Jan 24 11:24:43 2000  Martin Mares  <mj@albireo.ucw.cz>
414
415         * Makefile: Modified to work with the Linux FHS brain-damaged idea
416         of putting man pages to /usr/share/man. Now we choose either /usr/man
417         or /usr/share/man depending on which one exists.
418
419 Sun Jan 23 10:52:34 2000  Martin Mares  <mj@albireo.ucw.cz>
420
421         * pci.ids: Synced with Linux 2.3.40.
422
423         * Released as version 2.1.4.
424
425 Thu Jan 20 11:08:32 2000  Martin Mares  <mj@albireo.ucw.cz>
426
427         * lspci.c (scan_device): Fixed bug in reading of cardbus extensions.
428
429         * lib/proc.c: pread/pwrite fixed again, this time on libc5 :(
430
431         * lspci.c (format_agp_rate): Better formatting of AGP rates.
432
433         * pci.ids: New ID's.
434
435         * lib/configure: Added configuration for ia64 (the same as for Alpha).
436         Patch from Stephane Eranian <eranian@cello.hpl.hp.com>.
437
438 Thu Jan 13 23:01:52 2000  Martin Mares  <mj@albireo.ucw.cz>
439
440         * Released as version 2.1.3.
441
442         * pci.ids: New ID's.
443
444         * lspci.c: Alpha IO_FORMAT fix by Andrea Arcangeli.
445
446         * lib/access.c: Corrected order of access methods -- it's wonderful how
447         long could such a bug remain unspotted. Thanks go to Andreas Schockenhoff.
448
449 Sat Dec 11 23:34:48 1999  Martin Mares  <mj@albireo.ucw.cz>
450
451         * Released as version 2.1.2.
452
453         * lib/names.c (pci_lookup_name): Fixed printing of unknown subsystem ID's.
454
455 Sat Dec  4 13:11:03 1999  Martin Mares  <mj@albireo.ucw.cz>
456
457         * Released as version 2.1.1.
458
459         * pci.ids: Several new ID's.
460
461         * setpci.c (exec_op): Don't forget to increment address after writing
462         single value, so that `30.b=12,34,56,78' works as expected. Reported
463         by Petr Soucek <petr@ryston.cz>.
464
465 Wed Nov  3 10:24:38 1999  Martin Mares  <mj@albireo.ucw.cz>
466
467         * lspci.c (show_terse): If prog-if is zero, but it's present in the
468         ID list, show it.
469
470 Sat Oct 30 11:06:35 1999  Martin Mares  <mj@albireo.ucw.cz>
471
472         * Released as version 2.1.
473
474         * pci.ids: Synced to devlist.h in 2.3.24 kernel. Merged in
475         lots of contributed entries.
476
477 Thu Oct 14 10:40:12 1999  Dave Jones    <dave@powertweak.com>
478
479         * pci.ids: Added lots of subsystem definitions.
480
481 Sat Oct  9 14:32:28 1999  Martin Mares  <mj@albireo.ucw.cz>
482
483         * setpci.man: Better example.
484
485         * lspci.c: Resolve prog-if names.
486
487         * lib/names.c: Adapted to new pci.ids syntax.
488
489         * pci.ids: Reorganized the pci.ids file. Subsystems are listed
490         under devices, classes can optionally contain prog-if information.
491         New ID's, as usually.
492
493 Wed Sep 22 09:45:24 1999  Martin Mares  <mj@albireo.ucw.cz>
494
495         * pci.ids: New ID's. As usually.
496
497         * lspci.c (show_htype1, show_htype2): Don't show `closed' bridge windows
498         unless we're vvvery verbose.
499
500 Mon Sep 20 11:22:54 1999  Martin Mares  <mj@albireo.ucw.cz>
501
502         * lspci.c (show_htype2): Don't forget a TAB before the "I/O window" line.
503
504 Tue Sep 14 09:31:01 1999  Martin Mares  <mj@albireo.ucw.cz>
505
506         * pci.ids: New ID's. Again.
507
508 Thu Aug  5 17:45:42 1999  Martin Mares  <mj@albireo.ucw.cz>
509
510         * lspci.c (show_size): Don't show size if it's zero (usually
511         due to bus-centric mode being enabled).
512
513 Tue Jul 20 13:25:09 1999  Martin Mares  <mj@albireo.ucw.cz>
514
515         * lib/pci.h: Types are OS dependent.
516
517         * lib/internal.h: Byte order hacks are OS dependent.
518
519         * lib/configure: Recognize FreeBSD. Also set OS_XXX according to the OS.
520
521         * lib/Makefile, lib/access.c: Added fbsd-device target.
522
523         * pci.ids: Added an entry for PLX 9080 bridges with subsystem ID
524         incorrectly set to device ID.
525
526         * README: Added a note that we support FreeBSD.
527
528         * Makefile (PREFIX, ROOT): Set it depending on the OS.
529         (%.8): Grrr, BSD date is not able to convert date formats the same way
530         as GNU date does. Use sed instead.
531         (install): Use `-c' when calling install.
532
533         * lib/fbsd-device.c: Added FreeBSD /dev/pci access module contributed
534         by Jari Kirma <kirma@cs.hut.fi>.
535
536         * lib/proc.c: Rewrote the pread/pwrite things once again. Use pread
537         and pwrite only when we are certain it's safe (i.e., glibc 2.1
538         on all architectures or any libc on a i386 where we really know
539         how to use syscalls directly). In all other cases, emulate it
540         with lseek/read/write.
541
542         * pci.ids: Some more IDs.
543
544 Mon Jul 19 14:10:36 1999  Martin Mares  <mj@albireo.ucw.cz>
545
546         * pci.ids: Added IDs of parallel port controller cards as sent
547         by Tim Waugh <tim@cyberelk.demon.co.uk>.
548
549 Wed Jul  7 00:55:48 1999  Martin Mares  <mj@albireo.ucw.cz>
550
551         * lib/proc.c (proc_scan): HAVE_LONG_ADDRESS instead of HAVE_64BIT_ADDRESS.
552
553         * lspci.c: ADDR_FORMAT now depends on both HAVE_64BIT_ADDRESS and
554         HAVE_LONG_ADDRESS.
555
556         * lib/configure: HAVE_64BIT_ADDRESS now doesn't imply that the addresses
557         are represented as long long. Introduced a new flag HAVE_LONG_ADDRESS
558         to indicate this. Both Sparc architectures now use both 64BIT_ADDRESS
559         and LONG_ADDRESS since they have 32-bit userland, but don't set LONG_ADDRESS
560         on Alpha.
561
562         * lspci.c (show_msi): Added dumping of the MSI capability.
563         (show_slotid): The same for SlotID capability.
564         (show_caps): Seperated capability dumping, because it should
565         be used for both htype0 and htype1. Even PCI 2.2 doesn't mention
566         layout of htype2, so I'm a bit unsure about it wrt capabilities
567         -- they at least have to live somewhere else since address 0x34
568         is already defined differently in htype2.
569
570         * lib/header.h (PCI_STATUS_UDF): Marked as obsolete (PCI 2.2).
571         (PCI_BASE_ADDRESS_MEM_TYPE_1M): Ditto.
572         (PCI_CAP_ID_*): Added some new capabilities defined in PCI 2.2.
573
574         * lspci.c (show_htype0): Mask out lowest 2 bits from all capability pointers
575         (required by the PCI 2.2 specs).
576
577 Mon Jul  5 12:45:19 1999  Martin Mares  <mj@albireo.ucw.cz>
578
579         * lspci.c (show_size): Added new function for dumping of region sizes.
580         (show_rom): Added. Now correctly dumps unassigned ROM addresses, disabled
581         ROMs et cetera.
582
583         * lib/pci.h (struct pci_dev): known_fields moved to the public part
584         of the structure.
585
586         * Added support for region sizes. Needs support in the kernel, because
587         sizes have to be scanned before drivers initialize yourself. pci_fill_info()
588         now returns a bitmask of what fields were really read.
589
590 Mon Jun 28 18:37:51 1999  Dave Jones    <dave@powertweak.com>
591
592         * Makefile:
593           Added `uninstall' target - removes all traces of pciutils.
594         * pci.ids:
595           - Lots of cleanups in the ATI, S3, Adaptec vendors.
596           - Changed Compaq QVision 1280/p definitions, as it's not possible
597             to determine the revision from the device ID.
598           - Same for the Tseng ET4000.
599             The id's said I had a rev C, when it was actually a rev B.
600           - Removed some unnecessary strings
601             `PCI'. Unless it's an AGP card, it should be obvious that it's PCI.
602             `Ethernet card'. This should be determined from config space.
603           - Lots of other new vendors & devices
604           - Other additional small cleanups.
605
606 Mon Jun 21 22:11:10 1999  Martin Mares  <mj@albireo.ucw.cz>
607
608         * lib/names.c (pci_lookup_name): When device ID lookup
609         fails, return hexadecimal device ID instead of vendor ID.
610         Well spotted by Axel Bodemann <Axel.Bodemann@ruhr-uni-bochum.de>,
611         I've just extended the fix to subsystem ID's.
612
613 Thu Jun 17 19:48:21 1999  Martin Mares  <mj@albireo.ucw.cz>
614
615         * lspci.c (show_agp): Bug fix from Petr Vandrovec
616         <vandrove@vc.cvut.cz>. The command register was displayed
617         incorrectly.
618
619 Wed Jun  2 22:42:44 1999  Martin Mares  <mj@albireo.ucw.cz>
620
621         * lib/proc.c (SYS_pread, SYS_pwrite): Use hard-coded
622         numbers if not supplied by the libc.
623
624 Wed May 19 13:24:39 1999  Martin Mares  <mj@albireo.ucw.cz>
625
626         * Released the whole package as version 2.0.
627
628 Fri May 14 22:42:02 1999  Martin Mares  <mj@albireo.ucw.cz>
629
630         * pci.ids: Added several new ID's contributed by people
631         on the linux-pci list.
632
633 Mon Apr 19 15:21:08 1999  Jakub Jelinek  <jj@ultra.linux.cz>
634
635         * lspci.c: Display I/O addresses correctly on sparc64.
636         * lib/header.h: Ditto.
637
638         * lib/configure: On sparc set HAVE_64BIT* as well, we want
639         a binary which works on both 32bit and 64bit SPARCs.
640
641 Sun Apr 18 21:14:58 1999  Martin Mares  <mj@albireo.ucw.cz>
642
643         * lspci.c, lib/proc.c: Alpha compilation fixes from Matthew Jacob
644         <mjacob@feral.com>.
645
646         * pci.ids: A lot of updates from Adam J. Richter <adam@yggdrasil.com>.
647
648 Sun Feb 28 22:26:21 1999  Martin Mares  <mj@albireo.ucw.cz>
649
650         * lspci.c (do_map_bus): Don't dump functions 1--7 if not flagged
651         as a multi-function device, because several single-function devices
652         don't decode the function bits at all.
653
654 Sun Feb 14 23:48:22 1999  Martin Mares  <mj@albireo.ucw.cz>
655
656         * Makefile (install): Don't use "-o root -g root" for installation
657         since it breaks on machines where programs are not installed by root.
658         Reported by Richard Gooch <rgooch@atnf.csiro.au>
659
660 Tue Feb  9 15:54:39 1999  Martin Mares  <mj@albireo.ucw.cz>
661
662         * lspci.c (show_bases): Use new address masking macros and pciaddr_t.
663
664         * lib/pci.h: Using pciaddr_t for bus addresses, which are 32-bit
665         or 64-bit depending on CPU.
666
667         * lib/pci.h (PCI_ADDR_MEM_MASK): Added macros for address masks
668         according to bus address width.
669
670 Thu Jan 28 20:54:16 1999  Martin Mares  <mj@albireo.ucw.cz>
671
672         * Released as 1.99.4.
673
674         * lspci.c: Capability list parser now recognizes both AGP
675         registers and PCI Power Management registers (the latter
676         is mainly guesswork based on DEC/Intel 21153 bridge specs
677         since I don't have the PCI Power Management document).
678
679         * lspci.c: Replaced numerous occurences of (x & flag) ? '+' : '-'
680         by FLAG macro.
681
682         * lspci.c: Added bridge checks to bus mapping code.
683
684 Wed Jan 27 14:59:16 1999  Martin Mares  <mj@albireo.ucw.cz>
685
686         * lspci.c: Implemented bus mapping mode (-M).
687
688         * lspci.c (scan_devices): Split to scan_devices() and scan_device().
689         (show): Split to show() and show_device().
690
691         * lib/access.c (pci_init): When a->method == PCI_ACCESS_AUTO,
692         set it to the real access method afterwards.
693
694 Mon Jan 25 23:46:13 1999  Martin Mares  <mj@albireo.ucw.cz>
695
696         * lib/generic.c (pci_generic_fill_info): If in buscentric mode,
697         don't check PCI_COMMAND for I/O and memory enables.
698
699 Mon Jan 25 21:28:49 1999  Martin Mares  <mj@albireo.ucw.cz>
700
701         * Makefile: Added target `release' which substitutes new version
702         number to .spec, .lsm and README. Also rewrote target `dist'.
703
704         * Released as 1.99.3.
705
706 Sun Jan 24 22:10:36 1999  Martin Mares  <mj@albireo.ucw.cz>
707
708         * lib/header.h: Until kernel adopts new layout of PCI
709         includes (i.e., separate declaration of header structure,
710         functions and device IDs), which is not going to happen
711         before 2.3, we'll use our own definiton of the header.
712
713         * lspci.c (show_verbose): Display `Cap' flag in device status.
714
715         * lspci.c (show_htype0): Display capability lists whereever
716         available. The only capability name we recognize now is `AGP'.
717         Unfortunately, capabilities are stored in device-dependent
718         portion of the configuration space and are thus available
719         only to root unless you read a dump.
720
721         * lspci.c (scan_devices): Use cache instead of buffering.
722
723         * lib/buffer.c: Removed (obsoleted by the cache).
724
725         * lib/access.c: Added general caching mechanism.
726
727 Sat Jan 23 21:30:54 1999  Martin Mares  <mj@albireo.ucw.cz>
728
729         * pci.ids: Added few devices.
730
731 Fri Jan 22 19:29:31 1999  Martin Mares  <mj@albireo.ucw.cz>
732
733         * Version string is now defined in top-level Makefile, exported
734         to the configure script and also substituted to man pages.
735
736         * lspci.c (show_bases): Rewrote displaying of 64-bit addresses.
737         (show_verbose): Rewrote interrupt display logic.
738
739         * lib/i386-ports.c: Include sys/io.h only on glibc systems.
740
741         * lib/configure: Rewrote detection of Linux versions. Now it
742         works on 2.0 kernels (only with direct/dump access, of course).
743
744         * lib/internal.h: New bytesex macros using <asm/byteorder.h>
745         whenever available.
746
747         * lib/proc.c (proc_read, proc_write): Distinguish between short
748         read/write and real errors.
749
750         * lspci.c (show_htype{0,1}): Always use d->dev->rom_base_addr since
751         libpci respects buscentric mode automatically.
752
753         * lspci.c (show_hex_dump): For CardBus bridges, print out 128
754         bytes of header (the whole standard part).
755
756         * common.c: pcilib options are now all uppercase. Also moved
757         PCI access debugging option here.
758
759         * Released as 1.99.2.
760
761 Wed Jan 20 22:50:35 1999  Martin Mares  <mj@albireo.ucw.cz>
762
763         * Wrote configure script and rewrote Makefiles.
764
765         * Removed few unused variables.
766
767 Wed Jan 20 12:21:56 1999  Martin Mares  <mj@albireo.ucw.cz>
768
769         * common.c: Moved several functions used in both setpci and lspci
770         here. This includes parsing of libpci-related options.
771
772         * More library tweaks.
773
774         * filter.c, names.c: Moved to library.
775
776         * setpci: Rewritten to use the library.
777
778         * Released as 1.99.1.
779
780 Tue Jan 19 23:00:12 1999  Martin Mares  <mj@albireo.ucw.cz>
781
782         * lspci.c (scan_devices): For cardbus bridges, read first 128
783         bytes of config space to get full standard header.
784
785         * Makefile (CFLAGS): Removed "-Wno-unused".
786
787         * Started the "New Generation" branch and introduced the
788         PCI library.
789         
790         * lspci: Rewritten to use the library.
791
792 Tue Jan 19 22:24:08 1999  Martin Mares  <mj@albireo.ucw.cz>
793
794         * Released as version 1.10.
795
796 Mon Jan 18 08:51:17 1999  Martin Mares  <mj@albireo.ucw.cz>
797
798         * lspci.8, setpci.8: Miscellaneous fixes as suggested by
799         Dag Wieers <dag@digibel.be>.
800
801 Sun Nov 29 20:05:56 1998  Martin Mares  <mj@albireo.ucw.cz>
802
803         * pciutils.spec (Name): Update from Krzysztof G. Baranowski.
804
805 Sun Nov 22 10:49:56 1998  Martin Mares  <mj@albireo.ucw.cz>
806
807         * Makefile, pciutils.h: Moved pci.ids to /usr/share.
808
809         * Released as version 1.09.
810
811 Wed Nov 18 15:47:05 1998  Martin Mares  <mj@albireo.ucw.cz>
812
813         * lspci.c (show_htype1): Fixed displaying of prefetchable memory behind
814         bridge. Thanks to Petr Vandrovec <vandrove@vc.cvut.cz> for bug report.
815
816 Fri Oct 23 18:59:19 1998  Martin Mares  <mj@albireo.ucw.cz>
817
818         * setpci.c: Don't include <syscall-list.h> with glibc >= 2.1.
819
820 Mon Oct 19 21:53:30 1998  Martin Mares  <mj@albireo.ucw.cz>
821
822         * Released as version 1.08.
823
824         * setpci.c: glibc 2.1.x already defines pread() and pwrite().
825
826         * lspci.8: Changed warning about lspci -xxx.
827
828         * lspci.c: Require "-xxx" for full configuration space dump, so that
829         it's impossible to crash the machine by single typo.
830
831         * specs: Added (courtesy of Krzysztof G. Baranowski <kgb@knm.org.pl>).
832
833 Wed Sep  9 12:03:24 1998  Martin Mares  <mj@albireo.ucw.cz>
834
835         * lspci.c (show_bases): Better displaying of unassigned and
836         disabled bases. Thanks to Gabriel Paubert <paubert@iram.es>
837         for an idea.
838
839 Wed Sep  2 10:58:01 1998  Martin Mares  <mj@albireo.ucw.cz>
840
841         * setpci.c (pread): Recognize glibc 1.99 numbered as 2.0 on the PPC.
842         (thanks to Geert Uytterhoeven for finding this out)
843
844 Fri Jul 17 10:43:30 1998  Martin Mares  <mj@albireo.ucw.cz>
845
846         * lspci.c (show_verbose): Print subsystem ID using the new resolver.
847         (show_machine): Print subsystem ID.
848
849         * names.c: New name resolution engine supporting subsystem IDs.
850
851         * Released as version 1.07.
852
853 Wed Jul 15 15:37:21 1998  Martin Mares  <mj@albireo.ucw.cz>
854
855         * lspci.c (show_htype2 etc.): Displaying of CardBus headers.
856         (show_bases): Honor the `cnt' argument.
857         (grow_tree): Parse CardBus headers in tree mode as well.
858
859         * pci.h: Updated CardBus header field description. I still don't
860         have the CardBus standard available, but OZ6832 specs contain
861         full description of all header fields supported by the chip.
862
863 Tue Jun  9 22:53:59 1998  Martin Mares  <mj@albireo.ucw.cz>
864
865         * Released as 1.06.
866
867         * names.c (parse_name_list): Killed an unused variable.
868
869         * setpci.c (pread, pwrite): Define SYS_(pread|pwrite) as __NR_\1
870         if they are not defined by glibc (needed for glibc built on older
871         kernels). Ugly.
872
873         * setpci.c (exec_op): Fixed error messages. Thanks, Steve!
874
875 Mon Jun  8 10:59:22 1998  Martin Mares  <mj@albireo.ucw.cz>
876
877         * Released as 1.05.
878
879         * setpci.c: Problems with pread()/pwrite() with glibc on Alpha
880         should be gone. Again thanks to Steve for bug report.
881
882         * filter.c (filter_parse_slot): Fixed ":x" type filters.
883
884         * pci.ids: Killed duplicate entry. Thanks to Stephen Williams
885         <steve@icarus.com> for reporting this.
886
887 Sun Jun  7 19:27:51 1998  Martin Mares  <mj@albireo.ucw.cz>
888
889         * lspci.c (main), setpci.c (main): Implemented "--version".
890
891         * Released as 1.04.
892
893         * pciutils.h (PCIUTILS_VERSION): Added version string.
894
895         * filter.c, names.c: Extraneous #include <linux/pci.h> removed.
896         Thanks to Geert Uytterhoeven <Geert.Uytterhoeven@cs.kuleuven.ac.be>
897         for bug report.
898
899 Thu May 28 14:45:58 1998  Martin Mares  <mj@lomikel.karlin.mff.cuni.cz>
900
901         * pci.ids: More updates from Jens Maurer.
902
903 Wed Apr 22 10:00:39 1998  Martin Mares  <mj@albireo.ucw.cz>
904
905         * pci.ids: Updates from Jens Maurer.
906
907 Sun Apr 19 11:14:25 1998  Martin Mares  <mj@albireo.ucw.cz>
908
909         * Released as 1.03.
910
911         * setpci.8: Written.
912
913         * setpci.c: Finished.
914
915         * lspci.c: Now able to fetch expansion ROM base from kernel device list
916         and print it if not in buscentric mode.
917
918 Tue Mar 31 23:11:57 1998  Martin Mares  <mj@albireo.ucw.cz>
919
920         * setpci.c: Added.
921
922 Sun Mar 22 15:39:08 1998  Martin Mares  <mj@albireo.ucw.cz>
923
924         * lspci.8: Updated the documentation.
925
926         * lspci.c: Modified to use the new filtering mechanism (options -f and -d).
927
928         * filter.c: Introduced new generic device filter.
929
930 Thu Mar 19 17:03:48 1998  Martin Mares  <mj@lomikel.karlin.mff.cuni.cz>
931
932         * lspci.c (grow_tree, show_tree_dev, print_it): Fixed displaying
933         of PCI-to-PCI bridges in the tree format.
934
935 Sun Feb 15 10:12:25 1998  Martin Mares  <mj@albireo.ucw.cz>
936
937         * lspci.c (show_machine): Added non-verbose mode of machine-readable
938         dump.
939
940         * pci.ids: Updates from Jens Maurer.
941
942         * Released as version 1.02.
943
944 Thu Feb 12 16:53:28 1998  Martin Mares  <mj@lomikel.karlin.mff.cuni.cz>
945
946         * lspci.c: Added a "-m" switch for dumping machine-readable
947         configuration data (requested by Bjoern Kriews <bkr@cut.de>).
948
949 Mon Feb  9 13:17:43 1998  Martin Mares  <mj@albireo.ucw.cz>
950
951         * Makefile, pciutils.h: Include local pci.h instead of <linux/pci.h>
952         if available. This should avoid all problems with official kernel
953         not synchronized to newer PCI code in CVS -- standard distribution
954         of pciutils now contains pci.h from current CVS kernel, pciutils
955         in CVS contain no pci.h and use the correct kernel include.
956
957         * Makefile: Fixed installation path for man pages.
958
959 Sat Feb  7 15:15:46 1998  Martin Mares  <mj@albireo.ucw.cz>
960
961         * README: Updated.
962
963         * lspci.8: Created a man page.
964
965         * Releasing as version 1.0.
966
967 Tue Feb  3 20:56:00 1998  Martin Mares  <mj@albireo.ucw.cz>
968
969         * Makefile: Recognize architecture by calling uname and pass it as ARCH_xxx
970         to all the C sources. This should eliminate problems with 32-bit compilers
971         on sparc64.
972
973         * lspci.c (show_verbose): Recognize CardBus bridge header type.
974         (show_htype2): Stub routine.
975         (scan_config): Write sensible error message if the kernel denies reading of
976         upper part of the PCI config space.