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