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