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