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