]> mj.ucw.cz Git - pciutils.git/blob - ChangeLog
Released as 2.2.10.
[pciutils.git] / ChangeLog
1 2008-02-11  Martin Mares <mj@ucw.cz>
2
3         * Released as 2.2.10.
4
5         * lspci.c, setpci.c: Cleaned up the list of options.
6
7         * lib/names.c: Fix displaying of errors reported by zlib.
8         Previously, the buffer containing the error message had
9         been deallocated by gzclose() before the message was printed.
10
11 2008-01-07  Martin Mares <mj@ucw.cz>
12
13         * update-pciids.sh: Added quiet mode (-q). Clean up uncompressed
14         files left by previous versions of the pciutils. Patch by Mike
15         Frysinger.
16
17         * update-pciids.man: Mention the -q switch.
18
19 2007-11-29  Martin Mares <mj@ucw.cz>
20
21         * lib/dump.c: Squashed compiler warnings about code with
22         no effect (there really were surplus *'s).
23
24 2007-11-06  Martin Mares <mj@ucw.cz>
25
26         * Released as 2.2.9.
27
28         * lspci.c: Added a new switch `-k' which requests printing
29         of information on kernel drivers attached to each device
30         and on kernel modules reporting the ability to handle the
31         device. So far, this is supported only on Linux with the
32         sysfs back-end, so it is implemented internally in the lspci
33         instead of the libpci. Thanks to Anicka <anicka@anicka.net>
34         for help.
35
36 2007-10-19  Martin Mares <mj@ucw.cz>
37
38         * Makefile, lib/Makefile: Moved -lz from LDFLAGS to LDLIBS.
39         Also added an explicit pattern rule for linking to make sure
40         that LDLIBS is used on all platforms. Thanks to Dan Nicholson
41         for the suggestion.
42
43 2007-10-19  Martin Mares <mj@ucw.cz>
44
45         * Released as 2.2.8.
46
47         * pci.ids: Revised class codes to match Conventional PCI 3.0 specs.
48         Added a couple of new ones, renumbered `ADMA continuous operation'
49         prog-if to 0x30 (even the old SATA Class Code ECN doesn't mention
50         0x40) and renumbered the satellite communication controllers.
51
52         * lib/header.h: Include `PCI hot-plug' and `Secure device'
53         capabilities from PCI 3.0 specs. Also added `SATA HBA' and
54         `Advanced features' caps from various ECN's.
55
56         * lspci.c: All known capabilities have at least their name displayed
57         now. When we are unable to decode them completely, we signalize it
58         with a `<?>' mark.
59
60         * lspci.man: Document `<?>' and also mention that extended config
61         space is currently available only with the linux_sysfs back-end.
62
63         * lspci.c: Decode the Debug port capability (per EHCI 0.96 spec).
64
65         * lspci.c: Big code cleanup: re-arranged functions in the code,
66         renamed everything related to capabilities to cap_* and
67         all options except verbose to opt_*.
68
69 2007-10-14  Martin Mares <mj@ucw.cz>
70
71         * lib/[fno]bsd-*: Removed extraneous braces.
72
73 2007-10-12  Martin Mares <mj@ucw.cz>
74
75         * Capability loop detection introduced 2.2.7 did not work
76           properly with extended capabilities. Fixed.
77
78 2007-10-05  Martin Mares <mj@ucw.cz>
79
80         * Released as 2.2.7.
81
82         * lspci.c (show_caps, show_ext_caps): Detect and report loops in
83         capability lists.
84
85         * lspci.c, lib/header.h: Finished decoding of the PCI Express
86         capability. The extended capabilities remain undecoded for now,
87         but at least the list of them has been updated to reflect the
88         current PCI Express 2.0 spec.
89
90         * lspci.c, lib/header.h: Decode new bits of traditional registers
91         as defined by PCIE / PCI-X. This includes discard timers in the bridge
92         control register and INTx enable/status in device control/status
93         registers.
94
95         * lib/fbsd-device.c: Support domains on new FreeBSD's. Contributed
96         by Marius Strobl.
97
98 2007-09-12  Hasso Tepper <hasso@estpak.ee>
99
100         * Extended the fbsd-device backend to run on Dragonfly BSD.
101
102         * lspci.c: alloca() is declared in <stdlib.h> on BSD's, not <alloca.h>.
103
104 2007-09-03  Martin Mares <mj@ucw.cz>
105
106         * Resurrected the Windows port, including cross-compilation by MinGW.
107         Patch by Samuel Bronson <naesten@gmail.com>.
108
109 2007-08-31  Martin Mares <mj@ucw.cz>
110
111         * Makefile, lib/Makefile: `ar' and `ranlib' can be overriden to allow
112         cross-compilation.
113
114 2007-08-27  Martin Mares  <mj@ucw.cz>
115
116         * lib/names.c (pci_open): When calling gzopen(), use "rb" file mode
117         instead of "r". This is needed on DOS systems, where this function
118         somewhat illogically uses the binary flag for the compressed file
119         instead of the decompressed stream inside, where binariness really
120         matters.
121
122 2007-08-14  Martin Mares  <mj@ucw.cz>
123
124         * lspci.c (show_ht): Added decoding of Hypertransport MSI mapping capability,
125         based on a patch by Jason Gunthorpe.
126
127         * tests/cap-MSI-mapping: Added a test case. I plan to add test cases
128         (which are dumps of config space) for all new features.
129
130 2007-06-20  Martin Mares  <mj@ucw.cz>
131
132         * Released as 2.2.6.
133
134         * Makefile: Added an "install-lib" target. Thanks to Dan Nicholson
135         for a patch.
136
137         * Makefile, lib/Makefile: Generate and install pkg-config file
138         for libpci. Again by Dan Nicholson.
139
140 2007-06-20  Thomas Schwinge  <tschwinge@gnu.org>
141
142         * lib/i386-io-hurd.h: Rewritten for new Hurd kernels.
143
144 2007-05-04  Martin Mares  <mj@ucw.cz>
145
146         * Released as 2.2.5.
147
148         * pci.ids: Updated to the current snapshot of the database.
149
150 2007-02-14  Martin Mares  <mj@ucw.cz>
151
152         * lspci.c (show_express): Added PCI/PCI-X to PCI-Express Bridge type.
153         Patch by Mark Glines.
154
155 2007-02-09  Martin Mares  <mj@ucw.cz>
156
157         * pci.ids: Updated to the current snapshot of the database.
158
159 2007-02-06  Martin Mares  <mj@ucw.cz>
160
161         * Replaced bzero() by memset() everywhere, it's better to lose a tiny
162         bit of readability than maintain hacks to make it work on various systems.
163
164         * lib/configure: tr on Solaris is a bit weird and it requires `[A-Z]'
165         instead of `A-Z'. Fortunately, the extra brackets don't hurt otherwise.
166
167         * lib/types.h, lib/configure: Solaris should use <stdint.h> to get precise
168         integer types.
169
170 2007-02-04  Martin Mares  <mj@ucw.cz>
171
172         * lspci.c: alloca() needs <alloca.h>.
173
174 2006-09-17  Martin Mares  <mj@ucw.cz>
175
176         * lib/dump.c: Fixed a couple of bugs in the dump backend which caused
177         devices with domains or with extended config space to be read incorrectly.
178         Also, dumps with partial lines are allowed now.
179
180 2006-09-10  Martin Mares  <mj@ucw.cz>
181
182         * pci.ids: Updated to the current database snapshot.
183
184         * lspci.c (scan_device): If an error occurs when reading the standard config
185         header of a device, report it and ignore the device and return with exit
186         code 2 at the end.
187
188 2006-09-09  Martin Mares  <mj@ucw.cz>
189
190         * Released as 2.2.4.
191
192         * maint/release: Remind the maintainer about the current PCI_LIB_VERSION.
193
194         * lib/pci.h: Updated PCI_LIB_VERSION.
195
196         * lspci.c (show_machine): In the `-m' mode, do proper shell escaping
197         if the fields printed contain quotes or backslashes.
198
199         * lspci.c (show_machine): Added a `-vmm' mode, which removes the misuse
200         of the `Device' tag for two different purposes.
201
202         * Makefile: Moved all system-dependent decisions to lib/configure,
203         since config.mk is included in the top-level Makefile anyway.
204
205         * lib/configure: When configuring for Linux, ignore the kernel version
206         and always build all access methods.
207
208         * Makefile (CFLAGS): Removed -Winline, it's not needed and triggers
209         at many non-interesting places with gcc 3.4.
210
211         * Whitespace cleanup of all source files.
212
213         * The pci.ids file can be stored compressed if zlib is available.
214         Added transparent decompression to lib/names.c, modified update-pciids.sh
215         to keep the file compressed if applicable, updated Makefiles.
216         Based on a patch by Matthew Wilcox, but all the bugs are mine.
217
218         * Makefile, README: Allow installation to be done to a different directory
219         from the one we will eventually be placed in by setting DESTDIR.
220         Patch by Matthew Wilcox.
221
222         * Added .gitignore files.
223
224         * Makefile (clean): Clean *.orig, too.
225
226         * Cleaned up usage of `char' and `byte'.
227
228         * lib/header.h: PCI_CLASS_DOCKING_OTHER should be 0x0a80, not 0x0a01.
229
230         * lib/header.h: Added PCI_CLASS_xxx constants for all classes currently
231         defined in the pci.ids file.
232
233 2006-08-01  Martin Mares  <mj@ucw.cz>
234
235         * lib/i386-io-hurd.h: Fixed a silly typo.
236
237 2006-07-30  Martin Mares  <mj@ucw.cz>
238
239         * lib/Makefile: Added a missing rule for obsd-device.o.
240
241         * lspci.c, lib/header.h: Added support for MSI per-vector masking.
242         Contributed by Petr Vandrovec.
243
244         * lspci.c, lib/header.h: Added support for the `bridge subsystem ID'
245         capability. Contributed by Petr Vandrovec.
246
247         * lspci.c (show_htype1): Fixed bug in printing of 64-bit prefetchable
248         memory windows. Fix by Petr Vandrovec.
249
250         * maint/release.pm: Exclude .git directory from releases.
251
252         * lib/i386-ports.c, lib/i386-io-*: Report failures during port access
253         initialization by a->warn() instead of calling printf() or perror()
254         directly.
255
256         * lib/i386-ports.c, lib/i386-io-*: Moved the logic which keeps track of
257         the port access state to generic code.
258
259         * lib/i386-io-hurd.h: Ask the kernel for I/O port access appropriately.
260         Contributed by Thomas Schwinge and Samuel Thibault.
261
262         * lib/i386-ports.c: Define _GNU_SOURCE, it's needed by the Hurd module.
263
264         * lib/header.h: Whitespace cleanups.
265
266         * lib/i386-io-windows.h: Fixed indentation and spelling.
267
268         * README.Windows: Mention that WinIO.dll is needed and where to get it.
269
270 2006-06-27  Martin Mares  <mj@ucw.cz>
271
272         * lib/Makefile, Makefile: Added rules for building and cleaning the example.
273
274         * lib/example.c: Show how to use PCI_FILL_CLASS and used another register
275         for demonstrating the config space accesses. The example is still very
276         incomplete, though.
277
278         * lib/pci.h, lib/generic.c: Added PCI_FILL_CLASS.
279
280         * lib/sysfs.c: Fetch device ID and class from sysfs, because they can
281         be modified by kernel fixups.
282
283         * lspci.c: Use PCI_FILL_CLASS. Thanks to Matthew Willcox for the patch.
284
285 2006-06-03  Martin Mares  <mj@ucw.cz>
286
287         * lspci.c: Introduced the -nn switch. Thanks to David N. Welton
288         for the idea.
289
290         * lib/names.c (pci_lookup_name): Introduced PCI_LOOKUP_MIXED and
291         cleaned up the name selection code.
292
293         * lib/names.c (pci_lookup_name): If PCI_LOOKUP_NO_NUMBERS is given,
294         pci_access->numeric_ids is ignored.
295
296         * lib/names.c (pci_lookup_name): When class is identified and
297         subclass isn't, display class name and subclass number.
298
299 2006-05-31  Martin Mares  <mj@ucw.cz>
300
301         * setpci.c (main): Don't crash when an invalid width is specified.
302
303         * lspci.c, setpci.c, common.c: die() now uses the right program
304         name when printing an error message.
305
306 2006-05-19  Martin Mares  <mj@ucw.cz>
307
308         * README: Mention the public GIT tree.
309
310         * README: Updated the list of ports.
311
312 2006-05-10  Martin Mares  <mj@ucw.cz>
313
314         * lib/configure, lib/fbsd-device.c: Added support for GNU/kFreeBSD.
315         Thanks to Petr Salinger for the patch.
316
317 2006-05-05  Martin Mares  <mj@ucw.cz>
318
319         * Released as 2.2.3.
320
321         * lspci.c (scan_device): The -D switch didn't work as intended
322         in -m mode.
323
324 2006-05-05  Martin Mares  <mj@ucw.cz>
325
326         * Released as 2.2.2.
327
328         * pci.ids: Updated to the current database snapshot.
329
330         * lib/obsd-device.c (and other files in lib/*): Added OpenBSD
331         interface by Matthieu Herrb <matthieu.herrb@laas.fr>, based on
332         the existing FreeBSD interface.
333
334         * Moved pciutils to a GIT repository, which now contains merged
335         history from both CVS and Arch. Good bye, TLA!
336
337 2006-03-21  Martin Mares  <mj@ucw.cz>
338
339         * lspci.c (show_slot_name): Avoid the previous changes in default
340         display of domain name when in machine-readable mode. However, `-D'
341         forces domain display even there.
342
343         * lspci.man: Added a warning on -m being the only format, which is
344         guaranteed to be stable between lspci versions.
345
346 2006-03-13  Martin Mares  <mj@ucw.cz>
347
348         * lspci.man: Documented the -D switch.
349
350         * lspci.c (show_slot_name, scan_device): If there are multiple PCI
351         domains or if the `-D' switch is used, show the domain number for
352         all devices.
353
354         * lspci.c (show_verbose): Report cache line size in bytes.
355
356         * update-pciids.sh: Use curl if available. Patch by Matthew Wilcox.
357
358 2006-01-04  Martin Mares  <mj@ucw.cz>
359
360         * lspci.c (show_express_link): Fixed decoding of link status register.
361         Thanks to Roland Dreier for his report.
362
363 2005-12-12  Martin Mares  <mj@ucw.cz>
364
365         * lib/nbsd-libpci.c: If libpci is used by an ordinary user, allow
366         at least read-only access. Patch by Pavel Celeda <celeda@liberouter.org>.
367
368         * Makefile: Corrected library path on NetBSD.
369
370 2005-11-26  Martin Mares  <mj@ucw.cz>
371
372         * Released as 2.2.1.
373
374         * lspci.c (show_machine): Subsystem vendors were printed incorrectly
375         in machine-readable modes. Thanks to Pavel Celeda for a bug report.
376
377 2005-10-11  Martin Mares  <mj@ucw.cz>
378
379         * lspci.c (new_bus): Fixed a memory leak. Thanks to Paul Sangree for reporting it.
380
381 2005-09-21  Martin Mares  <mj@ucw.cz>
382
383         * Released as 2.2.0.
384
385         * pci.ids: Updated copyright header.
386
387         * lib/sysfs.c (sysfs_get_resources): Removed warning about unsupported
388         64-bit addresses, they are now always supported.
389
390         * lspci.c (show_bases): Corrected printing of 64-bit addresses
391         in bus-centric mode.
392
393         * lib/configure: Enable 64-bit addresses on all Linux systems.
394
395         * lib/types.h: Don't pad 64-bit addresses to 16 xigits, only to 8 if they
396         are shorter.
397
398 2005-09-11  Martin Mares  <mj@ucw.cz>
399
400         * Released as 2.1.99-test11.
401
402         * lspci.c: Removed unnecessary trailing zeros in pci_lookup_name() calls.
403
404 2005-09-10  Martin Mares  <mj@ucw.cz>
405
406         * Released as 2.1.99-test10.
407
408         * pci.ids: Synchronized with the current database snapshot.
409
410         * update-pciids.sh: Changed the default URL for downloading pci.ids
411         to http://pciids.sourceforge.net/v2.2/pci.ids.
412
413         * lib/pci.h (PCI_LIB_VERSION): Added version identifier.
414
415         * lib/names.c: Rewritten the name database module almost from scratch.
416         Everything is much cleaner and there are hopefully no more memory leaks;
417         pci_lookup_name() now uses varargs in a backward compatible fashion.
418         Introduced PCI_LOOKUP_NO_NUMBERS.
419
420         The new code supports subsystem entries not tied to a specific device.
421         I had to extend the format of pci.ids in order to support it, so I have
422         extended the idea of the "C" (class) blocks and introduced "S" blocks
423         for subsystems. To avoid doing more incompatible changes in the future,
424         the parser skips unknown single-letter blocks without reporting errors.
425
426 2005-08-23  Martin Mares  <mj@ucw.cz>
427
428         * Released as 2.1.99-test9.
429
430         * Makefile (OPT): Removed -fomit-frame-pointer, it's default in recent
431         gcc versions when optimizing anyway.
432
433         * Made the path to pci.ids customizable and independent on the SHAREDIR.
434         Just override IDSDIR in the top-level Makefile.
435
436         * pci.ids: Synchronized with the current database snapshot.
437
438         * lspci.man, setpci.man: Improved the man pages. Documented all access
439         methods and which operations are privileged.
440
441         * lspci.c: Another rewrite of config register caching, now also including
442         lots of internal checks. It should be now perfectly able to cope with
443         portions of the configuration space being inaccessible, for example
444         due to insufficient access rights.
445
446         * lspci.c (show_pcix_nobridge, show_pcix_bridge): Cleaned up dumping of PCI-X
447         capabilities. Includes partial support for PCI-X 2.0 (probably incomplete
448         as I haven't seen the spec).
449
450         * lspci.c: Quell warnings about unused parameters.
451
452         * lspci.c: Removed C++ comments.
453
454         * lib/header.h: Merged definitions of extended capabilities and some new
455         PCI-X capability bits from linux-2.6.11/include/pci.h.
456
457         * lspci.c (show_caps): Try to scan extended capabilities only if the
458         device has either PCI-X or PCI Express capability in its normal capability
459         list.
460
461         * lib/dump.c (dump_init): Reading of dumps works again. The dump reader
462         now also remembers how much data it has read and refuses attempts to
463         access more than that.
464
465         * setpci.man, lspci.c, README: prefer spelling "buses" over "busses".
466
467         * lspci.c: If alloca() is not available, use xmalloc(), not malloc().
468
469         * lib/configure: Added x86_64 on Linux.
470
471 2005-08-22  Martin Mares  <mj@ucw.cz>
472
473         * lib/filter.c (pci_filter_parse_slot): Fixed parsing of domain filters.
474         Thanks to Matthew Wilcox for bug report.
475
476         * lspci.c: Corrected spelling of "Hz" (it was "hz" at several places).
477         Thanks to Krzysztof Oledzki for pointing that out.
478
479 2004-08-19  Martin Mares  <mj@ucw.cz>
480
481         * pciutils.spec (%attr): Setting attributes for /sbin/* is an anachronism,
482         because pciutils by default install to /usr/sbin. Update.
483
484 2004-08-13  Martin Mares  <mj@ucw.cz>
485
486         * Released as 2.1.99-test8.
487
488         * lib/types.h, lib/pci.h, lib/sysdep.h: `byte' and `word' are
489         no longer exported to the outside world.
490
491         * README.Windows: Updated.
492
493         * maint/release: Substitute version number in win32/config.h.
494
495         * win32/config.h: Added.
496
497         * lib/sysdep.h (bzero, strcasecmp): are macros on Windows.
498
499         * compat/getopt.[ch]: Added copies of getopt.[ch] from the GNU
500         C library for use on systems where the default libraries lack
501         proper getopt. Currently used by the Windows port.
502
503         * lib/sysdep.h, lib/types.h: Updates of the Windows port from
504         Alexander Stock.
505
506         * lib/types.h: If PCI_HAVE_Uxx_TYPES is defined, libpci doesn't define
507         its own u8, u16, u32, byte and word types and uses what the user
508         has supplied instead. With this change, all namespace clashes should
509         be gone.
510
511         * Makefile, lib/Makefile: Updated dependencies.
512
513         * pciutils.h: Include lib/sysdep.h and move NONRET et al. there.
514
515         * lib/sysdep.h: No need to include <sys/types.h> on FreeBSD, because
516         it is included unconditionally in lib/types.h.
517
518         * Moved system-dependent stuff from lib/internal.h to lib/sysdep.h,
519         which is also used by the utilities. Also moved type declarations
520         from lib/pci.h to lib/types.h.
521
522         * All files: Prepend a "PCI_" prefix in front of all configuration
523         defines to avoid namespace clashes. CAVEAT: If there is any libpci
524         application using the (undocumented) defines, it has to be updated.
525
526         * lib/Makefile: Killed HAVE_OWN_HEADER_H, since we stopped sharing
527         headers with the kernel a couple of years ago.
528
529         * lib/sysfs.c (sysfs_get_resources): We have 7 resources, not 6.
530
531         * lspci.c (show_rom): Use the same logic for printing disabled
532         or unassigned ROM's as we do in show_bases() for the other BAR's.
533
534         * lib/generic.c (pci_generic_fill_info): Better reaction to
535         invalid 64-bit addresses. Also d->hdrtype should not include
536         bit 7, which caused mysterious errors on multi-function devices.
537
538         * lib/generic.c (pci_generic_fill_info): Fill in base addresses
539         even if the regions are known to be disabled. It is the client's
540         job to interpret them. (And it is not a trivial job if you want
541         to do it correctly, since you need to check I/O and memory enables
542         on all upstream bridges, too.) However, it could be interesting to
543         introduce functions for interpreting the addresses and even for
544         mapping the regions and doing I/O on them.
545
546 2004-07-30  Martin Mares  <mj@ucw.cz>
547
548         * lspci.c: HyperTransport improvements from Maciej.
549
550 2004-07-11  Martin Mares  <mj@ucw.cz>
551
552         * lib/sysfs.c (sysfs_get_resources): Arguments now correspond
553         to the format string. [Patch by Bill Nottingham]
554
555 2004-07-05  Martin Mares  <mj@ucw.cz>
556
557         * Released as 2.1.99-test7.
558
559         * lspci.c (config_fetch): Wanted to merge Matthew's bug fix, but
560         ended up with rewriting the fetching mechanism to be fully dynamic,
561         but avoid reading config space registers not explicitly requested.
562
563 2004-06-29  Matthew Wilcox <willy@debian.org>
564
565         * lspci.c: More work on PCI Express dumping.
566
567         * lib/header.h: Updated PCI Express capability definitions.
568
569         * lib/proc.c (proc_read): Removed bogus warning.
570
571         * common.c (xrealloc): Introduced.
572
573         * lspci.man: Added -xxxx.
574
575 2004-06-27  Martin Mares  <mj@ucw.cz>
576
577         * Released as 2.1.99-test6.
578
579         * lspci.c (show_msix), lib/header.h: Added dumping of MSI-X cap.
580         Patch by Roland Dreier <roland@topspin.com>, cleaned up by me.
581
582         * lspci.c (show_pcix_nobridge, show_pcix_bridge): Handle config_fetch()
583         failures.
584
585         * lib/header.h: Added PCI Express extended capabilities. Again by Matthew.
586
587         * lspci.c (show_express): Added dumping of PCI Express cap.
588         Patch by Matthew Wilcox.
589
590         * lib/header.h: Added a list of PCI 3.0 capabilities and also details
591         on PCI Express caps. Patch by Matthew Wilcox <willy@debian.org>.
592
593         * lspci.c (check_root): Gone. No explicit checks for root are needed,
594         report correct errors reported by the libpci instead.
595
596         * lspci.c: Added dumping of the extended config space on "-xxxx".
597         Better caching of config registers.
598
599         * setpci.c (main): Allow access to whole 4096 bytes of the config space.
600
601         * lib/sysfs.c, lib/proc.c: Don't print error messages on short reads,
602         just return the appropriate error code.
603
604         * lib: Added support for extended (4096-byte) configuration space,
605         currently implemented only in Linux proc and sysfs access methods
606         and of course in the dump reader.
607
608 2004-05-29  Martin Mares  <mj@ucw.cz>
609
610         * Released as 2.1.99-test5.
611
612         * lib/pci.h: Windows don't have the standard u_int* types.
613
614         * lib/internal.h: <sys/param.h> required on Windows for endianity
615         macros.
616
617         * lib/i386-ports.c: Connected i386-io-windows.h.
618
619         * lspci.c (check_root): geteuid() is not available on Windows.
620
621         * lib/i386-io-windows.h: Added Windows port contributed by Alexander
622         Stock <stock.alexander@gmx.de>.
623
624         * lib/configure: Hopefully fixed SunOS port broken by various
625         changes to the configure script.
626
627         * Makefile, lib/configure: Cross-compilation support, patch by Maciej.
628
629 2004-05-28  Martin Mares  <mj@ucw.cz>
630
631         * Released as 2.1.99-test4.
632
633         * lspci.c (show_verbose): Header type 1 is probably legal for all
634         types of bridges, not only for PCI-to-PCI bridges.
635
636         * lspci.c (format_agp_rate): Write "x16", not "x@".
637         (show_agp): rate[] could overflow.
638         Bugs reported by Jakub Bogusz <qboosh@pld-linux.org>.
639
640         * lspci.c (show_ht_*): Show HyperTransport capability with all its
641         details. Once again code by Maciej simplified (i.e., possibly broken)
642         by me.
643
644         * lib/header.h: Added declarations of HyperTransport capability.
645         Again thanks to Maciej.
646
647         * lspci.c: Decode all bits of the secondary status word in type 1 headers.
648         Thanks to Maciej W. Rozycki <macro@ds2.pg.gda.pl> for the patch.
649
650 2003-12-27  Martin Mares  <mj@ucw.cz>
651
652         * Released as 2.1.99-test3.
653
654         * lspci.man, setpci.man: Document domains and correct spelling.
655
656         * lib/dump.c (dump_init): Added ability to read domain numbers.
657
658         * lspci.c: Devices in domains different from 0 have their slot number
659         printed as "<domain>:<bus>:<slot>.<func>". Tree view supports domains
660         as well.
661
662         * lib/filter.c: Slot filters understand domains.
663
664         * lib/generic.c: Mention the domain in slot numbers in all error messages.
665
666         * lib/internal.h: The #ifdef for Linux <asm/byteorder.h> was wrong.
667
668         * lib/access.c (pci_get_dev): Added support for domains.
669
670         * lib/sysfs.c (sysfs_scan): Read vendor and device ID from the config
671         registers (or to be precise, leave it for the generic parts of the pcilib
672         to do so) instead of reading them from the sysfs. It's faster this way.
673
674         * lspci.c (show_pcix): Don't touch pci_dev->hdrtype, it's an internal
675         variable. Better read it from the config registers (it's cached anyway).
676
677         * lib/sysfs.c (sysfs_scan), lib/proc.c (proc_scan): Don't read the hdrtype.
678           lib/generic.c (pci_generic_fill_info): If hdrtype is -1 (unset), read it.
679           Saves lots of unnecessary file accesses.
680
681         * lib/pci.h (PCIADDR_PORT_FMT): Use %llx instead of %Lx, because the latter
682         is not supported by all C libraries.
683
684         * Makefile: Always enter the lib directory (remember that we don't have
685         full dependecies for the library in the top-level Makefile; hmmm, another
686         thing to rewrite some day).
687
688         * lib/sysfs.c: Added Linux sysfs access method based on the patch
689         written by Matthew Wilcox <willy@fc.hp.com>.
690
691         * lib/proc.c: Renamed the access method name from "/proc/bus/pci" to "Linux-proc".
692
693         * lib/pread.h: The hacks to support pread on various versions
694         of Linux libc moved there.
695
696         * lib/proc.c (proc_setup): The return value of snprintf() varies
697         between glibc versions, so we need to check both for a negative
698         values and for too large values.
699
700         * Removed last few references to the "Linux PCI Utilities", the
701         package is pretty cross-platform now :)
702
703 2003-12-27  Martin Mares  <mj@ucw.cz>
704
705         * Released as 2.1.99-test2.
706
707         * README, pciutils.lsm, pciutils.spec: Use @VERSION@ to make the
708         release scripts insert the current version. "make release" is gone.
709
710         * maint/release, maint/release.pm: Added a new system of scripts for
711         making releases including inter-version diffs etc.
712
713         * Makefile: Cleaned up.
714
715         * lib/fbsd-device.c: I patched another copy of this file by mistake,
716         this time the version checks should be right.
717
718 2003-12-27  Martin Mares  <mj@ucw.cz>
719
720         * Released as 2.1.99-test1.
721
722         * pciutils.h, common.c, lspci.man, setpci.man, lib/internal.h:
723         Remove shadows of the syscall access method which was never
724         implemented.
725
726         * update-pciids.sh: Try to preserve permissions of the old file
727         if chmod supports --reference. Should close Debian Bug #223740.
728
729         * lib/proc.c (proc_setup): Increased path name length limit to 1024.
730         Thanks for Redhat and Mandrake for inspiration.
731
732         * lib/configure: Recognize ppc and ppc64, both have 64-bit addresses.
733         Grabbed from Redhat (Fedora) patches.
734
735 2003-12-27  Martin Mares  <mj@ucw.cz>
736
737         Merged bug fixes from Debian patches:
738
739         * lspci.c (show_verbose): "Cache Line Size" should be capitalized.
740
741         * lspci.c (show_pcix_nobridge): Added a missing newline.
742
743         * lib/proc.c (proc_scan): When reading the header type, don't
744         forget to clear the topmost bit indicating that the device has
745         multiple functions.
746
747 2003-12-27  Martin Mares  <mj@ucw.cz>
748
749         Updated the FreeBSD port. Thanks to Samy Al Bahra <samy@kerneled.com>
750         for the patches:
751
752         * lib/Makefile: Add ${FREEBSD_SYS} to the include path if it's defined.
753         * lib/fbsd-device.c: Select the right set of system includes according
754         to __FreeBSD_version.
755
756 2003-12-27  Martin Mares  <mj@ucw.cz>
757
758         Merged support for Solaris on i386 by Bill Moore <billm@eng.sun.com>
759         and cleaned up:
760
761         * lib/configure: Recognize SunOS.
762         * lib/internal.h: Learn how to recognize byte order on SunOS.
763         * lib/i386-ports.c: Split OS-dependent I/O port access from i386-ports.c.
764         * lib/i386-io-linux.h: Linux specific part.
765         * lib/i386-io-hurd.h: GNU/Hurd specific part.
766         * lib/i386-io-sunos.h: SunOS specific part.
767
768 2003-12-26  Martin Mares  <mj@ucw.cz>
769
770         * lib/header.h (PCI_*_MASK): Cast to pciaddr_t explicitly.
771
772         * lib/pci.h: Types declared in <sys/types.h> should be usable on all
773         platforms we currently support, so kill the forest of #ifdef's and
774         use them in all cases.
775
776         * lib/pci.h: Use ULONG_MASK to decide whether we should use long
777         or long long to represent a 64-bit address. Killed HAVE_LONG_ADDRESS.
778         Define format strings for addresses, port numbers and IRQ numbers
779         directly in pci.h.
780
781         * lib/proc.c (proc_scan): Use PCIADDR_T_FMT for scanf'ing addresses.
782
783 2003-12-26  Marco Gerards  <metgerards@student.han.nl>
784
785         Added support for the GNU Hurd (cleaned up by Martin Mares):
786
787         * lib/configure [GNU]: Use the i386 ports for configuration access.
788         * lib/i386-ports.c: Don't call iopl() on the Hurd.
789         * lib/pci.h [OS_GNU]: Include <sys/types.h> and use it for defining
790         u8 to u32.
791
792 2003-12-26  Martin Mares  <mj@ucw.cz>
793
794         * lspci.c (show_pcix_bridge, show_pcix_nobridge): Don't forget to call
795         config_fetch() to ensure that the registers have been read. Thanks to
796         Bill Wood <bill.wood@hp.com> for the patch.
797
798         * lspci.c: Ensure that failure of config_fetch() is handled correctly
799         at all places.
800
801         * lspci.man: There was one more explicit reference to /usr/share/pci.ids.
802         Changed to @SHAREDIR@. Patch from Maciej W. Rozycki <macro@ds2.pg.gda.pl>.
803
804         * setpci.c (main): Better error messages.
805
806         * setpci.c (ex_op): The demo mode should disable only writing, not reading.
807
808         * setpci.man: The documentation was inconsistent on what should -D do.
809         Document the new behaviour.
810
811         * pciutils.h, common.c, setpci.c: Introduced a NONRET macro encapsulating
812         the GCC specific __attribute__((noreturn)) and killed the hack with
813         redefining __attribute__ on non-GCC compilers.
814
815         * Makefile: Added missing dependencies. Parallel builds work now.
816         Problem reported by Andreas Haumer <andreas@xss.co.at>, but I chose
817         a different fix.
818
819         * Makefile (MANDIR): Use `:=' instead of `=' to avoid executing the shell
820         command every time $(MANDIR) is referenced.
821
822         * lspci.c (main): The error message for `lspci -s' incorrectly mentioned
823         a `-f' switch. Reported by Steve Finney <Steve.Finney@SpirentCom.COM>.
824
825         * lib/generic.c: Removed memory leak in pci_generic_bus_scan().
826         Reported by Gary Parnes <gary_parnes@terago.com>.
827
828         * Replaced obsolete syntax of __attribute__((unused)) in the middle of
829         parameter declarations (which is no longer supported by GCC 3.1) by the
830         current syntax (attribute at the end). Thanks to pixel@mandrakesoft.com
831         for reporting this problem.
832
833         * Removed CVS $Id$ tags from all files.
834
835         * Makefile: Added some more warnings.
836
837         * setpci.c: Cleaned up mask/value code.
838
839 2003-12-08 Thayne Harbaugh <tharbaugh@lnxi.com>
840
841         * setpci.c: Individual bits to be set can be specified as <value>:<mask>.
842
843 2003-11-29  Martin Mares  <mj@ucw.cz>
844
845         * Imported the pciutils sources to my Arch repository. Good-bye, CVS.
846
847 2003-01-04  Martin Mares  <mj@ucw.cz>
848
849         * Released as 2.1.11.
850
851         * Makefile: Changed configuration of installation directories --
852         all paths are now set at the top of the Makefile instead of being
853         scattered between the installation rules. The default installation
854         now goes always to /usr/local regardless of the OS as most distributions
855         already contain some version of pciutils and we don't want custom
856         installations to interfere with the default ones.
857
858         * Makefile: Removed a couple of ancient install hacks: we no longer
859         try to avoid overwriting a newer pci.ids file (users are now expected
860         to use update-ids) and we don't try to remove /etc/pci.ids (a long time
861         has passed since the last version which used it).
862
863         * Makefile: Paths to pci.ids in man pages automatically get the right path.
864
865         * Added the update-ids utility.
866
867         * lib: Removed partially implemented "syscall" access method which will
868         probably never be needed.
869
870 2002-12-27  Martin Mares  <mj@ucw.cz>
871
872         * lib/nbsd-libpci.c: Cleaned up and hopefully made it endian safe.
873
874         * lib/generic.c (pci_generic_scan_bus): Added work-around for devices with
875         discontiguous numbering of functions. This is already present in the Linux
876         kernel for several years, but I forgot to update pciutils as well.
877
878 2002-12-26  Martin Mares  <mj@ucw.cz>
879
880         * lib/header.h, lspci.c: Dump AGP3 flags and speeds.
881
882         * lib/pci.h, Makefile: Removed HAVE_OWN_HEADER_H. Always use our own header,
883         there is no reason to prefer the kernel version.
884
885         * lib/proc.c (proc_scan): Don't forget to initialize hdrtype.
886
887         * Added preliminary version of NetBSD support by Quentin Garnier
888         <netbsd@quatriemek.com>.
889
890 2002-04-06  Martin Mares  <mj@ucw.cz>
891
892         * lspci.c: Mention "-xxx" in the help.
893
894 2002-03-30  Martin Mares  <mj@ucw.cz>
895
896         * Released as 2.1.10.
897
898         * Removed pci.ids from the CVS as they are now maintained separately.
899         They are still included in the tarball, but if you are building pciutils
900         from CVS sources or you want to get a newer ID file than the one distributed,
901         just use "make update-ids" to download the most recent snapshot from
902         pciids.sf.net.
903
904         * Makefile, README: Updated accordingly.
905
906         * Makefile: Added a couple of maintenance targets.
907
908         * maint/*: Maintainer's utilities now reside here (present only in CVS,
909         not in the tarball).
910
911         * lib/names.c (parse_name_list): End-of-line comments are no longer
912         supported. Hashes are now perfectly valid in all names and they start
913         a comment only at the start of the line.
914
915 2002-03-26  Martin Mares  <mj@ucw.cz>
916
917         * README: Rewritten.
918
919         * Makefile: When the currently installed pci.ids file is newer than
920         the version to be installed, don't overwrite it. Suggested by
921         Jean Delvare <khali@linux-fr.org>.
922
923 2002-03-24  Martin Mares  <mj@ucw.cz>
924
925         * lspci.c (show_pcix_bridge): Added PCI-X capability display.
926         Contributed by Jeff Garzik <jgarzik@mandrakesoft.com>.
927
928         * lib/header.h: Added PCI-X stuff. Again by Jeff.
929
930         * Makefile (CFLAGS): -Werror is gone.
931
932         * lspci.c (format_agp_rate): Fixed AGP rate reporting.
933
934         * lib/filter.c (pci_filter_parse_slot): Allow bus 0xff, slot 0x1f and
935         function 7.
936
937         * lib/names.c (pci_lookup_name): When printing unknown subsystem vendor
938         or device hexadecimally, don't confuse it with chip vendor/device ID.
939         First reported by Marc Boucher <marc@mbsi.ca>.
940
941 2001-11-04  Martin Mares  <mj@ucw.cz>
942
943         * Released as 2.1.9.
944
945         * pci.ids: Synced with the PCI ID Repository at SourceForge
946         (http://pciids.sourceforge.net/).
947
948 2000-08-25  Martin Mares  <mj@albireo.ucw.cz>
949
950         * pci.ids: Updated ID's, synced with kernel 2.4.0-test7.
951
952 2000-06-13  Martin Mares  <mj@albireo.ucw.cz>
953
954         * Makefile (uninstall): Fixed.
955
956         * pci.ids: ID updates.
957
958 2000-05-20  Martin Mares  <mj@albireo.ucw.cz>
959
960         * Released as 2.1.8.
961
962         * pci.ids: ID updates.
963
964         * lspci.c (show_verbose): Min/max latency is now printed in nanoseconds.
965
966 2000-05-04  Martin Mares  <mj@albireo.ucw.cz>
967
968         * lspci.c (show_verbose): If the header type doesn't match device
969         class, just print a warning and still use the header type, assuming
970         bogus class info.
971
972 2000-05-01  Martin Mares  <mj@albireo.ucw.cz>
973
974         * lspci.c (show_pm): Updated according to PCI PM specs 1.1.
975
976         * pci.ids: Updated Contemporary Control ARCnet card entries.
977
978         * pci.ids: Synchronized class list with latest PCI SIG documents.
979
980 2000-04-29  Martin Mares  <mj@albireo.ucw.cz>
981
982         * lib/names.c (pci_lookup_name): Fixed the cheat.
983
984         * lib/internal.h: Moved UNUSED/inline hacks above all other declarations.
985
986         * pci.ids: Various ID updates.
987
988 2000-04-21  Martin Mares  <mj@albireo.ucw.cz>
989
990         * Released as 2.1.7.
991
992         * pciutils.spec: Added German description.
993
994         * lib/names.c (pci_lookup_name): Added a cheat for case that subsystem ID's
995         are the same as device ID and just output subsystem name according to
996         device name.
997
998         * lib/proc.c: Use UNUSED instead of __attribute__((unused)).
999
1000         * lib/pci.h: Added the correct typedefs for AIX.
1001
1002         * lib/generic.c (pci_generic_scan_bus): Export.
1003
1004         * lib/configure: Detect AIX. Use "echo '...\c'" instead of
1005         "echo -n" if the shell isn't bash.
1006
1007         * lspci.c: Avoid using alloca() if not compiled by GCC.
1008         (insert_dev): Avoid returning a void value.
1009
1010         * Makefile: Choose which install utility to use according to
1011         OS type. Also use `-o' instead of `-or' in find arguments.
1012         Part of the AIX port.
1013
1014         * lib/aix-device.c: Added AIX low-level interface. Contributed
1015         by Dave Johnson <ddj@brown.edu>, thanks a lot!
1016
1017         * pci.ids: Few new ID's.
1018
1019         * pciutils.h, lib/internal.h: Redefine __attribute__ and inline
1020         when not compiled by GCC.
1021
1022 2000-04-17  Martin Mares  <mj@albireo.ucw.cz>
1023
1024         * Released as 2.1.6.
1025
1026         * pci.ids: Added a large batch of ID's contributed by Gunther
1027         Mayer <gunther.mayer@braunschweig.netsurf.de> and synced the
1028         list with the 2.3.99pre6 kernel.
1029
1030 Thu Mar  9 13:11:39 2000  Martin Mares  <mj@albireo.ucw.cz>
1031
1032         * lib/example.c: Added a simple example of how to use
1033         the library.
1034
1035         * lspci.man, setpci.man: Revealed --version. Well spotted
1036         by Adam Sulmicki.
1037
1038         * pci.ids: Added lots of new ID's and synced with 2.3.50.
1039
1040 Tue Feb 15 00:16:21 2000  Martin Mares  <mj@albireo.ucw.cz>
1041
1042         * Released as 2.1.5.
1043
1044         * pciutils.spec: Updated spec file from Andreas Jaeger. Now using
1045         %{_mandir} to find the right location to install manual pages to.
1046
1047         * pci.ids: New ID's.
1048
1049         * setpci.c (main): Don't crash when `-s' or `-d' is given with
1050         no argument.
1051
1052 Mon Jan 24 20:04:11 2000  Andreas Jaeger  <aj@suse.de>
1053
1054         * lib/i386-ports.c: Include <asm/io.h> only on systems without
1055         glibc.
1056
1057 Mon Jan 24 11:24:43 2000  Martin Mares  <mj@albireo.ucw.cz>
1058
1059         * Makefile: Modified to work with the Linux FHS brain-damaged idea
1060         of putting man pages to /usr/share/man. Now we choose either /usr/man
1061         or /usr/share/man depending on which one exists.
1062
1063 Sun Jan 23 10:52:34 2000  Martin Mares  <mj@albireo.ucw.cz>
1064
1065         * pci.ids: Synced with Linux 2.3.40.
1066
1067         * Released as version 2.1.4.
1068
1069 Thu Jan 20 11:08:32 2000  Martin Mares  <mj@albireo.ucw.cz>
1070
1071         * lspci.c (scan_device): Fixed bug in reading of cardbus extensions.
1072
1073         * lib/proc.c: pread/pwrite fixed again, this time on libc5 :(
1074
1075         * lspci.c (format_agp_rate): Better formatting of AGP rates.
1076
1077         * pci.ids: New ID's.
1078
1079         * lib/configure: Added configuration for ia64 (the same as for Alpha).
1080         Patch from Stephane Eranian <eranian@cello.hpl.hp.com>.
1081
1082 Thu Jan 13 23:01:52 2000  Martin Mares  <mj@albireo.ucw.cz>
1083
1084         * Released as version 2.1.3.
1085
1086         * pci.ids: New ID's.
1087
1088         * lspci.c: Alpha IO_FORMAT fix by Andrea Arcangeli.
1089
1090         * lib/access.c: Corrected order of access methods -- it's wonderful how
1091         long could such a bug remain unspotted. Thanks go to Andreas Schockenhoff.
1092
1093 Sat Dec 11 23:34:48 1999  Martin Mares  <mj@albireo.ucw.cz>
1094
1095         * Released as version 2.1.2.
1096
1097         * lib/names.c (pci_lookup_name): Fixed printing of unknown subsystem ID's.
1098
1099 Sat Dec  4 13:11:03 1999  Martin Mares  <mj@albireo.ucw.cz>
1100
1101         * Released as version 2.1.1.
1102
1103         * pci.ids: Several new ID's.
1104
1105         * setpci.c (exec_op): Don't forget to increment address after writing
1106         single value, so that `30.b=12,34,56,78' works as expected. Reported
1107         by Petr Soucek <petr@ryston.cz>.
1108
1109 Wed Nov  3 10:24:38 1999  Martin Mares  <mj@albireo.ucw.cz>
1110
1111         * lspci.c (show_terse): If prog-if is zero, but it's present in the
1112         ID list, show it.
1113
1114 Sat Oct 30 11:06:35 1999  Martin Mares  <mj@albireo.ucw.cz>
1115
1116         * Released as version 2.1.
1117
1118         * pci.ids: Synced to devlist.h in 2.3.24 kernel. Merged in
1119         lots of contributed entries.
1120
1121 Thu Oct 14 10:40:12 1999  Dave Jones    <dave@powertweak.com>
1122
1123         * pci.ids: Added lots of subsystem definitions.
1124
1125 Sat Oct  9 14:32:28 1999  Martin Mares  <mj@albireo.ucw.cz>
1126
1127         * setpci.man: Better example.
1128
1129         * lspci.c: Resolve prog-if names.
1130
1131         * lib/names.c: Adapted to new pci.ids syntax.
1132
1133         * pci.ids: Reorganized the pci.ids file. Subsystems are listed
1134         under devices, classes can optionally contain prog-if information.
1135         New ID's, as usually.
1136
1137 Wed Sep 22 09:45:24 1999  Martin Mares  <mj@albireo.ucw.cz>
1138
1139         * pci.ids: New ID's. As usually.
1140
1141         * lspci.c (show_htype1, show_htype2): Don't show `closed' bridge windows
1142         unless we're vvvery verbose.
1143
1144 Mon Sep 20 11:22:54 1999  Martin Mares  <mj@albireo.ucw.cz>
1145
1146         * lspci.c (show_htype2): Don't forget a TAB before the "I/O window" line.
1147
1148 Tue Sep 14 09:31:01 1999  Martin Mares  <mj@albireo.ucw.cz>
1149
1150         * pci.ids: New ID's. Again.
1151
1152 Thu Aug  5 17:45:42 1999  Martin Mares  <mj@albireo.ucw.cz>
1153
1154         * lspci.c (show_size): Don't show size if it's zero (usually
1155         due to bus-centric mode being enabled).
1156
1157 Tue Jul 20 13:25:09 1999  Martin Mares  <mj@albireo.ucw.cz>
1158
1159         * lib/pci.h: Types are OS dependent.
1160
1161         * lib/internal.h: Byte order hacks are OS dependent.
1162
1163         * lib/configure: Recognize FreeBSD. Also set OS_XXX according to the OS.
1164
1165         * lib/Makefile, lib/access.c: Added fbsd-device target.
1166
1167         * pci.ids: Added an entry for PLX 9080 bridges with subsystem ID
1168         incorrectly set to device ID.
1169
1170         * README: Added a note that we support FreeBSD.
1171
1172         * Makefile (PREFIX, ROOT): Set it depending on the OS.
1173         (%.8): Grrr, BSD date is not able to convert date formats the same way
1174         as GNU date does. Use sed instead.
1175         (install): Use `-c' when calling install.
1176
1177         * lib/fbsd-device.c: Added FreeBSD /dev/pci access module contributed
1178         by Jari Kirma <kirma@cs.hut.fi>.
1179
1180         * lib/proc.c: Rewrote the pread/pwrite things once again. Use pread
1181         and pwrite only when we are certain it's safe (i.e., glibc 2.1
1182         on all architectures or any libc on a i386 where we really know
1183         how to use syscalls directly). In all other cases, emulate it
1184         with lseek/read/write.
1185
1186         * pci.ids: Some more IDs.
1187
1188 Mon Jul 19 14:10:36 1999  Martin Mares  <mj@albireo.ucw.cz>
1189
1190         * pci.ids: Added IDs of parallel port controller cards as sent
1191         by Tim Waugh <tim@cyberelk.demon.co.uk>.
1192
1193 Wed Jul  7 00:55:48 1999  Martin Mares  <mj@albireo.ucw.cz>
1194
1195         * lib/proc.c (proc_scan): HAVE_LONG_ADDRESS instead of HAVE_64BIT_ADDRESS.
1196
1197         * lspci.c: ADDR_FORMAT now depends on both HAVE_64BIT_ADDRESS and
1198         HAVE_LONG_ADDRESS.
1199
1200         * lib/configure: HAVE_64BIT_ADDRESS now doesn't imply that the addresses
1201         are represented as long long. Introduced a new flag HAVE_LONG_ADDRESS
1202         to indicate this. Both Sparc architectures now use both 64BIT_ADDRESS
1203         and LONG_ADDRESS since they have 32-bit userland, but don't set LONG_ADDRESS
1204         on Alpha.
1205
1206         * lspci.c (show_msi): Added dumping of the MSI capability.
1207         (show_slotid): The same for SlotID capability.
1208         (show_caps): Seperated capability dumping, because it should
1209         be used for both htype0 and htype1. Even PCI 2.2 doesn't mention
1210         layout of htype2, so I'm a bit unsure about it wrt capabilities
1211         -- they at least have to live somewhere else since address 0x34
1212         is already defined differently in htype2.
1213
1214         * lib/header.h (PCI_STATUS_UDF): Marked as obsolete (PCI 2.2).
1215         (PCI_BASE_ADDRESS_MEM_TYPE_1M): Ditto.
1216         (PCI_CAP_ID_*): Added some new capabilities defined in PCI 2.2.
1217
1218         * lspci.c (show_htype0): Mask out lowest 2 bits from all capability pointers
1219         (required by the PCI 2.2 specs).
1220
1221 Mon Jul  5 12:45:19 1999  Martin Mares  <mj@albireo.ucw.cz>
1222
1223         * lspci.c (show_size): Added new function for dumping of region sizes.
1224         (show_rom): Added. Now correctly dumps unassigned ROM addresses, disabled
1225         ROMs et cetera.
1226
1227         * lib/pci.h (struct pci_dev): known_fields moved to the public part
1228         of the structure.
1229
1230         * Added support for region sizes. Needs support in the kernel, because
1231         sizes have to be scanned before drivers initialize yourself. pci_fill_info()
1232         now returns a bitmask of what fields were really read.
1233
1234 Mon Jun 28 18:37:51 1999  Dave Jones    <dave@powertweak.com>
1235
1236         * Makefile:
1237           Added `uninstall' target - removes all traces of pciutils.
1238         * pci.ids:
1239           - Lots of cleanups in the ATI, S3, Adaptec vendors.
1240           - Changed Compaq QVision 1280/p definitions, as it's not possible
1241             to determine the revision from the device ID.
1242           - Same for the Tseng ET4000.
1243             The id's said I had a rev C, when it was actually a rev B.
1244           - Removed some unnecessary strings
1245             `PCI'. Unless it's an AGP card, it should be obvious that it's PCI.
1246             `Ethernet card'. This should be determined from config space.
1247           - Lots of other new vendors & devices
1248           - Other additional small cleanups.
1249
1250 Mon Jun 21 22:11:10 1999  Martin Mares  <mj@albireo.ucw.cz>
1251
1252         * lib/names.c (pci_lookup_name): When device ID lookup
1253         fails, return hexadecimal device ID instead of vendor ID.
1254         Well spotted by Axel Bodemann <Axel.Bodemann@ruhr-uni-bochum.de>,
1255         I've just extended the fix to subsystem ID's.
1256
1257 Thu Jun 17 19:48:21 1999  Martin Mares  <mj@albireo.ucw.cz>
1258
1259         * lspci.c (show_agp): Bug fix from Petr Vandrovec
1260         <vandrove@vc.cvut.cz>. The command register was displayed
1261         incorrectly.
1262
1263 Wed Jun  2 22:42:44 1999  Martin Mares  <mj@albireo.ucw.cz>
1264
1265         * lib/proc.c (SYS_pread, SYS_pwrite): Use hard-coded
1266         numbers if not supplied by the libc.
1267
1268 Wed May 19 13:24:39 1999  Martin Mares  <mj@albireo.ucw.cz>
1269
1270         * Released the whole package as version 2.0.
1271
1272 Fri May 14 22:42:02 1999  Martin Mares  <mj@albireo.ucw.cz>
1273
1274         * pci.ids: Added several new ID's contributed by people
1275         on the linux-pci list.
1276
1277 Mon Apr 19 15:21:08 1999  Jakub Jelinek  <jj@ultra.linux.cz>
1278
1279         * lspci.c: Display I/O addresses correctly on sparc64.
1280         * lib/header.h: Ditto.
1281
1282         * lib/configure: On sparc set HAVE_64BIT* as well, we want
1283         a binary which works on both 32bit and 64bit SPARCs.
1284
1285 Sun Apr 18 21:14:58 1999  Martin Mares  <mj@albireo.ucw.cz>
1286
1287         * lspci.c, lib/proc.c: Alpha compilation fixes from Matthew Jacob
1288         <mjacob@feral.com>.
1289
1290         * pci.ids: A lot of updates from Adam J. Richter <adam@yggdrasil.com>.
1291
1292 Sun Feb 28 22:26:21 1999  Martin Mares  <mj@albireo.ucw.cz>
1293
1294         * lspci.c (do_map_bus): Don't dump functions 1--7 if not flagged
1295         as a multi-function device, because several single-function devices
1296         don't decode the function bits at all.
1297
1298 Sun Feb 14 23:48:22 1999  Martin Mares  <mj@albireo.ucw.cz>
1299
1300         * Makefile (install): Don't use "-o root -g root" for installation
1301         since it breaks on machines where programs are not installed by root.
1302         Reported by Richard Gooch <rgooch@atnf.csiro.au>
1303
1304 Tue Feb  9 15:54:39 1999  Martin Mares  <mj@albireo.ucw.cz>
1305
1306         * lspci.c (show_bases): Use new address masking macros and pciaddr_t.
1307
1308         * lib/pci.h: Using pciaddr_t for bus addresses, which are 32-bit
1309         or 64-bit depending on CPU.
1310
1311         * lib/pci.h (PCI_ADDR_MEM_MASK): Added macros for address masks
1312         according to bus address width.
1313
1314 Thu Jan 28 20:54:16 1999  Martin Mares  <mj@albireo.ucw.cz>
1315
1316         * Released as 1.99.4.
1317
1318         * lspci.c: Capability list parser now recognizes both AGP
1319         registers and PCI Power Management registers (the latter
1320         is mainly guesswork based on DEC/Intel 21153 bridge specs
1321         since I don't have the PCI Power Management document).
1322
1323         * lspci.c: Replaced numerous occurences of (x & flag) ? '+' : '-'
1324         by FLAG macro.
1325
1326         * lspci.c: Added bridge checks to bus mapping code.
1327
1328 Wed Jan 27 14:59:16 1999  Martin Mares  <mj@albireo.ucw.cz>
1329
1330         * lspci.c: Implemented bus mapping mode (-M).
1331
1332         * lspci.c (scan_devices): Split to scan_devices() and scan_device().
1333         (show): Split to show() and show_device().
1334
1335         * lib/access.c (pci_init): When a->method == PCI_ACCESS_AUTO,
1336         set it to the real access method afterwards.
1337
1338 Mon Jan 25 23:46:13 1999  Martin Mares  <mj@albireo.ucw.cz>
1339
1340         * lib/generic.c (pci_generic_fill_info): If in buscentric mode,
1341         don't check PCI_COMMAND for I/O and memory enables.
1342
1343 Mon Jan 25 21:28:49 1999  Martin Mares  <mj@albireo.ucw.cz>
1344
1345         * Makefile: Added target `release' which substitutes new version
1346         number to .spec, .lsm and README. Also rewrote target `dist'.
1347
1348         * Released as 1.99.3.
1349
1350 Sun Jan 24 22:10:36 1999  Martin Mares  <mj@albireo.ucw.cz>
1351
1352         * lib/header.h: Until kernel adopts new layout of PCI
1353         includes (i.e., separate declaration of header structure,
1354         functions and device IDs), which is not going to happen
1355         before 2.3, we'll use our own definiton of the header.
1356
1357         * lspci.c (show_verbose): Display `Cap' flag in device status.
1358
1359         * lspci.c (show_htype0): Display capability lists whereever
1360         available. The only capability name we recognize now is `AGP'.
1361         Unfortunately, capabilities are stored in device-dependent
1362         portion of the configuration space and are thus available
1363         only to root unless you read a dump.
1364
1365         * lspci.c (scan_devices): Use cache instead of buffering.
1366
1367         * lib/buffer.c: Removed (obsoleted by the cache).
1368
1369         * lib/access.c: Added general caching mechanism.
1370
1371 Sat Jan 23 21:30:54 1999  Martin Mares  <mj@albireo.ucw.cz>
1372
1373         * pci.ids: Added few devices.
1374
1375 Fri Jan 22 19:29:31 1999  Martin Mares  <mj@albireo.ucw.cz>
1376
1377         * Version string is now defined in top-level Makefile, exported
1378         to the configure script and also substituted to man pages.
1379
1380         * lspci.c (show_bases): Rewrote displaying of 64-bit addresses.
1381         (show_verbose): Rewrote interrupt display logic.
1382
1383         * lib/i386-ports.c: Include sys/io.h only on glibc systems.
1384
1385         * lib/configure: Rewrote detection of Linux versions. Now it
1386         works on 2.0 kernels (only with direct/dump access, of course).
1387
1388         * lib/internal.h: New bytesex macros using <asm/byteorder.h>
1389         whenever available.
1390
1391         * lib/proc.c (proc_read, proc_write): Distinguish between short
1392         read/write and real errors.
1393
1394         * lspci.c (show_htype{0,1}): Always use d->dev->rom_base_addr since
1395         libpci respects buscentric mode automatically.
1396
1397         * lspci.c (show_hex_dump): For CardBus bridges, print out 128
1398         bytes of header (the whole standard part).
1399
1400         * common.c: pcilib options are now all uppercase. Also moved
1401         PCI access debugging option here.
1402
1403         * Released as 1.99.2.
1404
1405 Wed Jan 20 22:50:35 1999  Martin Mares  <mj@albireo.ucw.cz>
1406
1407         * Wrote configure script and rewrote Makefiles.
1408
1409         * Removed few unused variables.
1410
1411 Wed Jan 20 12:21:56 1999  Martin Mares  <mj@albireo.ucw.cz>
1412
1413         * common.c: Moved several functions used in both setpci and lspci
1414         here. This includes parsing of libpci-related options.
1415
1416         * More library tweaks.
1417
1418         * filter.c, names.c: Moved to library.
1419
1420         * setpci: Rewritten to use the library.
1421
1422         * Released as 1.99.1.
1423
1424 Tue Jan 19 23:00:12 1999  Martin Mares  <mj@albireo.ucw.cz>
1425
1426         * lspci.c (scan_devices): For cardbus bridges, read first 128
1427         bytes of config space to get full standard header.
1428
1429         * Makefile (CFLAGS): Removed "-Wno-unused".
1430
1431         * Started the "New Generation" branch and introduced the
1432         PCI library.
1433
1434         * lspci: Rewritten to use the library.
1435
1436 Tue Jan 19 22:24:08 1999  Martin Mares  <mj@albireo.ucw.cz>
1437
1438         * Released as version 1.10.
1439
1440 Mon Jan 18 08:51:17 1999  Martin Mares  <mj@albireo.ucw.cz>
1441
1442         * lspci.8, setpci.8: Miscellaneous fixes as suggested by
1443         Dag Wieers <dag@digibel.be>.
1444
1445 Sun Nov 29 20:05:56 1998  Martin Mares  <mj@albireo.ucw.cz>
1446
1447         * pciutils.spec (Name): Update from Krzysztof G. Baranowski.
1448
1449 Sun Nov 22 10:49:56 1998  Martin Mares  <mj@albireo.ucw.cz>
1450
1451         * Makefile, pciutils.h: Moved pci.ids to /usr/share.
1452
1453         * Released as version 1.09.
1454
1455 Wed Nov 18 15:47:05 1998  Martin Mares  <mj@albireo.ucw.cz>
1456
1457         * lspci.c (show_htype1): Fixed displaying of prefetchable memory behind
1458         bridge. Thanks to Petr Vandrovec <vandrove@vc.cvut.cz> for bug report.
1459
1460 Fri Oct 23 18:59:19 1998  Martin Mares  <mj@albireo.ucw.cz>
1461
1462         * setpci.c: Don't include <syscall-list.h> with glibc >= 2.1.
1463
1464 Mon Oct 19 21:53:30 1998  Martin Mares  <mj@albireo.ucw.cz>
1465
1466         * Released as version 1.08.
1467
1468         * setpci.c: glibc 2.1.x already defines pread() and pwrite().
1469
1470         * lspci.8: Changed warning about lspci -xxx.
1471
1472         * lspci.c: Require "-xxx" for full configuration space dump, so that
1473         it's impossible to crash the machine by single typo.
1474
1475         * specs: Added (courtesy of Krzysztof G. Baranowski <kgb@knm.org.pl>).
1476
1477 Wed Sep  9 12:03:24 1998  Martin Mares  <mj@albireo.ucw.cz>
1478
1479         * lspci.c (show_bases): Better displaying of unassigned and
1480         disabled bases. Thanks to Gabriel Paubert <paubert@iram.es>
1481         for an idea.
1482
1483 Wed Sep  2 10:58:01 1998  Martin Mares  <mj@albireo.ucw.cz>
1484
1485         * setpci.c (pread): Recognize glibc 1.99 numbered as 2.0 on the PPC.
1486         (thanks to Geert Uytterhoeven for finding this out)
1487
1488 Fri Jul 17 10:43:30 1998  Martin Mares  <mj@albireo.ucw.cz>
1489
1490         * lspci.c (show_verbose): Print subsystem ID using the new resolver.
1491         (show_machine): Print subsystem ID.
1492
1493         * names.c: New name resolution engine supporting subsystem IDs.
1494
1495         * Released as version 1.07.
1496
1497 Wed Jul 15 15:37:21 1998  Martin Mares  <mj@albireo.ucw.cz>
1498
1499         * lspci.c (show_htype2 etc.): Displaying of CardBus headers.
1500         (show_bases): Honor the `cnt' argument.
1501         (grow_tree): Parse CardBus headers in tree mode as well.
1502
1503         * pci.h: Updated CardBus header field description. I still don't
1504         have the CardBus standard available, but OZ6832 specs contain
1505         full description of all header fields supported by the chip.
1506
1507 Tue Jun  9 22:53:59 1998  Martin Mares  <mj@albireo.ucw.cz>
1508
1509         * Released as 1.06.
1510
1511         * names.c (parse_name_list): Killed an unused variable.
1512
1513         * setpci.c (pread, pwrite): Define SYS_(pread|pwrite) as __NR_\1
1514         if they are not defined by glibc (needed for glibc built on older
1515         kernels). Ugly.
1516
1517         * setpci.c (exec_op): Fixed error messages. Thanks, Steve!
1518
1519 Mon Jun  8 10:59:22 1998  Martin Mares  <mj@albireo.ucw.cz>
1520
1521         * Released as 1.05.
1522
1523         * setpci.c: Problems with pread()/pwrite() with glibc on Alpha
1524         should be gone. Again thanks to Steve for bug report.
1525
1526         * filter.c (filter_parse_slot): Fixed ":x" type filters.
1527
1528         * pci.ids: Killed duplicate entry. Thanks to Stephen Williams
1529         <steve@icarus.com> for reporting this.
1530
1531 Sun Jun  7 19:27:51 1998  Martin Mares  <mj@albireo.ucw.cz>
1532
1533         * lspci.c (main), setpci.c (main): Implemented "--version".
1534
1535         * Released as 1.04.
1536
1537         * pciutils.h (PCIUTILS_VERSION): Added version string.
1538
1539         * filter.c, names.c: Extraneous #include <linux/pci.h> removed.
1540         Thanks to Geert Uytterhoeven <Geert.Uytterhoeven@cs.kuleuven.ac.be>
1541         for bug report.
1542
1543 Thu May 28 14:45:58 1998  Martin Mares  <mj@lomikel.karlin.mff.cuni.cz>
1544
1545         * pci.ids: More updates from Jens Maurer.
1546
1547 Wed Apr 22 10:00:39 1998  Martin Mares  <mj@albireo.ucw.cz>
1548
1549         * pci.ids: Updates from Jens Maurer.
1550
1551 Sun Apr 19 11:14:25 1998  Martin Mares  <mj@albireo.ucw.cz>
1552
1553         * Released as 1.03.
1554
1555         * setpci.8: Written.
1556
1557         * setpci.c: Finished.
1558
1559         * lspci.c: Now able to fetch expansion ROM base from kernel device list
1560         and print it if not in buscentric mode.
1561
1562 Tue Mar 31 23:11:57 1998  Martin Mares  <mj@albireo.ucw.cz>
1563
1564         * setpci.c: Added.
1565
1566 Sun Mar 22 15:39:08 1998  Martin Mares  <mj@albireo.ucw.cz>
1567
1568         * lspci.8: Updated the documentation.
1569
1570         * lspci.c: Modified to use the new filtering mechanism (options -f and -d).
1571
1572         * filter.c: Introduced new generic device filter.
1573
1574 Thu Mar 19 17:03:48 1998  Martin Mares  <mj@lomikel.karlin.mff.cuni.cz>
1575
1576         * lspci.c (grow_tree, show_tree_dev, print_it): Fixed displaying
1577         of PCI-to-PCI bridges in the tree format.
1578
1579 Sun Feb 15 10:12:25 1998  Martin Mares  <mj@albireo.ucw.cz>
1580
1581         * lspci.c (show_machine): Added non-verbose mode of machine-readable
1582         dump.
1583
1584         * pci.ids: Updates from Jens Maurer.
1585
1586         * Released as version 1.02.
1587
1588 Thu Feb 12 16:53:28 1998  Martin Mares  <mj@lomikel.karlin.mff.cuni.cz>
1589
1590         * lspci.c: Added a "-m" switch for dumping machine-readable
1591         configuration data (requested by Bjoern Kriews <bkr@cut.de>).
1592
1593 Mon Feb  9 13:17:43 1998  Martin Mares  <mj@albireo.ucw.cz>
1594
1595         * Makefile, pciutils.h: Include local pci.h instead of <linux/pci.h>
1596         if available. This should avoid all problems with official kernel
1597         not synchronized to newer PCI code in CVS -- standard distribution
1598         of pciutils now contains pci.h from current CVS kernel, pciutils
1599         in CVS contain no pci.h and use the correct kernel include.
1600
1601         * Makefile: Fixed installation path for man pages.
1602
1603 Sat Feb  7 15:15:46 1998  Martin Mares  <mj@albireo.ucw.cz>
1604
1605         * README: Updated.
1606
1607         * lspci.8: Created a man page.
1608
1609         * Releasing as version 1.0.
1610
1611 Tue Feb  3 20:56:00 1998  Martin Mares  <mj@albireo.ucw.cz>
1612
1613         * Makefile: Recognize architecture by calling uname and pass it as ARCH_xxx
1614         to all the C sources. This should eliminate problems with 32-bit compilers
1615         on sparc64.
1616
1617         * lspci.c (show_verbose): Recognize CardBus bridge header type.
1618         (show_htype2): Stub routine.
1619         (scan_config): Write sensible error message if the kernel denies reading of
1620         upper part of the PCI config space.