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