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