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