]> git.ipfire.org Git - thirdparty/pciutils.git/blob - ChangeLog
Released as 3.4.1.
[thirdparty/pciutils.git] / ChangeLog
1 2016-01-03 Martin Mares <mj@ucw.cz>
2
3 * Released as 3.4.1.
4
5 * New capabilities decoded: Process Address Space, Page Request
6 Interface, Enhanced Allocation. Thanks to David Daney and
7 David Woodhouse.
8
9 * DevCap SlotPowerLimit is now decoded for all components with
10 upstream ports.
11
12 * Database mirror at SourceForge moved to GitHub.
13
14 * Updated pci.ids to the current snapshot of the database.
15
16 2015-09-14 Martin Mares <mj@ucw.cz>
17
18 * Released as 3.4.0.
19
20 * On Linux, we report NUMA nodes of devices.
21
22 * The sysfs back-end does not die on read errors
23 of optional attributes. Instead, a warning is produced.
24
25 * Fixed several minor bugs.
26
27 * Updated pci.ids to the current snapshot of the database.
28
29 2015-04-09 Martin Mares <mj@ucw.cz>
30
31 * Released as 3.3.1.
32
33 * Removed hacks for backward compatibility with Linux libc5,
34 which were breaking newer non-glibc Linux systems. Thanks
35 to Felix Janda.
36
37 * Display VirtIO vendor-specific capability. Patch by Gerd
38 Hoffmann.
39
40 * Fixed memory leak in name cache.
41
42 * Updated pci.ids to the current snapshot of the database.
43
44 2014-11-10 Martin Mares <mj@ucw.cz>
45
46 * Released as 3.3.0.
47 (celebrating a one-year anniversary of the previous version :))
48
49 * Device names exported by BIOS are displayed on Linux.
50
51 * On Linux systems, HWDB is used to look up device names
52 when our ID database gives no match. (More precisely,
53 HWDB is consulted after local pci.ids, but before using
54 network to query online pci.ids.) Thanks to Tom Gundersen
55 for the initial patch.
56
57 * Added experimental back-end for OS X / Darwin. Thanks to
58 Richard Yao for providing it.
59
60 * Filters now support matching by device class. Original
61 patch by Matthew Wilcox, wrappers for ABI compatibility
62 by me.
63
64 * Interrupt Pin and Interrupt Line registers are displayed
65 for bridge devices, too.
66
67 * Several portability bugs have been fixed.
68
69 * Several typos have been fixed. Also, use of questionable
70 constructs in man pages has been reduced.
71
72 * PCIe link capabilities now include the ASPMOptComp bit.
73
74 * The "CRS Software Visibility" bit is now decoded properly.
75
76 * Updated pci.ids to the current snapshot of the database.
77
78 2013-11-10 Martin Mares <mj@ucw.cz>
79
80 * Released as 3.2.1.
81
82 * CardBus bridge capabilities are displayed.
83
84 * PCIe L1 PM substates are decoded.
85
86 * Various bugs were fixed in decoding of PCIe capabilities.
87
88 * The sysfs back-end does not spit out unnecessary warnings when
89 empty slots report only a partial device address. This actually
90 happens on IBM pSeries.
91
92 * Updated pci.ids to the today's snapshot of the database.
93
94 2013-04-19 Martin Mares <mj@ucw.cz>
95
96 * Released as 3.2.0.
97
98 * On newer Linux systems, we use libkmod to look up kernel modules
99 (modules.pcimap no longer exists). To facilitate this, libpci
100 is able to look up module aliases in sysfs.
101
102 * Various minor bug fixes.
103
104 * Updated pci.ids to the today's snapshot of the database.
105
106 2012-06-25 Martin Mares <mj@ucw.cz>
107
108 * Released as 3.1.10.
109
110 * Decoding of LTR/OBFF in PCIe capabilities.
111
112 * Various minor bug fixes.
113
114 * Updated pci.ids to the today's snapshot of the database.
115
116 2012-01-14 Martin Mares <mj@ucw.cz>
117
118 * Released as 3.1.9.
119
120 * Updated README.
121
122 * Wherever we mention the PCI ID database, we now refer to
123 http://pci-ids.ucw.cz/ and the sf.net site is mentioned only
124 as a mirror. This includes update-pciids.
125
126 * Decode PCIe Gen 3 speeds and link status fields.
127
128 * Various minor bug fixes.
129
130 * Updated pci.ids to the today's snapshot of the database.
131
132 2011-10-02 Martin Mares <mj@ucw.cz>
133
134 * Released as 3.1.8.
135
136 * More capabilities: Transaction Processing Hints, Latency Tolerance
137 Reporting. Thanks to Jesse Barnes.
138
139 * Added BeOS and Haiku ports. Contributed by Francois Revol.
140
141 * pciutils.pc now uses Libs.private properly.
142
143 * When we format a name and it does not fit in the buffer, we truncate
144 it instead of returning "buffer too small" instead. This works on all
145 platforms with sane (i.e., C99-compatible) snprintf().
146
147 * Various minor bug fixes.
148
149 * Updated pci.ids to the today's snapshot of the database.
150
151 2010-01-31 Martin Mares <mj@ucw.cz>
152
153 * Released as 3.1.7.
154
155 * Minor improvements and bug fixes in decoding of the Virtual Channel
156 capability.
157
158 2010-01-24 Martin Mares <mj@ucw.cz>
159
160 * Released as 3.1.6.
161
162 * More capabilities decoded: Virtual Channel (except arbitration
163 tables), Root Complex Link, Vendor-Specific (header only), SATA HBA.
164
165 * All extended capabilities have their version displayed (-vv or more).
166
167 2010-01-19 Martin Mares <mj@ucw.cz>
168
169 * Released as 3.1.5.
170
171 * Updated pci.ids to the today's snapshot of the database.
172
173 * When scanning extended capabilities, properly mask the lowest 2 bits,
174 which are currently reserved. This avoids unaligned access errors on
175 broken hardware (see tests/broken-ecaps).
176
177 * Large bar sizes are displayed in human-readable format (with units).
178 Thanks to Matthew Wilcox.
179
180 * Physical slot information is displayed correctly for multi-function cards.
181 Fixed by Matthew Wilcox.
182
183 * Fixed a couple of typos everywhere.
184
185 * Library: Fixed bugs in freeing of capabilities.
186
187 * Windows back-end compiles again.
188
189 2009-08-14 Martin Mares <mj@ucw.cz>
190
191 * Released as 3.1.4.
192 (sorry that I have missed 22/7 and released it later :-))
193
194 * Updated pci.ids to the today's snapshot of the database.
195
196 * Fixed memory and file descriptor leak in the dump back-end.
197
198 * The SR-IOV capability decoder now prints the VF BAR's.
199 Patch by Chris Wright, cleaned up by me.
200
201 * On request of certain company's lawyers, we now include a copy
202 of the GPL with our package. It seems that the pciutils are getting
203 mature if the most important bug of the month was this one ;-)
204
205 2009-07-04 Martin Mares <mj@ucw.cz>
206
207 * Released as 3.1.3.
208
209 * Updated pci.ids to the current snapshot of the database.
210
211 * The VPD parser now reports unknown and vendor-defined items
212 properly. It also stops on any item in unknown format, avoiding long
213 output on bogus VPD data. Thanks to Ben Hutchings and Matthew Wilcox.
214
215 * The MSI-X table size now matches the spec. Thanks to Michael S.
216 Tsirkin.
217
218 * The Power Management capability now includes the soft reset bit.
219 Thanks to Yu Zhao.
220
221 * Decoding of the Advanced Features capability has been added.
222 Thanks to Yu Zhao.
223
224 * The whole package compiles on GNU/kFreeBSD again.
225
226 The following patches have been contributed by Matthew Wilcox:
227
228 * The procfs back-end is able to cope with /proc/bus/pci
229 containing names with domains, which occur on sparc64 and
230 possibly other architectures due to a kernel bug.
231
232 * The sysfs back-end no longer complains when a slot address
233 is missing, which happens with old versions of Linux fakephp.
234
235 * The Device Serial Number capability is printed in the right
236 byte order.
237
238 * The MSI and MSI-X capabilities are printed in a prettier way.
239
240 * The tree output mode (`lspci -t') shows domain numbers only
241 at the root, which makes the output more compact.
242
243 * Updated documentation on the bus mapping mode (`lspci -M').
244
245 2009-02-01 Martin Mares <mj@ucw.cz>
246
247 * Released as 3.1.2.
248
249 * Fixed another silly bug in the command-line parser of setpci.
250
251 2009-01-30 Martin Mares <mj@ucw.cz>
252
253 * Released as 3.1.1.
254
255 * Updated pci.ids to the current snapshot of the database.
256
257 * The configure script now sets LC_ALL to avoid being fooled by
258 locale-dependent behavior of `tr'.
259
260 * The command-line parser of setpci did sometimes segfault on invalid
261 input. Thanks to Andreas Wiese for a fix.
262
263 2009-01-18 Martin Mares <mj@ucw.cz>
264
265 * Released as 3.1.0.
266
267 * Updated pci.ids to the current snapshot of the database.
268
269 * The Cygwin backend now works on Windows Vista. Thanks to Jonathan
270 Kotta.
271
272 * Fixed a bug in decoding of the SR-IOV capability. Patch by Yu Zhao.
273
274 * Details of some PCIe capabilities are displayed only with -vv.
275
276 * When a BAR is reported by the OS, but not by the device (i.e.,
277 it is marked as [virtual] in lspci), the [disabled] flag is
278 suppressed, because it does not make sense in such cases.
279 Patch by Yu Zhao.
280
281 2008-12-13 Martin Mares <mj@ucw.cz>
282
283 * The source code of lspci has been split to multiple files, hopefully
284 making it easier to maintain.
285
286 * The library and lspci now know about physical slot names. So far,
287 they are provided by the sysfs back-end only. Thanks go to Alex Chiang.
288
289 * When a device has the VPD (Vital Product Data) capability and the
290 VPD data are supplied by the OS, they are decoded and printed in the
291 verbose mode. This currently works only on Linux with the sysfs
292 back-end. Thanks to Ben Hutchings of Solarflare for the patch.
293
294 * `setpci --version' now works properly.
295
296 * `setpci --dumpregs' prints a table of all known names of
297 registers and capabilities. This replaces the table of registers
298 in the setpci man page.
299
300 * The dry-run mode of setpci gives better feedback.
301
302 * The setpci utility is now able to address registers stored in PCI
303 capabilities (actually it allows a more general form of relative
304 addressing).
305
306 * The library has gained functions for working with PCI capabilities.
307
308 * Address Translation Services capability is now decoded. Patch by
309 Yu Zhao.
310
311 2008-11-09 Martin Mares <mj@ucw.cz>
312
313 * Released as 3.0.3.
314
315 * `lspci -k' now displays the subsystem ID, too. This makes `-k'
316 show everything needed to identify the device and the available
317 drivers, which was called for by many users.
318
319 * Fixed spelling of MSI. Patch by Matthew Wilcox.
320
321 * Better support for cross-compilation. Thanks to Alon Bar-Lev
322 for the patch.
323
324 * Fixed printing of the AER capability. Patch by Max Asbock.
325
326 * HT 1.02 capabilities are decoded as HT 1.03. Suggested by
327 Carl-Daniel Hailfinger.
328
329 * Fixed Cygwin build. Thanks to Steve Elliott for reporting the bug.
330
331 * Updated pci.ids to the current snapshot of the database.
332
333 2008-09-19 Martin Mares <mj@ucw.cz>
334
335 * Released as 3.0.2.
336
337 * Fixed a minor bug in the configure script, which caused warnings
338 about redefinition of symbols during compilation.
339
340 2008-09-11 Martin Mares <mj@ucw.cz>
341
342 * Released as 3.0.1.
343
344 * Updated pci.ids to the most recent snapshot.
345
346 * Added a Cygwin port. Patch by Christopher Voltz, ported to the
347 current tree by Martin Mares.
348
349 * Worked around compatibility problems with various default settings
350 of wget (we have to set --no-timestamping explicitly). Thanks to Ville
351 Skytta for pointing that out.
352
353 * Fixed printing of MSI capabilities. Thanks to Matthew Wilcox for
354 a patch.
355
356 * Added decoding of several PCI-X capabilities: device/link/slot 2,
357 Advanced Error Reporting, Access Control Services, Alternative Routing-ID,
358 Single Root I/O Virtualization. Thanks to Yu Zhao for patches.
359
360 * Fixed bug in filters which caused them to refuse vendor/device ID 0xffff.
361
362 * README: The linux-pci mailing list has moved to linux-pci@vger.kernel.org.
363
364 * Fixed several build problems: builds without PCI_USE_DNS on Linux
365 and with PCI_USE_DNS on Solaris and *BSD. Static library mode also
366 compiles again on old versions of GCC.
367
368 2008-04-10 Martin Mares <mj@ucw.cz>
369
370 * Released as 3.0.0.
371
372 * Updated API and ABI version.
373
374 2008-02-20 Martin Mares <mj@ucw.cz>
375
376 * Released as 2.99.1-alpha2.
377
378 * Changed the default domain for the DNS resolver.
379
380 2008-02-18 Martin Mares <mj@ucw.cz>
381
382 * Released as 2.99.1-alpha1.
383
384 * The makefile system has been reworked. All configuration settings
385 are now passed to the configure script in environment variables,
386 allowing for easy tweaking in the top-level Makefile. All control
387 knobs are now described in the README.
388
389 * The libpci can be built as a shared library with properly restricted
390 symbol exports. Use `make SHARED=yes' to enable that or `make SHARED=local'
391 for a local testing build (with hardwired paths to the library, so that
392 it does not need installation).
393
394 * The example program has been moved from lib/example.c to the top-level
395 directory, because it should be built exactly as the other utilities
396 are. It has been also improved slightly to educate better.
397
398 * The i386-ports method is enabled on Linux/x86_64 as well.
399
400 2008-02-13 Martin Mares <mj@ucw.cz>
401
402 * Released as 2.2.10-net2.
403
404 * Support for resolving of PCI ID's using DNS together with a local
405 cache of resolved entries has been added. See the `-q' and `-Q' options
406 of lspci.
407
408 * The library now has a generic system of settable parameters, which
409 also include settings of the DNS resolver and cache. An `-O' option
410 has been added to lspci and setpci to allow setting of these options.
411
412 * Configuration of the access methods are now specified by the new
413 parameter system, replacing the pci_access->method_params array.
414
415 * Access methods now also have sensible names and help texts and it
416 is possible to look up method ID by a name.
417
418 * An `-A' switch has been added to both lspci and setpci, allowing to
419 select an arbitrary access method. The `-P' switch (configure proc
420 backend) has been removed as it is no longer needed and I do not know
421 any its user.
422
423 * Several source files have been split for better maintainability
424 (most notably the resolving of ID's).
425
426 * Man pages and help texts have been updated. A new man page `pcilib(7)'
427 has been added and description of library options has been moved there.
428
429 * When an unknown device ID is encountered, we print `Device <id>'
430 instead of `Unknown device <id>'. It uses less space and it also
431 should reduce the number of inexperienced users complaining that
432 the device is not supported by the OS. To lookup up OS drivers,
433 use the `-k' option.
434
435 * PCI_LIB_VERSION has been bumped to 0x020299.
436
437 * Makefile: stripping of the binaries during installation can be
438 overridden by the STRIP variable.
439
440 * lib/types.h: We use the integer types from <stdint.h> if the
441 compiler claims C99 support.
442
443 2008-02-11 Martin Mares <mj@ucw.cz>
444
445 * Released as 2.2.10.
446
447 * lspci.c, setpci.c: Cleaned up the list of options.
448
449 * lib/names.c: Fix displaying of errors reported by zlib.
450 Previously, the buffer containing the error message had
451 been deallocated by gzclose() before the message was printed.
452
453 2008-01-07 Martin Mares <mj@ucw.cz>
454
455 * update-pciids.sh: Added quiet mode (-q). Clean up uncompressed
456 files left by previous versions of the pciutils. Patch by Mike
457 Frysinger.
458
459 * update-pciids.man: Mention the -q switch.
460
461 2007-11-29 Martin Mares <mj@ucw.cz>
462
463 * lib/dump.c: Squashed compiler warnings about code with
464 no effect (there really were surplus *'s).
465
466 2007-11-06 Martin Mares <mj@ucw.cz>
467
468 * Released as 2.2.9.
469
470 * lspci.c: Added a new switch `-k' which requests printing
471 of information on kernel drivers attached to each device
472 and on kernel modules reporting the ability to handle the
473 device. So far, this is supported only on Linux with the
474 sysfs back-end, so it is implemented internally in the lspci
475 instead of the libpci. Thanks to Anicka <anicka@anicka.net>
476 for help.
477
478 2007-10-19 Martin Mares <mj@ucw.cz>
479
480 * Makefile, lib/Makefile: Moved -lz from LDFLAGS to LDLIBS.
481 Also added an explicit pattern rule for linking to make sure
482 that LDLIBS is used on all platforms. Thanks to Dan Nicholson
483 for the suggestion.
484
485 2007-10-19 Martin Mares <mj@ucw.cz>
486
487 * Released as 2.2.8.
488
489 * pci.ids: Revised class codes to match Conventional PCI 3.0 specs.
490 Added a couple of new ones, renumbered `ADMA continuous operation'
491 prog-if to 0x30 (even the old SATA Class Code ECN doesn't mention
492 0x40) and renumbered the satellite communication controllers.
493
494 * lib/header.h: Include `PCI hot-plug' and `Secure device'
495 capabilities from PCI 3.0 specs. Also added `SATA HBA' and
496 `Advanced features' caps from various ECN's.
497
498 * lspci.c: All known capabilities have at least their name displayed
499 now. When we are unable to decode them completely, we signalize it
500 with a `<?>' mark.
501
502 * lspci.man: Document `<?>' and also mention that extended config
503 space is currently available only with the linux_sysfs back-end.
504
505 * lspci.c: Decode the Debug port capability (per EHCI 0.96 spec).
506
507 * lspci.c: Big code cleanup: re-arranged functions in the code,
508 renamed everything related to capabilities to cap_* and
509 all options except verbose to opt_*.
510
511 2007-10-14 Martin Mares <mj@ucw.cz>
512
513 * lib/[fno]bsd-*: Removed extraneous braces.
514
515 2007-10-12 Martin Mares <mj@ucw.cz>
516
517 * Capability loop detection introduced 2.2.7 did not work
518 properly with extended capabilities. Fixed.
519
520 2007-10-05 Martin Mares <mj@ucw.cz>
521
522 * Released as 2.2.7.
523
524 * lspci.c (show_caps, show_ext_caps): Detect and report loops in
525 capability lists.
526
527 * lspci.c, lib/header.h: Finished decoding of the PCI Express
528 capability. The extended capabilities remain undecoded for now,
529 but at least the list of them has been updated to reflect the
530 current PCI Express 2.0 spec.
531
532 * lspci.c, lib/header.h: Decode new bits of traditional registers
533 as defined by PCIE / PCI-X. This includes discard timers in the bridge
534 control register and INTx enable/status in device control/status
535 registers.
536
537 * lib/fbsd-device.c: Support domains on new FreeBSD's. Contributed
538 by Marius Strobl.
539
540 2007-09-12 Hasso Tepper <hasso@estpak.ee>
541
542 * Extended the fbsd-device backend to run on Dragonfly BSD.
543
544 * lspci.c: alloca() is declared in <stdlib.h> on BSD's, not <alloca.h>.
545
546 2007-09-03 Martin Mares <mj@ucw.cz>
547
548 * Resurrected the Windows port, including cross-compilation by MinGW.
549 Patch by Samuel Bronson <naesten@gmail.com>.
550
551 2007-08-31 Martin Mares <mj@ucw.cz>
552
553 * Makefile, lib/Makefile: `ar' and `ranlib' can be overriden to allow
554 cross-compilation.
555
556 2007-08-27 Martin Mares <mj@ucw.cz>
557
558 * lib/names.c (pci_open): When calling gzopen(), use "rb" file mode
559 instead of "r". This is needed on DOS systems, where this function
560 somewhat illogically uses the binary flag for the compressed file
561 instead of the decompressed stream inside, where binariness really
562 matters.
563
564 2007-08-14 Martin Mares <mj@ucw.cz>
565
566 * lspci.c (show_ht): Added decoding of Hypertransport MSI mapping capability,
567 based on a patch by Jason Gunthorpe.
568
569 * tests/cap-MSI-mapping: Added a test case. I plan to add test cases
570 (which are dumps of config space) for all new features.
571
572 2007-06-20 Martin Mares <mj@ucw.cz>
573
574 * Released as 2.2.6.
575
576 * Makefile: Added an "install-lib" target. Thanks to Dan Nicholson
577 for a patch.
578
579 * Makefile, lib/Makefile: Generate and install pkg-config file
580 for libpci. Again by Dan Nicholson.
581
582 2007-06-20 Thomas Schwinge <tschwinge@gnu.org>
583
584 * lib/i386-io-hurd.h: Rewritten for new Hurd kernels.
585
586 2007-05-04 Martin Mares <mj@ucw.cz>
587
588 * Released as 2.2.5.
589
590 * pci.ids: Updated to the current snapshot of the database.
591
592 2007-02-14 Martin Mares <mj@ucw.cz>
593
594 * lspci.c (show_express): Added PCI/PCI-X to PCI-Express Bridge type.
595 Patch by Mark Glines.
596
597 2007-02-09 Martin Mares <mj@ucw.cz>
598
599 * pci.ids: Updated to the current snapshot of the database.
600
601 2007-02-06 Martin Mares <mj@ucw.cz>
602
603 * Replaced bzero() by memset() everywhere, it's better to lose a tiny
604 bit of readability than maintain hacks to make it work on various systems.
605
606 * lib/configure: tr on Solaris is a bit weird and it requires `[A-Z]'
607 instead of `A-Z'. Fortunately, the extra brackets don't hurt otherwise.
608
609 * lib/types.h, lib/configure: Solaris should use <stdint.h> to get precise
610 integer types.
611
612 2007-02-04 Martin Mares <mj@ucw.cz>
613
614 * lspci.c: alloca() needs <alloca.h>.
615
616 2006-09-17 Martin Mares <mj@ucw.cz>
617
618 * lib/dump.c: Fixed a couple of bugs in the dump backend which caused
619 devices with domains or with extended config space to be read incorrectly.
620 Also, dumps with partial lines are allowed now.
621
622 2006-09-10 Martin Mares <mj@ucw.cz>
623
624 * pci.ids: Updated to the current database snapshot.
625
626 * lspci.c (scan_device): If an error occurs when reading the standard config
627 header of a device, report it and ignore the device and return with exit
628 code 2 at the end.
629
630 2006-09-09 Martin Mares <mj@ucw.cz>
631
632 * Released as 2.2.4.
633
634 * maint/release: Remind the maintainer about the current PCI_LIB_VERSION.
635
636 * lib/pci.h: Updated PCI_LIB_VERSION.
637
638 * lspci.c (show_machine): In the `-m' mode, do proper shell escaping
639 if the fields printed contain quotes or backslashes.
640
641 * lspci.c (show_machine): Added a `-vmm' mode, which removes the misuse
642 of the `Device' tag for two different purposes.
643
644 * Makefile: Moved all system-dependent decisions to lib/configure,
645 since config.mk is included in the top-level Makefile anyway.
646
647 * lib/configure: When configuring for Linux, ignore the kernel version
648 and always build all access methods.
649
650 * Makefile (CFLAGS): Removed -Winline, it's not needed and triggers
651 at many non-interesting places with gcc 3.4.
652
653 * Whitespace cleanup of all source files.
654
655 * The pci.ids file can be stored compressed if zlib is available.
656 Added transparent decompression to lib/names.c, modified update-pciids.sh
657 to keep the file compressed if applicable, updated Makefiles.
658 Based on a patch by Matthew Wilcox, but all the bugs are mine.
659
660 * Makefile, README: Allow installation to be done to a different directory
661 from the one we will eventually be placed in by setting DESTDIR.
662 Patch by Matthew Wilcox.
663
664 * Added .gitignore files.
665
666 * Makefile (clean): Clean *.orig, too.
667
668 * Cleaned up usage of `char' and `byte'.
669
670 * lib/header.h: PCI_CLASS_DOCKING_OTHER should be 0x0a80, not 0x0a01.
671
672 * lib/header.h: Added PCI_CLASS_xxx constants for all classes currently
673 defined in the pci.ids file.
674
675 2006-08-01 Martin Mares <mj@ucw.cz>
676
677 * lib/i386-io-hurd.h: Fixed a silly typo.
678
679 2006-07-30 Martin Mares <mj@ucw.cz>
680
681 * lib/Makefile: Added a missing rule for obsd-device.o.
682
683 * lspci.c, lib/header.h: Added support for MSI per-vector masking.
684 Contributed by Petr Vandrovec.
685
686 * lspci.c, lib/header.h: Added support for the `bridge subsystem ID'
687 capability. Contributed by Petr Vandrovec.
688
689 * lspci.c (show_htype1): Fixed bug in printing of 64-bit prefetchable
690 memory windows. Fix by Petr Vandrovec.
691
692 * maint/release.pm: Exclude .git directory from releases.
693
694 * lib/i386-ports.c, lib/i386-io-*: Report failures during port access
695 initialization by a->warn() instead of calling printf() or perror()
696 directly.
697
698 * lib/i386-ports.c, lib/i386-io-*: Moved the logic which keeps track of
699 the port access state to generic code.
700
701 * lib/i386-io-hurd.h: Ask the kernel for I/O port access appropriately.
702 Contributed by Thomas Schwinge and Samuel Thibault.
703
704 * lib/i386-ports.c: Define _GNU_SOURCE, it's needed by the Hurd module.
705
706 * lib/header.h: Whitespace cleanups.
707
708 * lib/i386-io-windows.h: Fixed indentation and spelling.
709
710 * README.Windows: Mention that WinIO.dll is needed and where to get it.
711
712 2006-06-27 Martin Mares <mj@ucw.cz>
713
714 * lib/Makefile, Makefile: Added rules for building and cleaning the example.
715
716 * lib/example.c: Show how to use PCI_FILL_CLASS and used another register
717 for demonstrating the config space accesses. The example is still very
718 incomplete, though.
719
720 * lib/pci.h, lib/generic.c: Added PCI_FILL_CLASS.
721
722 * lib/sysfs.c: Fetch device ID and class from sysfs, because they can
723 be modified by kernel fixups.
724
725 * lspci.c: Use PCI_FILL_CLASS. Thanks to Matthew Willcox for the patch.
726
727 2006-06-03 Martin Mares <mj@ucw.cz>
728
729 * lspci.c: Introduced the -nn switch. Thanks to David N. Welton
730 for the idea.
731
732 * lib/names.c (pci_lookup_name): Introduced PCI_LOOKUP_MIXED and
733 cleaned up the name selection code.
734
735 * lib/names.c (pci_lookup_name): If PCI_LOOKUP_NO_NUMBERS is given,
736 pci_access->numeric_ids is ignored.
737
738 * lib/names.c (pci_lookup_name): When class is identified and
739 subclass isn't, display class name and subclass number.
740
741 2006-05-31 Martin Mares <mj@ucw.cz>
742
743 * setpci.c (main): Don't crash when an invalid width is specified.
744
745 * lspci.c, setpci.c, common.c: die() now uses the right program
746 name when printing an error message.
747
748 2006-05-19 Martin Mares <mj@ucw.cz>
749
750 * README: Mention the public GIT tree.
751
752 * README: Updated the list of ports.
753
754 2006-05-10 Martin Mares <mj@ucw.cz>
755
756 * lib/configure, lib/fbsd-device.c: Added support for GNU/kFreeBSD.
757 Thanks to Petr Salinger for the patch.
758
759 2006-05-05 Martin Mares <mj@ucw.cz>
760
761 * Released as 2.2.3.
762
763 * lspci.c (scan_device): The -D switch didn't work as intended
764 in -m mode.
765
766 2006-05-05 Martin Mares <mj@ucw.cz>
767
768 * Released as 2.2.2.
769
770 * pci.ids: Updated to the current database snapshot.
771
772 * lib/obsd-device.c (and other files in lib/*): Added OpenBSD
773 interface by Matthieu Herrb <matthieu.herrb@laas.fr>, based on
774 the existing FreeBSD interface.
775
776 * Moved pciutils to a GIT repository, which now contains merged
777 history from both CVS and Arch. Good bye, TLA!
778
779 2006-03-21 Martin Mares <mj@ucw.cz>
780
781 * lspci.c (show_slot_name): Avoid the previous changes in default
782 display of domain name when in machine-readable mode. However, `-D'
783 forces domain display even there.
784
785 * lspci.man: Added a warning on -m being the only format, which is
786 guaranteed to be stable between lspci versions.
787
788 2006-03-13 Martin Mares <mj@ucw.cz>
789
790 * lspci.man: Documented the -D switch.
791
792 * lspci.c (show_slot_name, scan_device): If there are multiple PCI
793 domains or if the `-D' switch is used, show the domain number for
794 all devices.
795
796 * lspci.c (show_verbose): Report cache line size in bytes.
797
798 * update-pciids.sh: Use curl if available. Patch by Matthew Wilcox.
799
800 2006-01-04 Martin Mares <mj@ucw.cz>
801
802 * lspci.c (show_express_link): Fixed decoding of link status register.
803 Thanks to Roland Dreier for his report.
804
805 2005-12-12 Martin Mares <mj@ucw.cz>
806
807 * lib/nbsd-libpci.c: If libpci is used by an ordinary user, allow
808 at least read-only access. Patch by Pavel Celeda <celeda@liberouter.org>.
809
810 * Makefile: Corrected library path on NetBSD.
811
812 2005-11-26 Martin Mares <mj@ucw.cz>
813
814 * Released as 2.2.1.
815
816 * lspci.c (show_machine): Subsystem vendors were printed incorrectly
817 in machine-readable modes. Thanks to Pavel Celeda for a bug report.
818
819 2005-10-11 Martin Mares <mj@ucw.cz>
820
821 * lspci.c (new_bus): Fixed a memory leak. Thanks to Paul Sangree for reporting it.
822
823 2005-09-21 Martin Mares <mj@ucw.cz>
824
825 * Released as 2.2.0.
826
827 * pci.ids: Updated copyright header.
828
829 * lib/sysfs.c (sysfs_get_resources): Removed warning about unsupported
830 64-bit addresses, they are now always supported.
831
832 * lspci.c (show_bases): Corrected printing of 64-bit addresses
833 in bus-centric mode.
834
835 * lib/configure: Enable 64-bit addresses on all Linux systems.
836
837 * lib/types.h: Don't pad 64-bit addresses to 16 xigits, only to 8 if they
838 are shorter.
839
840 2005-09-11 Martin Mares <mj@ucw.cz>
841
842 * Released as 2.1.99-test11.
843
844 * lspci.c: Removed unnecessary trailing zeros in pci_lookup_name() calls.
845
846 2005-09-10 Martin Mares <mj@ucw.cz>
847
848 * Released as 2.1.99-test10.
849
850 * pci.ids: Synchronized with the current database snapshot.
851
852 * update-pciids.sh: Changed the default URL for downloading pci.ids
853 to http://pciids.sourceforge.net/v2.2/pci.ids.
854
855 * lib/pci.h (PCI_LIB_VERSION): Added version identifier.
856
857 * lib/names.c: Rewritten the name database module almost from scratch.
858 Everything is much cleaner and there are hopefully no more memory leaks;
859 pci_lookup_name() now uses varargs in a backward compatible fashion.
860 Introduced PCI_LOOKUP_NO_NUMBERS.
861
862 The new code supports subsystem entries not tied to a specific device.
863 I had to extend the format of pci.ids in order to support it, so I have
864 extended the idea of the "C" (class) blocks and introduced "S" blocks
865 for subsystems. To avoid doing more incompatible changes in the future,
866 the parser skips unknown single-letter blocks without reporting errors.
867
868 2005-08-23 Martin Mares <mj@ucw.cz>
869
870 * Released as 2.1.99-test9.
871
872 * Makefile (OPT): Removed -fomit-frame-pointer, it's default in recent
873 gcc versions when optimizing anyway.
874
875 * Made the path to pci.ids customizable and independent on the SHAREDIR.
876 Just override IDSDIR in the top-level Makefile.
877
878 * pci.ids: Synchronized with the current database snapshot.
879
880 * lspci.man, setpci.man: Improved the man pages. Documented all access
881 methods and which operations are privileged.
882
883 * lspci.c: Another rewrite of config register caching, now also including
884 lots of internal checks. It should be now perfectly able to cope with
885 portions of the configuration space being inaccessible, for example
886 due to insufficient access rights.
887
888 * lspci.c (show_pcix_nobridge, show_pcix_bridge): Cleaned up dumping of PCI-X
889 capabilities. Includes partial support for PCI-X 2.0 (probably incomplete
890 as I haven't seen the spec).
891
892 * lspci.c: Quell warnings about unused parameters.
893
894 * lspci.c: Removed C++ comments.
895
896 * lib/header.h: Merged definitions of extended capabilities and some new
897 PCI-X capability bits from linux-2.6.11/include/pci.h.
898
899 * lspci.c (show_caps): Try to scan extended capabilities only if the
900 device has either PCI-X or PCI Express capability in its normal capability
901 list.
902
903 * lib/dump.c (dump_init): Reading of dumps works again. The dump reader
904 now also remembers how much data it has read and refuses attempts to
905 access more than that.
906
907 * setpci.man, lspci.c, README: prefer spelling "buses" over "busses".
908
909 * lspci.c: If alloca() is not available, use xmalloc(), not malloc().
910
911 * lib/configure: Added x86_64 on Linux.
912
913 2005-08-22 Martin Mares <mj@ucw.cz>
914
915 * lib/filter.c (pci_filter_parse_slot): Fixed parsing of domain filters.
916 Thanks to Matthew Wilcox for bug report.
917
918 * lspci.c: Corrected spelling of "Hz" (it was "hz" at several places).
919 Thanks to Krzysztof Oledzki for pointing that out.
920
921 2004-08-19 Martin Mares <mj@ucw.cz>
922
923 * pciutils.spec (%attr): Setting attributes for /sbin/* is an anachronism,
924 because pciutils by default install to /usr/sbin. Update.
925
926 2004-08-13 Martin Mares <mj@ucw.cz>
927
928 * Released as 2.1.99-test8.
929
930 * lib/types.h, lib/pci.h, lib/sysdep.h: `byte' and `word' are
931 no longer exported to the outside world.
932
933 * README.Windows: Updated.
934
935 * maint/release: Substitute version number in win32/config.h.
936
937 * win32/config.h: Added.
938
939 * lib/sysdep.h (bzero, strcasecmp): are macros on Windows.
940
941 * compat/getopt.[ch]: Added copies of getopt.[ch] from the GNU
942 C library for use on systems where the default libraries lack
943 proper getopt. Currently used by the Windows port.
944
945 * lib/sysdep.h, lib/types.h: Updates of the Windows port from
946 Alexander Stock.
947
948 * lib/types.h: If PCI_HAVE_Uxx_TYPES is defined, libpci doesn't define
949 its own u8, u16, u32, byte and word types and uses what the user
950 has supplied instead. With this change, all namespace clashes should
951 be gone.
952
953 * Makefile, lib/Makefile: Updated dependencies.
954
955 * pciutils.h: Include lib/sysdep.h and move NONRET et al. there.
956
957 * lib/sysdep.h: No need to include <sys/types.h> on FreeBSD, because
958 it is included unconditionally in lib/types.h.
959
960 * Moved system-dependent stuff from lib/internal.h to lib/sysdep.h,
961 which is also used by the utilities. Also moved type declarations
962 from lib/pci.h to lib/types.h.
963
964 * All files: Prepend a "PCI_" prefix in front of all configuration
965 defines to avoid namespace clashes. CAVEAT: If there is any libpci
966 application using the (undocumented) defines, it has to be updated.
967
968 * lib/Makefile: Killed HAVE_OWN_HEADER_H, since we stopped sharing
969 headers with the kernel a couple of years ago.
970
971 * lib/sysfs.c (sysfs_get_resources): We have 7 resources, not 6.
972
973 * lspci.c (show_rom): Use the same logic for printing disabled
974 or unassigned ROM's as we do in show_bases() for the other BAR's.
975
976 * lib/generic.c (pci_generic_fill_info): Better reaction to
977 invalid 64-bit addresses. Also d->hdrtype should not include
978 bit 7, which caused mysterious errors on multi-function devices.
979
980 * lib/generic.c (pci_generic_fill_info): Fill in base addresses
981 even if the regions are known to be disabled. It is the client's
982 job to interpret them. (And it is not a trivial job if you want
983 to do it correctly, since you need to check I/O and memory enables
984 on all upstream bridges, too.) However, it could be interesting to
985 introduce functions for interpreting the addresses and even for
986 mapping the regions and doing I/O on them.
987
988 2004-07-30 Martin Mares <mj@ucw.cz>
989
990 * lspci.c: HyperTransport improvements from Maciej.
991
992 2004-07-11 Martin Mares <mj@ucw.cz>
993
994 * lib/sysfs.c (sysfs_get_resources): Arguments now correspond
995 to the format string. [Patch by Bill Nottingham]
996
997 2004-07-05 Martin Mares <mj@ucw.cz>
998
999 * Released as 2.1.99-test7.
1000
1001 * lspci.c (config_fetch): Wanted to merge Matthew's bug fix, but
1002 ended up with rewriting the fetching mechanism to be fully dynamic,
1003 but avoid reading config space registers not explicitly requested.
1004
1005 2004-06-29 Matthew Wilcox <willy@debian.org>
1006
1007 * lspci.c: More work on PCI Express dumping.
1008
1009 * lib/header.h: Updated PCI Express capability definitions.
1010
1011 * lib/proc.c (proc_read): Removed bogus warning.
1012
1013 * common.c (xrealloc): Introduced.
1014
1015 * lspci.man: Added -xxxx.
1016
1017 2004-06-27 Martin Mares <mj@ucw.cz>
1018
1019 * Released as 2.1.99-test6.
1020
1021 * lspci.c (show_msix), lib/header.h: Added dumping of MSI-X cap.
1022 Patch by Roland Dreier <roland@topspin.com>, cleaned up by me.
1023
1024 * lspci.c (show_pcix_nobridge, show_pcix_bridge): Handle config_fetch()
1025 failures.
1026
1027 * lib/header.h: Added PCI Express extended capabilities. Again by Matthew.
1028
1029 * lspci.c (show_express): Added dumping of PCI Express cap.
1030 Patch by Matthew Wilcox.
1031
1032 * lib/header.h: Added a list of PCI 3.0 capabilities and also details
1033 on PCI Express caps. Patch by Matthew Wilcox <willy@debian.org>.
1034
1035 * lspci.c (check_root): Gone. No explicit checks for root are needed,
1036 report correct errors reported by the libpci instead.
1037
1038 * lspci.c: Added dumping of the extended config space on "-xxxx".
1039 Better caching of config registers.
1040
1041 * setpci.c (main): Allow access to whole 4096 bytes of the config space.
1042
1043 * lib/sysfs.c, lib/proc.c: Don't print error messages on short reads,
1044 just return the appropriate error code.
1045
1046 * lib: Added support for extended (4096-byte) configuration space,
1047 currently implemented only in Linux proc and sysfs access methods
1048 and of course in the dump reader.
1049
1050 2004-05-29 Martin Mares <mj@ucw.cz>
1051
1052 * Released as 2.1.99-test5.
1053
1054 * lib/pci.h: Windows don't have the standard u_int* types.
1055
1056 * lib/internal.h: <sys/param.h> required on Windows for endianity
1057 macros.
1058
1059 * lib/i386-ports.c: Connected i386-io-windows.h.
1060
1061 * lspci.c (check_root): geteuid() is not available on Windows.
1062
1063 * lib/i386-io-windows.h: Added Windows port contributed by Alexander
1064 Stock <stock.alexander@gmx.de>.
1065
1066 * lib/configure: Hopefully fixed SunOS port broken by various
1067 changes to the configure script.
1068
1069 * Makefile, lib/configure: Cross-compilation support, patch by Maciej.
1070
1071 2004-05-28 Martin Mares <mj@ucw.cz>
1072
1073 * Released as 2.1.99-test4.
1074
1075 * lspci.c (show_verbose): Header type 1 is probably legal for all
1076 types of bridges, not only for PCI-to-PCI bridges.
1077
1078 * lspci.c (format_agp_rate): Write "x16", not "x@".
1079 (show_agp): rate[] could overflow.
1080 Bugs reported by Jakub Bogusz <qboosh@pld-linux.org>.
1081
1082 * lspci.c (show_ht_*): Show HyperTransport capability with all its
1083 details. Once again code by Maciej simplified (i.e., possibly broken)
1084 by me.
1085
1086 * lib/header.h: Added declarations of HyperTransport capability.
1087 Again thanks to Maciej.
1088
1089 * lspci.c: Decode all bits of the secondary status word in type 1 headers.
1090 Thanks to Maciej W. Rozycki <macro@ds2.pg.gda.pl> for the patch.
1091
1092 2003-12-27 Martin Mares <mj@ucw.cz>
1093
1094 * Released as 2.1.99-test3.
1095
1096 * lspci.man, setpci.man: Document domains and correct spelling.
1097
1098 * lib/dump.c (dump_init): Added ability to read domain numbers.
1099
1100 * lspci.c: Devices in domains different from 0 have their slot number
1101 printed as "<domain>:<bus>:<slot>.<func>". Tree view supports domains
1102 as well.
1103
1104 * lib/filter.c: Slot filters understand domains.
1105
1106 * lib/generic.c: Mention the domain in slot numbers in all error messages.
1107
1108 * lib/internal.h: The #ifdef for Linux <asm/byteorder.h> was wrong.
1109
1110 * lib/access.c (pci_get_dev): Added support for domains.
1111
1112 * lib/sysfs.c (sysfs_scan): Read vendor and device ID from the config
1113 registers (or to be precise, leave it for the generic parts of the pcilib
1114 to do so) instead of reading them from the sysfs. It's faster this way.
1115
1116 * lspci.c (show_pcix): Don't touch pci_dev->hdrtype, it's an internal
1117 variable. Better read it from the config registers (it's cached anyway).
1118
1119 * lib/sysfs.c (sysfs_scan), lib/proc.c (proc_scan): Don't read the hdrtype.
1120 lib/generic.c (pci_generic_fill_info): If hdrtype is -1 (unset), read it.
1121 Saves lots of unnecessary file accesses.
1122
1123 * lib/pci.h (PCIADDR_PORT_FMT): Use %llx instead of %Lx, because the latter
1124 is not supported by all C libraries.
1125
1126 * Makefile: Always enter the lib directory (remember that we don't have
1127 full dependecies for the library in the top-level Makefile; hmmm, another
1128 thing to rewrite some day).
1129
1130 * lib/sysfs.c: Added Linux sysfs access method based on the patch
1131 written by Matthew Wilcox <willy@fc.hp.com>.
1132
1133 * lib/proc.c: Renamed the access method name from "/proc/bus/pci" to "Linux-proc".
1134
1135 * lib/pread.h: The hacks to support pread on various versions
1136 of Linux libc moved there.
1137
1138 * lib/proc.c (proc_setup): The return value of snprintf() varies
1139 between glibc versions, so we need to check both for a negative
1140 values and for too large values.
1141
1142 * Removed last few references to the "Linux PCI Utilities", the
1143 package is pretty cross-platform now :)
1144
1145 2003-12-27 Martin Mares <mj@ucw.cz>
1146
1147 * Released as 2.1.99-test2.
1148
1149 * README, pciutils.lsm, pciutils.spec: Use @VERSION@ to make the
1150 release scripts insert the current version. "make release" is gone.
1151
1152 * maint/release, maint/release.pm: Added a new system of scripts for
1153 making releases including inter-version diffs etc.
1154
1155 * Makefile: Cleaned up.
1156
1157 * lib/fbsd-device.c: I patched another copy of this file by mistake,
1158 this time the version checks should be right.
1159
1160 2003-12-27 Martin Mares <mj@ucw.cz>
1161
1162 * Released as 2.1.99-test1.
1163
1164 * pciutils.h, common.c, lspci.man, setpci.man, lib/internal.h:
1165 Remove shadows of the syscall access method which was never
1166 implemented.
1167
1168 * update-pciids.sh: Try to preserve permissions of the old file
1169 if chmod supports --reference. Should close Debian Bug #223740.
1170
1171 * lib/proc.c (proc_setup): Increased path name length limit to 1024.
1172 Thanks for Redhat and Mandrake for inspiration.
1173
1174 * lib/configure: Recognize ppc and ppc64, both have 64-bit addresses.
1175 Grabbed from Redhat (Fedora) patches.
1176
1177 2003-12-27 Martin Mares <mj@ucw.cz>
1178
1179 Merged bug fixes from Debian patches:
1180
1181 * lspci.c (show_verbose): "Cache Line Size" should be capitalized.
1182
1183 * lspci.c (show_pcix_nobridge): Added a missing newline.
1184
1185 * lib/proc.c (proc_scan): When reading the header type, don't
1186 forget to clear the topmost bit indicating that the device has
1187 multiple functions.
1188
1189 2003-12-27 Martin Mares <mj@ucw.cz>
1190
1191 Updated the FreeBSD port. Thanks to Samy Al Bahra <samy@kerneled.com>
1192 for the patches:
1193
1194 * lib/Makefile: Add ${FREEBSD_SYS} to the include path if it's defined.
1195 * lib/fbsd-device.c: Select the right set of system includes according
1196 to __FreeBSD_version.
1197
1198 2003-12-27 Martin Mares <mj@ucw.cz>
1199
1200 Merged support for Solaris on i386 by Bill Moore <billm@eng.sun.com>
1201 and cleaned up:
1202
1203 * lib/configure: Recognize SunOS.
1204 * lib/internal.h: Learn how to recognize byte order on SunOS.
1205 * lib/i386-ports.c: Split OS-dependent I/O port access from i386-ports.c.
1206 * lib/i386-io-linux.h: Linux specific part.
1207 * lib/i386-io-hurd.h: GNU/Hurd specific part.
1208 * lib/i386-io-sunos.h: SunOS specific part.
1209
1210 2003-12-26 Martin Mares <mj@ucw.cz>
1211
1212 * lib/header.h (PCI_*_MASK): Cast to pciaddr_t explicitly.
1213
1214 * lib/pci.h: Types declared in <sys/types.h> should be usable on all
1215 platforms we currently support, so kill the forest of #ifdef's and
1216 use them in all cases.
1217
1218 * lib/pci.h: Use ULONG_MASK to decide whether we should use long
1219 or long long to represent a 64-bit address. Killed HAVE_LONG_ADDRESS.
1220 Define format strings for addresses, port numbers and IRQ numbers
1221 directly in pci.h.
1222
1223 * lib/proc.c (proc_scan): Use PCIADDR_T_FMT for scanf'ing addresses.
1224
1225 2003-12-26 Marco Gerards <metgerards@student.han.nl>
1226
1227 Added support for the GNU Hurd (cleaned up by Martin Mares):
1228
1229 * lib/configure [GNU]: Use the i386 ports for configuration access.
1230 * lib/i386-ports.c: Don't call iopl() on the Hurd.
1231 * lib/pci.h [OS_GNU]: Include <sys/types.h> and use it for defining
1232 u8 to u32.
1233
1234 2003-12-26 Martin Mares <mj@ucw.cz>
1235
1236 * lspci.c (show_pcix_bridge, show_pcix_nobridge): Don't forget to call
1237 config_fetch() to ensure that the registers have been read. Thanks to
1238 Bill Wood <bill.wood@hp.com> for the patch.
1239
1240 * lspci.c: Ensure that failure of config_fetch() is handled correctly
1241 at all places.
1242
1243 * lspci.man: There was one more explicit reference to /usr/share/pci.ids.
1244 Changed to @SHAREDIR@. Patch from Maciej W. Rozycki <macro@ds2.pg.gda.pl>.
1245
1246 * setpci.c (main): Better error messages.
1247
1248 * setpci.c (ex_op): The demo mode should disable only writing, not reading.
1249
1250 * setpci.man: The documentation was inconsistent on what should -D do.
1251 Document the new behaviour.
1252
1253 * pciutils.h, common.c, setpci.c: Introduced a NONRET macro encapsulating
1254 the GCC specific __attribute__((noreturn)) and killed the hack with
1255 redefining __attribute__ on non-GCC compilers.
1256
1257 * Makefile: Added missing dependencies. Parallel builds work now.
1258 Problem reported by Andreas Haumer <andreas@xss.co.at>, but I chose
1259 a different fix.
1260
1261 * Makefile (MANDIR): Use `:=' instead of `=' to avoid executing the shell
1262 command every time $(MANDIR) is referenced.
1263
1264 * lspci.c (main): The error message for `lspci -s' incorrectly mentioned
1265 a `-f' switch. Reported by Steve Finney <Steve.Finney@SpirentCom.COM>.
1266
1267 * lib/generic.c: Removed memory leak in pci_generic_bus_scan().
1268 Reported by Gary Parnes <gary_parnes@terago.com>.
1269
1270 * Replaced obsolete syntax of __attribute__((unused)) in the middle of
1271 parameter declarations (which is no longer supported by GCC 3.1) by the
1272 current syntax (attribute at the end). Thanks to pixel@mandrakesoft.com
1273 for reporting this problem.
1274
1275 * Removed CVS $Id$ tags from all files.
1276
1277 * Makefile: Added some more warnings.
1278
1279 * setpci.c: Cleaned up mask/value code.
1280
1281 2003-12-08 Thayne Harbaugh <tharbaugh@lnxi.com>
1282
1283 * setpci.c: Individual bits to be set can be specified as <value>:<mask>.
1284
1285 2003-11-29 Martin Mares <mj@ucw.cz>
1286
1287 * Imported the pciutils sources to my Arch repository. Good-bye, CVS.
1288
1289 2003-01-04 Martin Mares <mj@ucw.cz>
1290
1291 * Released as 2.1.11.
1292
1293 * Makefile: Changed configuration of installation directories --
1294 all paths are now set at the top of the Makefile instead of being
1295 scattered between the installation rules. The default installation
1296 now goes always to /usr/local regardless of the OS as most distributions
1297 already contain some version of pciutils and we don't want custom
1298 installations to interfere with the default ones.
1299
1300 * Makefile: Removed a couple of ancient install hacks: we no longer
1301 try to avoid overwriting a newer pci.ids file (users are now expected
1302 to use update-ids) and we don't try to remove /etc/pci.ids (a long time
1303 has passed since the last version which used it).
1304
1305 * Makefile: Paths to pci.ids in man pages automatically get the right path.
1306
1307 * Added the update-ids utility.
1308
1309 * lib: Removed partially implemented "syscall" access method which will
1310 probably never be needed.
1311
1312 2002-12-27 Martin Mares <mj@ucw.cz>
1313
1314 * lib/nbsd-libpci.c: Cleaned up and hopefully made it endian safe.
1315
1316 * lib/generic.c (pci_generic_scan_bus): Added work-around for devices with
1317 discontiguous numbering of functions. This is already present in the Linux
1318 kernel for several years, but I forgot to update pciutils as well.
1319
1320 2002-12-26 Martin Mares <mj@ucw.cz>
1321
1322 * lib/header.h, lspci.c: Dump AGP3 flags and speeds.
1323
1324 * lib/pci.h, Makefile: Removed HAVE_OWN_HEADER_H. Always use our own header,
1325 there is no reason to prefer the kernel version.
1326
1327 * lib/proc.c (proc_scan): Don't forget to initialize hdrtype.
1328
1329 * Added preliminary version of NetBSD support by Quentin Garnier
1330 <netbsd@quatriemek.com>.
1331
1332 2002-04-06 Martin Mares <mj@ucw.cz>
1333
1334 * lspci.c: Mention "-xxx" in the help.
1335
1336 2002-03-30 Martin Mares <mj@ucw.cz>
1337
1338 * Released as 2.1.10.
1339
1340 * Removed pci.ids from the CVS as they are now maintained separately.
1341 They are still included in the tarball, but if you are building pciutils
1342 from CVS sources or you want to get a newer ID file than the one distributed,
1343 just use "make update-ids" to download the most recent snapshot from
1344 pciids.sf.net.
1345
1346 * Makefile, README: Updated accordingly.
1347
1348 * Makefile: Added a couple of maintenance targets.
1349
1350 * maint/*: Maintainer's utilities now reside here (present only in CVS,
1351 not in the tarball).
1352
1353 * lib/names.c (parse_name_list): End-of-line comments are no longer
1354 supported. Hashes are now perfectly valid in all names and they start
1355 a comment only at the start of the line.
1356
1357 2002-03-26 Martin Mares <mj@ucw.cz>
1358
1359 * README: Rewritten.
1360
1361 * Makefile: When the currently installed pci.ids file is newer than
1362 the version to be installed, don't overwrite it. Suggested by
1363 Jean Delvare <khali@linux-fr.org>.
1364
1365 2002-03-24 Martin Mares <mj@ucw.cz>
1366
1367 * lspci.c (show_pcix_bridge): Added PCI-X capability display.
1368 Contributed by Jeff Garzik <jgarzik@mandrakesoft.com>.
1369
1370 * lib/header.h: Added PCI-X stuff. Again by Jeff.
1371
1372 * Makefile (CFLAGS): -Werror is gone.
1373
1374 * lspci.c (format_agp_rate): Fixed AGP rate reporting.
1375
1376 * lib/filter.c (pci_filter_parse_slot): Allow bus 0xff, slot 0x1f and
1377 function 7.
1378
1379 * lib/names.c (pci_lookup_name): When printing unknown subsystem vendor
1380 or device hexadecimally, don't confuse it with chip vendor/device ID.
1381 First reported by Marc Boucher <marc@mbsi.ca>.
1382
1383 2001-11-04 Martin Mares <mj@ucw.cz>
1384
1385 * Released as 2.1.9.
1386
1387 * pci.ids: Synced with the PCI ID Repository at SourceForge
1388 (http://pciids.sourceforge.net/).
1389
1390 2000-08-25 Martin Mares <mj@albireo.ucw.cz>
1391
1392 * pci.ids: Updated ID's, synced with kernel 2.4.0-test7.
1393
1394 2000-06-13 Martin Mares <mj@albireo.ucw.cz>
1395
1396 * Makefile (uninstall): Fixed.
1397
1398 * pci.ids: ID updates.
1399
1400 2000-05-20 Martin Mares <mj@albireo.ucw.cz>
1401
1402 * Released as 2.1.8.
1403
1404 * pci.ids: ID updates.
1405
1406 * lspci.c (show_verbose): Min/max latency is now printed in nanoseconds.
1407
1408 2000-05-04 Martin Mares <mj@albireo.ucw.cz>
1409
1410 * lspci.c (show_verbose): If the header type doesn't match device
1411 class, just print a warning and still use the header type, assuming
1412 bogus class info.
1413
1414 2000-05-01 Martin Mares <mj@albireo.ucw.cz>
1415
1416 * lspci.c (show_pm): Updated according to PCI PM specs 1.1.
1417
1418 * pci.ids: Updated Contemporary Control ARCnet card entries.
1419
1420 * pci.ids: Synchronized class list with latest PCI SIG documents.
1421
1422 2000-04-29 Martin Mares <mj@albireo.ucw.cz>
1423
1424 * lib/names.c (pci_lookup_name): Fixed the cheat.
1425
1426 * lib/internal.h: Moved UNUSED/inline hacks above all other declarations.
1427
1428 * pci.ids: Various ID updates.
1429
1430 2000-04-21 Martin Mares <mj@albireo.ucw.cz>
1431
1432 * Released as 2.1.7.
1433
1434 * pciutils.spec: Added German description.
1435
1436 * lib/names.c (pci_lookup_name): Added a cheat for case that subsystem ID's
1437 are the same as device ID and just output subsystem name according to
1438 device name.
1439
1440 * lib/proc.c: Use UNUSED instead of __attribute__((unused)).
1441
1442 * lib/pci.h: Added the correct typedefs for AIX.
1443
1444 * lib/generic.c (pci_generic_scan_bus): Export.
1445
1446 * lib/configure: Detect AIX. Use "echo '...\c'" instead of
1447 "echo -n" if the shell isn't bash.
1448
1449 * lspci.c: Avoid using alloca() if not compiled by GCC.
1450 (insert_dev): Avoid returning a void value.
1451
1452 * Makefile: Choose which install utility to use according to
1453 OS type. Also use `-o' instead of `-or' in find arguments.
1454 Part of the AIX port.
1455
1456 * lib/aix-device.c: Added AIX low-level interface. Contributed
1457 by Dave Johnson <ddj@brown.edu>, thanks a lot!
1458
1459 * pci.ids: Few new ID's.
1460
1461 * pciutils.h, lib/internal.h: Redefine __attribute__ and inline
1462 when not compiled by GCC.
1463
1464 2000-04-17 Martin Mares <mj@albireo.ucw.cz>
1465
1466 * Released as 2.1.6.
1467
1468 * pci.ids: Added a large batch of ID's contributed by Gunther
1469 Mayer <gunther.mayer@braunschweig.netsurf.de> and synced the
1470 list with the 2.3.99pre6 kernel.
1471
1472 Thu Mar 9 13:11:39 2000 Martin Mares <mj@albireo.ucw.cz>
1473
1474 * lib/example.c: Added a simple example of how to use
1475 the library.
1476
1477 * lspci.man, setpci.man: Revealed --version. Well spotted
1478 by Adam Sulmicki.
1479
1480 * pci.ids: Added lots of new ID's and synced with 2.3.50.
1481
1482 Tue Feb 15 00:16:21 2000 Martin Mares <mj@albireo.ucw.cz>
1483
1484 * Released as 2.1.5.
1485
1486 * pciutils.spec: Updated spec file from Andreas Jaeger. Now using
1487 %{_mandir} to find the right location to install manual pages to.
1488
1489 * pci.ids: New ID's.
1490
1491 * setpci.c (main): Don't crash when `-s' or `-d' is given with
1492 no argument.
1493
1494 Mon Jan 24 20:04:11 2000 Andreas Jaeger <aj@suse.de>
1495
1496 * lib/i386-ports.c: Include <asm/io.h> only on systems without
1497 glibc.
1498
1499 Mon Jan 24 11:24:43 2000 Martin Mares <mj@albireo.ucw.cz>
1500
1501 * Makefile: Modified to work with the Linux FHS brain-damaged idea
1502 of putting man pages to /usr/share/man. Now we choose either /usr/man
1503 or /usr/share/man depending on which one exists.
1504
1505 Sun Jan 23 10:52:34 2000 Martin Mares <mj@albireo.ucw.cz>
1506
1507 * pci.ids: Synced with Linux 2.3.40.
1508
1509 * Released as version 2.1.4.
1510
1511 Thu Jan 20 11:08:32 2000 Martin Mares <mj@albireo.ucw.cz>
1512
1513 * lspci.c (scan_device): Fixed bug in reading of cardbus extensions.
1514
1515 * lib/proc.c: pread/pwrite fixed again, this time on libc5 :(
1516
1517 * lspci.c (format_agp_rate): Better formatting of AGP rates.
1518
1519 * pci.ids: New ID's.
1520
1521 * lib/configure: Added configuration for ia64 (the same as for Alpha).
1522 Patch from Stephane Eranian <eranian@cello.hpl.hp.com>.
1523
1524 Thu Jan 13 23:01:52 2000 Martin Mares <mj@albireo.ucw.cz>
1525
1526 * Released as version 2.1.3.
1527
1528 * pci.ids: New ID's.
1529
1530 * lspci.c: Alpha IO_FORMAT fix by Andrea Arcangeli.
1531
1532 * lib/access.c: Corrected order of access methods -- it's wonderful how
1533 long could such a bug remain unspotted. Thanks go to Andreas Schockenhoff.
1534
1535 Sat Dec 11 23:34:48 1999 Martin Mares <mj@albireo.ucw.cz>
1536
1537 * Released as version 2.1.2.
1538
1539 * lib/names.c (pci_lookup_name): Fixed printing of unknown subsystem ID's.
1540
1541 Sat Dec 4 13:11:03 1999 Martin Mares <mj@albireo.ucw.cz>
1542
1543 * Released as version 2.1.1.
1544
1545 * pci.ids: Several new ID's.
1546
1547 * setpci.c (exec_op): Don't forget to increment address after writing
1548 single value, so that `30.b=12,34,56,78' works as expected. Reported
1549 by Petr Soucek <petr@ryston.cz>.
1550
1551 Wed Nov 3 10:24:38 1999 Martin Mares <mj@albireo.ucw.cz>
1552
1553 * lspci.c (show_terse): If prog-if is zero, but it's present in the
1554 ID list, show it.
1555
1556 Sat Oct 30 11:06:35 1999 Martin Mares <mj@albireo.ucw.cz>
1557
1558 * Released as version 2.1.
1559
1560 * pci.ids: Synced to devlist.h in 2.3.24 kernel. Merged in
1561 lots of contributed entries.
1562
1563 Thu Oct 14 10:40:12 1999 Dave Jones <dave@powertweak.com>
1564
1565 * pci.ids: Added lots of subsystem definitions.
1566
1567 Sat Oct 9 14:32:28 1999 Martin Mares <mj@albireo.ucw.cz>
1568
1569 * setpci.man: Better example.
1570
1571 * lspci.c: Resolve prog-if names.
1572
1573 * lib/names.c: Adapted to new pci.ids syntax.
1574
1575 * pci.ids: Reorganized the pci.ids file. Subsystems are listed
1576 under devices, classes can optionally contain prog-if information.
1577 New ID's, as usually.
1578
1579 Wed Sep 22 09:45:24 1999 Martin Mares <mj@albireo.ucw.cz>
1580
1581 * pci.ids: New ID's. As usually.
1582
1583 * lspci.c (show_htype1, show_htype2): Don't show `closed' bridge windows
1584 unless we're vvvery verbose.
1585
1586 Mon Sep 20 11:22:54 1999 Martin Mares <mj@albireo.ucw.cz>
1587
1588 * lspci.c (show_htype2): Don't forget a TAB before the "I/O window" line.
1589
1590 Tue Sep 14 09:31:01 1999 Martin Mares <mj@albireo.ucw.cz>
1591
1592 * pci.ids: New ID's. Again.
1593
1594 Thu Aug 5 17:45:42 1999 Martin Mares <mj@albireo.ucw.cz>
1595
1596 * lspci.c (show_size): Don't show size if it's zero (usually
1597 due to bus-centric mode being enabled).
1598
1599 Tue Jul 20 13:25:09 1999 Martin Mares <mj@albireo.ucw.cz>
1600
1601 * lib/pci.h: Types are OS dependent.
1602
1603 * lib/internal.h: Byte order hacks are OS dependent.
1604
1605 * lib/configure: Recognize FreeBSD. Also set OS_XXX according to the OS.
1606
1607 * lib/Makefile, lib/access.c: Added fbsd-device target.
1608
1609 * pci.ids: Added an entry for PLX 9080 bridges with subsystem ID
1610 incorrectly set to device ID.
1611
1612 * README: Added a note that we support FreeBSD.
1613
1614 * Makefile (PREFIX, ROOT): Set it depending on the OS.
1615 (%.8): Grrr, BSD date is not able to convert date formats the same way
1616 as GNU date does. Use sed instead.
1617 (install): Use `-c' when calling install.
1618
1619 * lib/fbsd-device.c: Added FreeBSD /dev/pci access module contributed
1620 by Jari Kirma <kirma@cs.hut.fi>.
1621
1622 * lib/proc.c: Rewrote the pread/pwrite things once again. Use pread
1623 and pwrite only when we are certain it's safe (i.e., glibc 2.1
1624 on all architectures or any libc on a i386 where we really know
1625 how to use syscalls directly). In all other cases, emulate it
1626 with lseek/read/write.
1627
1628 * pci.ids: Some more IDs.
1629
1630 Mon Jul 19 14:10:36 1999 Martin Mares <mj@albireo.ucw.cz>
1631
1632 * pci.ids: Added IDs of parallel port controller cards as sent
1633 by Tim Waugh <tim@cyberelk.demon.co.uk>.
1634
1635 Wed Jul 7 00:55:48 1999 Martin Mares <mj@albireo.ucw.cz>
1636
1637 * lib/proc.c (proc_scan): HAVE_LONG_ADDRESS instead of HAVE_64BIT_ADDRESS.
1638
1639 * lspci.c: ADDR_FORMAT now depends on both HAVE_64BIT_ADDRESS and
1640 HAVE_LONG_ADDRESS.
1641
1642 * lib/configure: HAVE_64BIT_ADDRESS now doesn't imply that the addresses
1643 are represented as long long. Introduced a new flag HAVE_LONG_ADDRESS
1644 to indicate this. Both Sparc architectures now use both 64BIT_ADDRESS
1645 and LONG_ADDRESS since they have 32-bit userland, but don't set LONG_ADDRESS
1646 on Alpha.
1647
1648 * lspci.c (show_msi): Added dumping of the MSI capability.
1649 (show_slotid): The same for SlotID capability.
1650 (show_caps): Seperated capability dumping, because it should
1651 be used for both htype0 and htype1. Even PCI 2.2 doesn't mention
1652 layout of htype2, so I'm a bit unsure about it wrt capabilities
1653 -- they at least have to live somewhere else since address 0x34
1654 is already defined differently in htype2.
1655
1656 * lib/header.h (PCI_STATUS_UDF): Marked as obsolete (PCI 2.2).
1657 (PCI_BASE_ADDRESS_MEM_TYPE_1M): Ditto.
1658 (PCI_CAP_ID_*): Added some new capabilities defined in PCI 2.2.
1659
1660 * lspci.c (show_htype0): Mask out lowest 2 bits from all capability pointers
1661 (required by the PCI 2.2 specs).
1662
1663 Mon Jul 5 12:45:19 1999 Martin Mares <mj@albireo.ucw.cz>
1664
1665 * lspci.c (show_size): Added new function for dumping of region sizes.
1666 (show_rom): Added. Now correctly dumps unassigned ROM addresses, disabled
1667 ROMs et cetera.
1668
1669 * lib/pci.h (struct pci_dev): known_fields moved to the public part
1670 of the structure.
1671
1672 * Added support for region sizes. Needs support in the kernel, because
1673 sizes have to be scanned before drivers initialize yourself. pci_fill_info()
1674 now returns a bitmask of what fields were really read.
1675
1676 Mon Jun 28 18:37:51 1999 Dave Jones <dave@powertweak.com>
1677
1678 * Makefile:
1679 Added `uninstall' target - removes all traces of pciutils.
1680 * pci.ids:
1681 - Lots of cleanups in the ATI, S3, Adaptec vendors.
1682 - Changed Compaq QVision 1280/p definitions, as it's not possible
1683 to determine the revision from the device ID.
1684 - Same for the Tseng ET4000.
1685 The id's said I had a rev C, when it was actually a rev B.
1686 - Removed some unnecessary strings
1687 `PCI'. Unless it's an AGP card, it should be obvious that it's PCI.
1688 `Ethernet card'. This should be determined from config space.
1689 - Lots of other new vendors & devices
1690 - Other additional small cleanups.
1691
1692 Mon Jun 21 22:11:10 1999 Martin Mares <mj@albireo.ucw.cz>
1693
1694 * lib/names.c (pci_lookup_name): When device ID lookup
1695 fails, return hexadecimal device ID instead of vendor ID.
1696 Well spotted by Axel Bodemann <Axel.Bodemann@ruhr-uni-bochum.de>,
1697 I've just extended the fix to subsystem ID's.
1698
1699 Thu Jun 17 19:48:21 1999 Martin Mares <mj@albireo.ucw.cz>
1700
1701 * lspci.c (show_agp): Bug fix from Petr Vandrovec
1702 <vandrove@vc.cvut.cz>. The command register was displayed
1703 incorrectly.
1704
1705 Wed Jun 2 22:42:44 1999 Martin Mares <mj@albireo.ucw.cz>
1706
1707 * lib/proc.c (SYS_pread, SYS_pwrite): Use hard-coded
1708 numbers if not supplied by the libc.
1709
1710 Wed May 19 13:24:39 1999 Martin Mares <mj@albireo.ucw.cz>
1711
1712 * Released the whole package as version 2.0.
1713
1714 Fri May 14 22:42:02 1999 Martin Mares <mj@albireo.ucw.cz>
1715
1716 * pci.ids: Added several new ID's contributed by people
1717 on the linux-pci list.
1718
1719 Mon Apr 19 15:21:08 1999 Jakub Jelinek <jj@ultra.linux.cz>
1720
1721 * lspci.c: Display I/O addresses correctly on sparc64.
1722 * lib/header.h: Ditto.
1723
1724 * lib/configure: On sparc set HAVE_64BIT* as well, we want
1725 a binary which works on both 32bit and 64bit SPARCs.
1726
1727 Sun Apr 18 21:14:58 1999 Martin Mares <mj@albireo.ucw.cz>
1728
1729 * lspci.c, lib/proc.c: Alpha compilation fixes from Matthew Jacob
1730 <mjacob@feral.com>.
1731
1732 * pci.ids: A lot of updates from Adam J. Richter <adam@yggdrasil.com>.
1733
1734 Sun Feb 28 22:26:21 1999 Martin Mares <mj@albireo.ucw.cz>
1735
1736 * lspci.c (do_map_bus): Don't dump functions 1--7 if not flagged
1737 as a multi-function device, because several single-function devices
1738 don't decode the function bits at all.
1739
1740 Sun Feb 14 23:48:22 1999 Martin Mares <mj@albireo.ucw.cz>
1741
1742 * Makefile (install): Don't use "-o root -g root" for installation
1743 since it breaks on machines where programs are not installed by root.
1744 Reported by Richard Gooch <rgooch@atnf.csiro.au>
1745
1746 Tue Feb 9 15:54:39 1999 Martin Mares <mj@albireo.ucw.cz>
1747
1748 * lspci.c (show_bases): Use new address masking macros and pciaddr_t.
1749
1750 * lib/pci.h: Using pciaddr_t for bus addresses, which are 32-bit
1751 or 64-bit depending on CPU.
1752
1753 * lib/pci.h (PCI_ADDR_MEM_MASK): Added macros for address masks
1754 according to bus address width.
1755
1756 Thu Jan 28 20:54:16 1999 Martin Mares <mj@albireo.ucw.cz>
1757
1758 * Released as 1.99.4.
1759
1760 * lspci.c: Capability list parser now recognizes both AGP
1761 registers and PCI Power Management registers (the latter
1762 is mainly guesswork based on DEC/Intel 21153 bridge specs
1763 since I don't have the PCI Power Management document).
1764
1765 * lspci.c: Replaced numerous occurences of (x & flag) ? '+' : '-'
1766 by FLAG macro.
1767
1768 * lspci.c: Added bridge checks to bus mapping code.
1769
1770 Wed Jan 27 14:59:16 1999 Martin Mares <mj@albireo.ucw.cz>
1771
1772 * lspci.c: Implemented bus mapping mode (-M).
1773
1774 * lspci.c (scan_devices): Split to scan_devices() and scan_device().
1775 (show): Split to show() and show_device().
1776
1777 * lib/access.c (pci_init): When a->method == PCI_ACCESS_AUTO,
1778 set it to the real access method afterwards.
1779
1780 Mon Jan 25 23:46:13 1999 Martin Mares <mj@albireo.ucw.cz>
1781
1782 * lib/generic.c (pci_generic_fill_info): If in buscentric mode,
1783 don't check PCI_COMMAND for I/O and memory enables.
1784
1785 Mon Jan 25 21:28:49 1999 Martin Mares <mj@albireo.ucw.cz>
1786
1787 * Makefile: Added target `release' which substitutes new version
1788 number to .spec, .lsm and README. Also rewrote target `dist'.
1789
1790 * Released as 1.99.3.
1791
1792 Sun Jan 24 22:10:36 1999 Martin Mares <mj@albireo.ucw.cz>
1793
1794 * lib/header.h: Until kernel adopts new layout of PCI
1795 includes (i.e., separate declaration of header structure,
1796 functions and device IDs), which is not going to happen
1797 before 2.3, we'll use our own definiton of the header.
1798
1799 * lspci.c (show_verbose): Display `Cap' flag in device status.
1800
1801 * lspci.c (show_htype0): Display capability lists whereever
1802 available. The only capability name we recognize now is `AGP'.
1803 Unfortunately, capabilities are stored in device-dependent
1804 portion of the configuration space and are thus available
1805 only to root unless you read a dump.
1806
1807 * lspci.c (scan_devices): Use cache instead of buffering.
1808
1809 * lib/buffer.c: Removed (obsoleted by the cache).
1810
1811 * lib/access.c: Added general caching mechanism.
1812
1813 Sat Jan 23 21:30:54 1999 Martin Mares <mj@albireo.ucw.cz>
1814
1815 * pci.ids: Added few devices.
1816
1817 Fri Jan 22 19:29:31 1999 Martin Mares <mj@albireo.ucw.cz>
1818
1819 * Version string is now defined in top-level Makefile, exported
1820 to the configure script and also substituted to man pages.
1821
1822 * lspci.c (show_bases): Rewrote displaying of 64-bit addresses.
1823 (show_verbose): Rewrote interrupt display logic.
1824
1825 * lib/i386-ports.c: Include sys/io.h only on glibc systems.
1826
1827 * lib/configure: Rewrote detection of Linux versions. Now it
1828 works on 2.0 kernels (only with direct/dump access, of course).
1829
1830 * lib/internal.h: New bytesex macros using <asm/byteorder.h>
1831 whenever available.
1832
1833 * lib/proc.c (proc_read, proc_write): Distinguish between short
1834 read/write and real errors.
1835
1836 * lspci.c (show_htype{0,1}): Always use d->dev->rom_base_addr since
1837 libpci respects buscentric mode automatically.
1838
1839 * lspci.c (show_hex_dump): For CardBus bridges, print out 128
1840 bytes of header (the whole standard part).
1841
1842 * common.c: pcilib options are now all uppercase. Also moved
1843 PCI access debugging option here.
1844
1845 * Released as 1.99.2.
1846
1847 Wed Jan 20 22:50:35 1999 Martin Mares <mj@albireo.ucw.cz>
1848
1849 * Wrote configure script and rewrote Makefiles.
1850
1851 * Removed few unused variables.
1852
1853 Wed Jan 20 12:21:56 1999 Martin Mares <mj@albireo.ucw.cz>
1854
1855 * common.c: Moved several functions used in both setpci and lspci
1856 here. This includes parsing of libpci-related options.
1857
1858 * More library tweaks.
1859
1860 * filter.c, names.c: Moved to library.
1861
1862 * setpci: Rewritten to use the library.
1863
1864 * Released as 1.99.1.
1865
1866 Tue Jan 19 23:00:12 1999 Martin Mares <mj@albireo.ucw.cz>
1867
1868 * lspci.c (scan_devices): For cardbus bridges, read first 128
1869 bytes of config space to get full standard header.
1870
1871 * Makefile (CFLAGS): Removed "-Wno-unused".
1872
1873 * Started the "New Generation" branch and introduced the
1874 PCI library.
1875
1876 * lspci: Rewritten to use the library.
1877
1878 Tue Jan 19 22:24:08 1999 Martin Mares <mj@albireo.ucw.cz>
1879
1880 * Released as version 1.10.
1881
1882 Mon Jan 18 08:51:17 1999 Martin Mares <mj@albireo.ucw.cz>
1883
1884 * lspci.8, setpci.8: Miscellaneous fixes as suggested by
1885 Dag Wieers <dag@digibel.be>.
1886
1887 Sun Nov 29 20:05:56 1998 Martin Mares <mj@albireo.ucw.cz>
1888
1889 * pciutils.spec (Name): Update from Krzysztof G. Baranowski.
1890
1891 Sun Nov 22 10:49:56 1998 Martin Mares <mj@albireo.ucw.cz>
1892
1893 * Makefile, pciutils.h: Moved pci.ids to /usr/share.
1894
1895 * Released as version 1.09.
1896
1897 Wed Nov 18 15:47:05 1998 Martin Mares <mj@albireo.ucw.cz>
1898
1899 * lspci.c (show_htype1): Fixed displaying of prefetchable memory behind
1900 bridge. Thanks to Petr Vandrovec <vandrove@vc.cvut.cz> for bug report.
1901
1902 Fri Oct 23 18:59:19 1998 Martin Mares <mj@albireo.ucw.cz>
1903
1904 * setpci.c: Don't include <syscall-list.h> with glibc >= 2.1.
1905
1906 Mon Oct 19 21:53:30 1998 Martin Mares <mj@albireo.ucw.cz>
1907
1908 * Released as version 1.08.
1909
1910 * setpci.c: glibc 2.1.x already defines pread() and pwrite().
1911
1912 * lspci.8: Changed warning about lspci -xxx.
1913
1914 * lspci.c: Require "-xxx" for full configuration space dump, so that
1915 it's impossible to crash the machine by single typo.
1916
1917 * specs: Added (courtesy of Krzysztof G. Baranowski <kgb@knm.org.pl>).
1918
1919 Wed Sep 9 12:03:24 1998 Martin Mares <mj@albireo.ucw.cz>
1920
1921 * lspci.c (show_bases): Better displaying of unassigned and
1922 disabled bases. Thanks to Gabriel Paubert <paubert@iram.es>
1923 for an idea.
1924
1925 Wed Sep 2 10:58:01 1998 Martin Mares <mj@albireo.ucw.cz>
1926
1927 * setpci.c (pread): Recognize glibc 1.99 numbered as 2.0 on the PPC.
1928 (thanks to Geert Uytterhoeven for finding this out)
1929
1930 Fri Jul 17 10:43:30 1998 Martin Mares <mj@albireo.ucw.cz>
1931
1932 * lspci.c (show_verbose): Print subsystem ID using the new resolver.
1933 (show_machine): Print subsystem ID.
1934
1935 * names.c: New name resolution engine supporting subsystem IDs.
1936
1937 * Released as version 1.07.
1938
1939 Wed Jul 15 15:37:21 1998 Martin Mares <mj@albireo.ucw.cz>
1940
1941 * lspci.c (show_htype2 etc.): Displaying of CardBus headers.
1942 (show_bases): Honor the `cnt' argument.
1943 (grow_tree): Parse CardBus headers in tree mode as well.
1944
1945 * pci.h: Updated CardBus header field description. I still don't
1946 have the CardBus standard available, but OZ6832 specs contain
1947 full description of all header fields supported by the chip.
1948
1949 Tue Jun 9 22:53:59 1998 Martin Mares <mj@albireo.ucw.cz>
1950
1951 * Released as 1.06.
1952
1953 * names.c (parse_name_list): Killed an unused variable.
1954
1955 * setpci.c (pread, pwrite): Define SYS_(pread|pwrite) as __NR_\1
1956 if they are not defined by glibc (needed for glibc built on older
1957 kernels). Ugly.
1958
1959 * setpci.c (exec_op): Fixed error messages. Thanks, Steve!
1960
1961 Mon Jun 8 10:59:22 1998 Martin Mares <mj@albireo.ucw.cz>
1962
1963 * Released as 1.05.
1964
1965 * setpci.c: Problems with pread()/pwrite() with glibc on Alpha
1966 should be gone. Again thanks to Steve for bug report.
1967
1968 * filter.c (filter_parse_slot): Fixed ":x" type filters.
1969
1970 * pci.ids: Killed duplicate entry. Thanks to Stephen Williams
1971 <steve@icarus.com> for reporting this.
1972
1973 Sun Jun 7 19:27:51 1998 Martin Mares <mj@albireo.ucw.cz>
1974
1975 * lspci.c (main), setpci.c (main): Implemented "--version".
1976
1977 * Released as 1.04.
1978
1979 * pciutils.h (PCIUTILS_VERSION): Added version string.
1980
1981 * filter.c, names.c: Extraneous #include <linux/pci.h> removed.
1982 Thanks to Geert Uytterhoeven <Geert.Uytterhoeven@cs.kuleuven.ac.be>
1983 for bug report.
1984
1985 Thu May 28 14:45:58 1998 Martin Mares <mj@lomikel.karlin.mff.cuni.cz>
1986
1987 * pci.ids: More updates from Jens Maurer.
1988
1989 Wed Apr 22 10:00:39 1998 Martin Mares <mj@albireo.ucw.cz>
1990
1991 * pci.ids: Updates from Jens Maurer.
1992
1993 Sun Apr 19 11:14:25 1998 Martin Mares <mj@albireo.ucw.cz>
1994
1995 * Released as 1.03.
1996
1997 * setpci.8: Written.
1998
1999 * setpci.c: Finished.
2000
2001 * lspci.c: Now able to fetch expansion ROM base from kernel device list
2002 and print it if not in buscentric mode.
2003
2004 Tue Mar 31 23:11:57 1998 Martin Mares <mj@albireo.ucw.cz>
2005
2006 * setpci.c: Added.
2007
2008 Sun Mar 22 15:39:08 1998 Martin Mares <mj@albireo.ucw.cz>
2009
2010 * lspci.8: Updated the documentation.
2011
2012 * lspci.c: Modified to use the new filtering mechanism (options -f and -d).
2013
2014 * filter.c: Introduced new generic device filter.
2015
2016 Thu Mar 19 17:03:48 1998 Martin Mares <mj@lomikel.karlin.mff.cuni.cz>
2017
2018 * lspci.c (grow_tree, show_tree_dev, print_it): Fixed displaying
2019 of PCI-to-PCI bridges in the tree format.
2020
2021 Sun Feb 15 10:12:25 1998 Martin Mares <mj@albireo.ucw.cz>
2022
2023 * lspci.c (show_machine): Added non-verbose mode of machine-readable
2024 dump.
2025
2026 * pci.ids: Updates from Jens Maurer.
2027
2028 * Released as version 1.02.
2029
2030 Thu Feb 12 16:53:28 1998 Martin Mares <mj@lomikel.karlin.mff.cuni.cz>
2031
2032 * lspci.c: Added a "-m" switch for dumping machine-readable
2033 configuration data (requested by Bjoern Kriews <bkr@cut.de>).
2034
2035 Mon Feb 9 13:17:43 1998 Martin Mares <mj@albireo.ucw.cz>
2036
2037 * Makefile, pciutils.h: Include local pci.h instead of <linux/pci.h>
2038 if available. This should avoid all problems with official kernel
2039 not synchronized to newer PCI code in CVS -- standard distribution
2040 of pciutils now contains pci.h from current CVS kernel, pciutils
2041 in CVS contain no pci.h and use the correct kernel include.
2042
2043 * Makefile: Fixed installation path for man pages.
2044
2045 Sat Feb 7 15:15:46 1998 Martin Mares <mj@albireo.ucw.cz>
2046
2047 * README: Updated.
2048
2049 * lspci.8: Created a man page.
2050
2051 * Releasing as version 1.0.
2052
2053 Tue Feb 3 20:56:00 1998 Martin Mares <mj@albireo.ucw.cz>
2054
2055 * Makefile: Recognize architecture by calling uname and pass it as ARCH_xxx
2056 to all the C sources. This should eliminate problems with 32-bit compilers
2057 on sparc64.
2058
2059 * lspci.c (show_verbose): Recognize CardBus bridge header type.
2060 (show_htype2): Stub routine.
2061 (scan_config): Write sensible error message if the kernel denies reading of
2062 upper part of the PCI config space.