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