]> git.ipfire.org Git - thirdparty/pciutils.git/blame - ChangeLog
Domains: Upgraded ABI version to 3.5
[thirdparty/pciutils.git] / ChangeLog
CommitLineData
37c9315c
MM
12016-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
508c53eb
MM
162015-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
949f4469
MM
292015-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
3bc4dd2c
MM
42 * Updated pci.ids to the current snapshot of the database.
43
f14d4d87
MM
442014-11-10 Martin Mares <mj@ucw.cz>
45
1481a1ca
MM
46 * Released as 3.3.0.
47 (celebrating a one-year anniversary of the previous version :))
28617b24
MM
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
afb881cc
MM
60 * Filters now support matching by device class. Original
61 patch by Matthew Wilcox, wrappers for ABI compatibility
62 by me.
63
28617b24
MM
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
dc49926a
MM
782013-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
6a4909ee
MM
942013-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
69a77b5c 99 (modules.pcimap no longer exists). To facilitate this, libpci
6a4909ee
MM
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
27c0f3ac
MM
1062012-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
68e5ff17
MM
1162012-01-14 Martin Mares <mj@ucw.cz>
117
118 * Released as 3.1.9.
119
120 * Updated README.
121
6a4909ee 122 * Wherever we mention the PCI ID database, we now refer to
68e5ff17
MM
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
a70dab15
MM
1322011-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
6bc2bc1c
MM
1512010-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
e3a052da
MM
1582010-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
9978b6fd
MM
1672010-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
c67775bc
MM
1892009-08-14 Martin Mares <mj@ucw.cz>
190
ebb9bc54
MM
191 * Released as 3.1.4.
192 (sorry that I have missed 22/7 and released it later :-))
c67775bc
MM
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.
444b8577 197
c67775bc
MM
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
10df48cb
MM
2052009-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
34683007
MM
2452009-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
f6523e28
MM
2512009-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
db557900
MM
2632009-01-18 Martin Mares <mj@ucw.cz>
264
265 * Released as 3.1.0.
266
af358b08
MM
267 * Updated pci.ids to the current snapshot of the database.
268
db557900
MM
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
2b31207a
MM
2812008-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
4d4325f8 296 * `setpci --dumpregs' prints a table of all known names of
2b31207a
MM
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
b282435d
MM
3112008-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
daf2ef4e
MM
3332008-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
38254178
MM
3402008-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
cec9f7e7
MM
3682008-04-10 Martin Mares <mj@ucw.cz>
369
370 * Released as 3.0.0.
371
372 * Updated API and ABI version.
373
cd2f6a34
MM
3742008-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
165a50cb
MM
3802008-02-18 Martin Mares <mj@ucw.cz>
381
382 * Released as 2.99.1-alpha1.
623234ec 383
a1fca487
MM
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
623234ec
MM
398 * The i386-ports method is enabled on Linux/x86_64 as well.
399
ae27e293
MM
4002008-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.
444b8577 439
ae27e293
MM
440 * lib/types.h: We use the integer types from <stdint.h> if the
441 compiler claims C99 support.
442
0fc3bd18
MM
4432008-02-11 Martin Mares <mj@ucw.cz>
444
2466b14b
MM
445 * Released as 2.2.10.
446
6add52f5
MM
447 * lspci.c, setpci.c: Cleaned up the list of options.
448
0fc3bd18
MM
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
d26b5378
MM
4532008-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
dc01dd60
MM
4612007-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
11339c0d
MM
4662007-11-06 Martin Mares <mj@ucw.cz>
467
13463566
MM
468 * Released as 2.2.9.
469
11339c0d
MM
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
6cdb9d93
MM
4782007-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
3de798bd
MM
4852007-10-19 Martin Mares <mj@ucw.cz>
486
a404b115
MM
487 * Released as 2.2.8.
488
3de798bd
MM
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
2d2c4810 494 * lib/header.h: Include `PCI hot-plug' and `Secure device'
f7c76ec5
MM
495 capabilities from PCI 3.0 specs. Also added `SATA HBA' and
496 `Advanced features' caps from various ECN's.
2d2c4810 497
fa2273ca
MM
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
31c9bb28
MM
505 * lspci.c: Decode the Debug port capability (per EHCI 0.96 spec).
506
a387042e
MM
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
9c79fcc4
MM
5112007-10-14 Martin Mares <mj@ucw.cz>
512
513 * lib/[fno]bsd-*: Removed extraneous braces.
514
d5b4cd14
MM
5152007-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
594de878
MM
5202007-10-05 Martin Mares <mj@ucw.cz>
521
8a23eadc
MM
522 * Released as 2.2.7.
523
594de878
MM
524 * lspci.c (show_caps, show_ext_caps): Detect and report loops in
525 capability lists.
526
8a23eadc
MM
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
99091df9
MM
5402007-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
09156b3b
MM
5462007-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
325a3c50
MM
5512007-08-31 Martin Mares <mj@ucw.cz>
552
553 * Makefile, lib/Makefile: `ar' and `ranlib' can be overriden to allow
554 cross-compilation.
555
a2322147
MM
5562007-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
4f2c5b94
MM
5642007-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
0d7f5331
MM
5722007-06-20 Martin Mares <mj@ucw.cz>
573
7cebe481
MM
574 * Released as 2.2.6.
575
0d7f5331
MM
576 * Makefile: Added an "install-lib" target. Thanks to Dan Nicholson
577 for a patch.
578
7cebe481
MM
579 * Makefile, lib/Makefile: Generate and install pkg-config file
580 for libpci. Again by Dan Nicholson.
581
0d7f5331
MM
5822007-06-20 Thomas Schwinge <tschwinge@gnu.org>
583
584 * lib/i386-io-hurd.h: Rewritten for new Hurd kernels.
585
6e4a45ed
MM
5862007-05-04 Martin Mares <mj@ucw.cz>
587
55c89179
MM
588 * Released as 2.2.5.
589
6e4a45ed
MM
590 * pci.ids: Updated to the current snapshot of the database.
591
d0b07542
MM
5922007-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
3df35926
MM
5972007-02-09 Martin Mares <mj@ucw.cz>
598
599 * pci.ids: Updated to the current snapshot of the database.
600
e49ed044
MM
6012007-02-06 Martin Mares <mj@ucw.cz>
602
1ac3a99d
MM
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
b0eb18cc
MM
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
e49ed044
MM
609 * lib/types.h, lib/configure: Solaris should use <stdint.h> to get precise
610 integer types.
611
9de2768c
MM
6122007-02-04 Martin Mares <mj@ucw.cz>
613
614 * lspci.c: alloca() needs <alloca.h>.
615
d19394db
MM
6162006-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
934e7e36
MM
6222006-09-10 Martin Mares <mj@ucw.cz>
623
f09856de
MM
624 * pci.ids: Updated to the current database snapshot.
625
934e7e36
MM
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
b2055313 6302006-09-09 Martin Mares <mj@ucw.cz>
afebde01 631
fb260653
MM
632 * Released as 2.2.4.
633
1865e2dd
MM
634 * maint/release: Remind the maintainer about the current PCI_LIB_VERSION.
635
028dffb2
MM
636 * lib/pci.h: Updated PCI_LIB_VERSION.
637
13081e57
MM
638 * lspci.c (show_machine): In the `-m' mode, do proper shell escaping
639 if the fields printed contain quotes or backslashes.
640
3fd6b4d2
MM
641 * lspci.c (show_machine): Added a `-vmm' mode, which removes the misuse
642 of the `Device' tag for two different purposes.
643
840d09ae
MM
644 * Makefile: Moved all system-dependent decisions to lib/configure,
645 since config.mk is included in the top-level Makefile anyway.
646
2100f710
MM
647 * lib/configure: When configuring for Linux, ignore the kernel version
648 and always build all access methods.
649
3e9c7a18
MM
650 * Makefile (CFLAGS): Removed -Winline, it's not needed and triggers
651 at many non-interesting places with gcc 3.4.
652
94db5c82
MM
653 * Whitespace cleanup of all source files.
654
cc062b4a
MM
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
f4ddb8d3
MM
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
16e37012
MM
664 * Added .gitignore files.
665
c7f5314d
MM
666 * Makefile (clean): Clean *.orig, too.
667
afebde01 668 * Cleaned up usage of `char' and `byte'.
b2055313 669
fd54cceb
MM
670 * lib/header.h: PCI_CLASS_DOCKING_OTHER should be 0x0a80, not 0x0a01.
671
b2055313
MM
672 * lib/header.h: Added PCI_CLASS_xxx constants for all classes currently
673 defined in the pci.ids file.
674
4254d153
MM
6752006-08-01 Martin Mares <mj@ucw.cz>
676
677 * lib/i386-io-hurd.h: Fixed a silly typo.
678
1c5cc9b5
MM
6792006-07-30 Martin Mares <mj@ucw.cz>
680
38a9e3c3
MM
681 * lib/Makefile: Added a missing rule for obsd-device.o.
682
c7ddfa3e
MM
683 * lspci.c, lib/header.h: Added support for MSI per-vector masking.
684 Contributed by Petr Vandrovec.
685
248a04f8
MM
686 * lspci.c, lib/header.h: Added support for the `bridge subsystem ID'
687 capability. Contributed by Petr Vandrovec.
688
f29dcc87
MM
689 * lspci.c (show_htype1): Fixed bug in printing of 64-bit prefetchable
690 memory windows. Fix by Petr Vandrovec.
691
8eab3bff
MM
692 * maint/release.pm: Exclude .git directory from releases.
693
d305d704
MM
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
9007a292
MM
698 * lib/i386-ports.c, lib/i386-io-*: Moved the logic which keeps track of
699 the port access state to generic code.
700
bd20d5b5
MM
701 * lib/i386-io-hurd.h: Ask the kernel for I/O port access appropriately.
702 Contributed by Thomas Schwinge and Samuel Thibault.
703
73750606
MM
704 * lib/i386-ports.c: Define _GNU_SOURCE, it's needed by the Hurd module.
705
d71daa45
MM
706 * lib/header.h: Whitespace cleanups.
707
1c5cc9b5
MM
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
c2b144ef
MM
7122006-06-27 Martin Mares <mj@ucw.cz>
713
14d4f989
MM
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
c2b144ef
MM
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
bc2eed2d
MM
7272006-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
c72eedde
MM
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
2f294d4b
MM
7412006-05-31 Martin Mares <mj@ucw.cz>
742
743 * setpci.c (main): Don't crash when an invalid width is specified.
744
81afa98c
MM
745 * lspci.c, setpci.c, common.c: die() now uses the right program
746 name when printing an error message.
747
0ac282f2
MM
7482006-05-19 Martin Mares <mj@ucw.cz>
749
750 * README: Mention the public GIT tree.
751
752 * README: Updated the list of ports.
753
d1058e9d
MM
7542006-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
2ae2d1ae
MM
7592006-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
abf8d505
MM
7662006-05-05 Martin Mares <mj@ucw.cz>
767
1d5cf727
MM
768 * Released as 2.2.2.
769
8a830168
MM
770 * pci.ids: Updated to the current database snapshot.
771
b6359063
MM
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
abf8d505
MM
776 * Moved pciutils to a GIT repository, which now contains merged
777 history from both CVS and Arch. Good bye, TLA!
778
6ac70402
MM
7792006-03-21 Martin Mares <mj@ucw.cz>
780
2a124dae
MM
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
6ac70402
MM
785 * lspci.man: Added a warning on -m being the only format, which is
786 guaranteed to be stable between lspci versions.
787
1bbdea17
MM
7882006-03-13 Martin Mares <mj@ucw.cz>
789
af61eb25
MM
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
7a61b93c
MM
796 * lspci.c (show_verbose): Report cache line size in bytes.
797
1bbdea17
MM
798 * update-pciids.sh: Use curl if available. Patch by Matthew Wilcox.
799
0e78ef8a
MM
8002006-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
e6859953
MM
8052005-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
a99c0d69
MM
8122005-11-26 Martin Mares <mj@ucw.cz>
813
e4af70c6
MM
814 * Released as 2.2.1.
815
a99c0d69
MM
816 * lspci.c (show_machine): Subsystem vendors were printed incorrectly
817 in machine-readable modes. Thanks to Pavel Celeda for a bug report.
818
f23fd3fc
MM
8192005-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
15296723
MM
8232005-09-21 Martin Mares <mj@ucw.cz>
824
825 * Released as 2.2.0.
826
40b6d93f
MM
827 * pci.ids: Updated copyright header.
828
15296723
MM
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
224707ba
MM
8402005-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
aeaca5d3
MM
8462005-09-10 Martin Mares <mj@ucw.cz>
847
224707ba
MM
848 * Released as 2.1.99-test10.
849
63e6f2e0
MM
850 * pci.ids: Synchronized with the current database snapshot.
851
043ebdee
MM
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
aeaca5d3
MM
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
121c76c9
MM
8682005-08-23 Martin Mares <mj@ucw.cz>
869
54e13765
MM
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
84d437d6
MM
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
3b8bf739
MM
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
84d437d6
MM
894 * lspci.c: Removed C++ comments.
895
3b8bf739
MM
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
f7821e53
MM
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.
ea4e5f5d 906
46ea554d
MM
907 * setpci.man, lspci.c, README: prefer spelling "buses" over "busses".
908
8afaab22
MM
909 * lspci.c: If alloca() is not available, use xmalloc(), not malloc().
910
121c76c9
MM
911 * lib/configure: Added x86_64 on Linux.
912
c1c2c30e
MM
9132005-08-22 Martin Mares <mj@ucw.cz>
914
b9ca9147
MM
915 * lib/filter.c (pci_filter_parse_slot): Fixed parsing of domain filters.
916 Thanks to Matthew Wilcox for bug report.
917
c1c2c30e 918 * lspci.c: Corrected spelling of "Hz" (it was "hz" at several places).
b9ca9147 919 Thanks to Krzysztof Oledzki for pointing that out.
c1c2c30e 920
26542a0b
MM
9212004-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
6aa54f1b
MM
9262004-08-13 Martin Mares <mj@ucw.cz>
927
aabb0a92
MM
928 * Released as 2.1.99-test8.
929
f31412d1
MM
930 * lib/types.h, lib/pci.h, lib/sysdep.h: `byte' and `word' are
931 no longer exported to the outside world.
932
ee7d8384
MM
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
489233b4
MM
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
9bb4b4ea
MM
971 * lib/sysfs.c (sysfs_get_resources): We have 7 resources, not 6.
972
6aa54f1b
MM
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
80e6c636
MM
9882004-07-30 Martin Mares <mj@ucw.cz>
989
990 * lspci.c: HyperTransport improvements from Maciej.
991
d6324891
MM
9922004-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
ec25b52d
MM
9972004-07-05 Martin Mares <mj@ucw.cz>
998
362be683
MM
999 * Released as 2.1.99-test7.
1000
ec25b52d
MM
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
10052004-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
09817437
MM
10172004-06-27 Martin Mares <mj@ucw.cz>
1018
d1fa27eb
MM
1019 * Released as 2.1.99-test6.
1020
4d67aa89
MM
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
09817437
MM
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
0d656226
MM
10502004-05-29 Martin Mares <mj@ucw.cz>
1051
c0eece92
MM
1052 * Released as 2.1.99-test5.
1053
a2413560
MM
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
0d656226
MM
1069 * Makefile, lib/configure: Cross-compilation support, patch by Maciej.
1070
138c0385
MM
10712004-05-28 Martin Mares <mj@ucw.cz>
1072
9f490382
MM
1073 * Released as 2.1.99-test4.
1074
cce2caac
MM
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
b569ef09
MM
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
bfc4fe7a
MM
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
138c0385
MM
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
4284af58
MM
10922003-12-27 Martin Mares <mj@ucw.cz>
1093
81abd2a7
MM
1094 * Released as 2.1.99-test3.
1095
1f7c91cc
MM
1096 * lspci.man, setpci.man: Document domains and correct spelling.
1097
1098 * lib/dump.c (dump_init): Added ability to read domain numbers.
1099
84c8d1bb 1100 * lspci.c: Devices in domains different from 0 have their slot number
1f7c91cc
MM
1101 printed as "<domain>:<bus>:<slot>.<func>". Tree view supports domains
1102 as well.
84c8d1bb
MM
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
11f7b31b
MM
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
4284af58
MM
1142 * Removed last few references to the "Linux PCI Utilities", the
1143 package is pretty cross-platform now :)
1144
ab12277e
MM
11452003-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
6aea909a
MM
11602003-12-27 Martin Mares <mj@ucw.cz>
1161
6d722cd6
MM
1162 * Released as 2.1.99-test1.
1163
dd33246a
MM
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
80b3121a
MM
1168 * update-pciids.sh: Try to preserve permissions of the old file
1169 if chmod supports --reference. Should close Debian Bug #223740.
1170
6aea909a
MM
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
2240db8c
MM
11772003-12-27 Martin Mares <mj@ucw.cz>
1178
f701ff47
MM
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
2240db8c
MM
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
f701ff47 1187 multiple functions.
2240db8c 1188
45902995
MM
11892003-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
8fc75dbc
MM
11982003-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
9739916e
MM
12102003-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
80459c65
MM
12252003-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
a85769a8
MM
12342003-12-26 Martin Mares <mj@ucw.cz>
1235
7dacd9c8
MM
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
4063c31c
MM
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
3fe8a38d
MM
1246 * setpci.c (main): Better error messages.
1247
5f5b1a7b
MM
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.
b251f40b 1252
91e37a49
MM
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
4afd29d3
MM
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
b0f1a03b
MM
1261 * Makefile (MANDIR): Use `:=' instead of `=' to avoid executing the shell
1262 command every time $(MANDIR) is referenced.
1263
b7fd8e19
MM
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
05bb10a2
MM
1267 * lib/generic.c: Removed memory leak in pci_generic_bus_scan().
1268 Reported by Gary Parnes <gary_parnes@terago.com>.
1269
a832f6f1
MM
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
a85769a8
MM
1275 * Removed CVS $Id$ tags from all files.
1276
1277 * Makefile: Added some more warnings.
1278
b7351143
MM
1279 * setpci.c: Cleaned up mask/value code.
1280
12812003-12-08 Thayne Harbaugh <tharbaugh@lnxi.com>
1282
1283 * setpci.c: Individual bits to be set can be specified as <value>:<mask>.
1284
2a5d5cf9
MM
12852003-11-29 Martin Mares <mj@ucw.cz>
1286
1287 * Imported the pciutils sources to my Arch repository. Good-bye, CVS.
1288
d772ef15
MM
12892003-01-04 Martin Mares <mj@ucw.cz>
1290
1b95f396
MM
1291 * Released as 2.1.11.
1292
c83293eb
MM
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
e2875dcd
MM
1305 * Makefile: Paths to pci.ids in man pages automatically get the right path.
1306
1b95f396 1307 * Added the update-ids utility.
0138a2a7 1308
d772ef15
MM
1309 * lib: Removed partially implemented "syscall" access method which will
1310 probably never be needed.
1311
eb620239
MM
13122002-12-27 Martin Mares <mj@ucw.cz>
1313
130090bd
MM
1314 * lib/nbsd-libpci.c: Cleaned up and hopefully made it endian safe.
1315
eb620239
MM
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
848b4347
MM
13202002-12-26 Martin Mares <mj@ucw.cz>
1321
579b19ff
MM
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
848b4347
MM
1329 * Added preliminary version of NetBSD support by Quentin Garnier
1330 <netbsd@quatriemek.com>.
1331
f0952474
MM
13322002-04-06 Martin Mares <mj@ucw.cz>
1333
1334 * lspci.c: Mention "-xxx" in the help.
1335
d2f666f1
MM
13362002-03-30 Martin Mares <mj@ucw.cz>
1337
9bd44bb0
MM
1338 * Released as 2.1.10.
1339
a33d0eb7
MM
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
d2f666f1
MM
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
ee551b73
MM
13572002-03-26 Martin Mares <mj@ucw.cz>
1358
07159913
MM
1359 * README: Rewritten.
1360
ee551b73
MM
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
bc7b1d62
MM
13652002-03-24 Martin Mares <mj@ucw.cz>
1366
5f5e6f64
MM
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
a1052f16
MM
1374 * lspci.c (format_agp_rate): Fixed AGP rate reporting.
1375
bc7b1d62
MM
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
f793990c
MM
13832001-11-04 Martin Mares <mj@ucw.cz>
1384
ee551b73
MM
1385 * Released as 2.1.9.
1386
f793990c
MM
1387 * pci.ids: Synced with the PCI ID Repository at SourceForge
1388 (http://pciids.sourceforge.net/).
1389
1d174e56
MM
13902000-08-25 Martin Mares <mj@albireo.ucw.cz>
1391
1392 * pci.ids: Updated ID's, synced with kernel 2.4.0-test7.
1393
65b4327e
MM
13942000-06-13 Martin Mares <mj@albireo.ucw.cz>
1395
1396 * Makefile (uninstall): Fixed.
1397
1398 * pci.ids: ID updates.
1399
4a219d5f
MM
14002000-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
14082000-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
10c90662
MM
14142000-05-01 Martin Mares <mj@albireo.ucw.cz>
1415
72b9b690
MM
1416 * lspci.c (show_pm): Updated according to PCI PM specs 1.1.
1417
10c90662
MM
1418 * pci.ids: Updated Contemporary Control ARCnet card entries.
1419
1420 * pci.ids: Synchronized class list with latest PCI SIG documents.
1421
a239ade6
MM
14222000-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
2c83b860
MM
14302000-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
c1a828da
MM
14642000-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
e91dd3ab
MM
1472Thu Mar 9 13:11:39 2000 Martin Mares <mj@albireo.ucw.cz>
1473
a80b79a9
MM
1474 * lib/example.c: Added a simple example of how to use
1475 the library.
1476
89984232
MM
1477 * lspci.man, setpci.man: Revealed --version. Well spotted
1478 by Adam Sulmicki.
1479
e91dd3ab
MM
1480 * pci.ids: Added lots of new ID's and synced with 2.3.50.
1481
78d9c5e2
MM
1482Tue 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
f8141ae2
MM
1494Mon 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
1499Mon 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
59e76e8b
MM
1505Sun 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
2dfd48cd
MM
1511Thu Jan 20 11:08:32 2000 Martin Mares <mj@albireo.ucw.cz>
1512
2715403f
MM
1513 * lspci.c (scan_device): Fixed bug in reading of cardbus extensions.
1514
81077814
MM
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
2dfd48cd
MM
1521 * lib/configure: Added configuration for ia64 (the same as for Alpha).
1522 Patch from Stephane Eranian <eranian@cello.hpl.hp.com>.
1523
5a258860
MM
1524Thu 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
0c047bbe
MM
1535Sat 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
33bc28a5
MM
1541Sat Dec 4 13:11:03 1999 Martin Mares <mj@albireo.ucw.cz>
1542
39231205
MM
1543 * Released as version 2.1.1.
1544
33bc28a5
MM
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
8d047897
MM
1551Wed 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
6afc6538
MM
1556Sat 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
8f756113
MM
1563Thu Oct 14 10:40:12 1999 Dave Jones <dave@powertweak.com>
1564
1565 * pci.ids: Added lots of subsystem definitions.
1566
d4798a32
MM
1567Sat 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
e306e911
MM
1579Wed 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
1586Mon 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
e64a576c
MM
1590Tue Sep 14 09:31:01 1999 Martin Mares <mj@albireo.ucw.cz>
1591
1592 * pci.ids: New ID's. Again.
1593
c36c0862
MM
1594Thu 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
1ca42433
MM
1599Tue Jul 20 13:25:09 1999 Martin Mares <mj@albireo.ucw.cz>
1600
168b4f46
MM
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
bc6346df
MM
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
1ca42433
MM
1628 * pci.ids: Some more IDs.
1629
1630Mon 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
e95c8373
MM
1635Wed 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
1663Mon 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
82ce97c9
MM
1676Mon 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
7bed2d83
MM
1692Mon 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
5ba3a475
MM
1699Thu 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
1705Wed 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
55c815b5
MM
1710Wed May 19 13:24:39 1999 Martin Mares <mj@albireo.ucw.cz>
1711
1712 * Released the whole package as version 2.0.
1713
1714Fri 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
dec16943
MM
1719Mon 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
e33c9c7a
MM
1727Sun 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
f3395cc5
MM
1734Sun 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
1740Sun 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
1746Tue 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
1c31d620
MM
1756Thu 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
1812a795
MM
1770Wed 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
1780Mon 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
f6c86928
MM
1785Mon 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
b5137411
MM
1792Sun Jan 24 22:10:36 1999 Martin Mares <mj@albireo.ucw.cz>
1793
d6b297d0
MM
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
b5137411
MM
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
81ce358d
MM
1813Sat Jan 23 21:30:54 1999 Martin Mares <mj@albireo.ucw.cz>
1814
1815 * pci.ids: Added few devices.
1816
727ce158
MM
1817Fri 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
1847Wed 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
1853Wed 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
1866Tue 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.
94db5c82 1875
727ce158
MM
1876 * lspci: Rewritten to use the library.
1877
6ece6bc6
MM
1878Tue Jan 19 22:24:08 1999 Martin Mares <mj@albireo.ucw.cz>
1879
1880 * Released as version 1.10.
1881
1882Mon 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
1212dd6d
MM
1887Sun Nov 29 20:05:56 1998 Martin Mares <mj@albireo.ucw.cz>
1888
1889 * pciutils.spec (Name): Update from Krzysztof G. Baranowski.
1890
d38471fd
MM
1891Sun 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
371f605b
MM
1897Wed 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
10be47ab
MM
1902Fri 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
472bd340
MM
1906Mon 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
072c77e5
MM
1919Wed 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
b7554856
MM
1925Wed 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
ce503b7f
MM
1930Fri 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
96e4f295
MM
1939Wed 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
6ae3650a
MM
1949Tue Jun 9 22:53:59 1998 Martin Mares <mj@albireo.ucw.cz>
1950
304f9a0b
MM
1951 * Released as 1.06.
1952
6ae3650a
MM
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
4b88a6b8
MM
1961Mon 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
1973Sun 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
9b306998
MM
1985Thu May 28 14:45:58 1998 Martin Mares <mj@lomikel.karlin.mff.cuni.cz>
1986
1987 * pci.ids: More updates from Jens Maurer.
1988
b372672f
MM
1989Wed Apr 22 10:00:39 1998 Martin Mares <mj@albireo.ucw.cz>
1990
1991 * pci.ids: Updates from Jens Maurer.
1992
b2c9b373
MM
1993Sun Apr 19 11:14:25 1998 Martin Mares <mj@albireo.ucw.cz>
1994
b372672f
MM
1995 * Released as 1.03.
1996
b2c9b373
MM
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
e4842ff3
MM
2004Tue Mar 31 23:11:57 1998 Martin Mares <mj@albireo.ucw.cz>
2005
2006 * setpci.c: Added.
2007
2008Sun 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
008407bd
MM
2016Thu 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
0a33d0ec
MM
2021Sun 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
2030Thu 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
fb38eee8
MM
2035Mon 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
2f48f637
MM
2045Sat 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
2053Tue 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.