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