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