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