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