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