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