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