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