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