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