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