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