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