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