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