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