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