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