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