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