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