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