]> git.ipfire.org Git - thirdparty/pciutils.git/blame - ChangeLog
Squashed compiler warnings about code with no effect
[thirdparty/pciutils.git] / ChangeLog
CommitLineData
dc01dd60
MM
12007-11-29 Martin Mares <mj@ucw.cz>
2
3 * lib/dump.c: Squashed compiler warnings about code with
4 no effect (there really were surplus *'s).
5
11339c0d
MM
62007-11-06 Martin Mares <mj@ucw.cz>
7
13463566
MM
8 * Released as 2.2.9.
9
11339c0d
MM
10 * lspci.c: Added a new switch `-k' which requests printing
11 of information on kernel drivers attached to each device
12 and on kernel modules reporting the ability to handle the
13 device. So far, this is supported only on Linux with the
14 sysfs back-end, so it is implemented internally in the lspci
15 instead of the libpci. Thanks to Anicka <anicka@anicka.net>
16 for help.
17
6cdb9d93
MM
182007-10-19 Martin Mares <mj@ucw.cz>
19
20 * Makefile, lib/Makefile: Moved -lz from LDFLAGS to LDLIBS.
21 Also added an explicit pattern rule for linking to make sure
22 that LDLIBS is used on all platforms. Thanks to Dan Nicholson
23 for the suggestion.
24
3de798bd
MM
252007-10-19 Martin Mares <mj@ucw.cz>
26
a404b115
MM
27 * Released as 2.2.8.
28
3de798bd
MM
29 * pci.ids: Revised class codes to match Conventional PCI 3.0 specs.
30 Added a couple of new ones, renumbered `ADMA continuous operation'
31 prog-if to 0x30 (even the old SATA Class Code ECN doesn't mention
32 0x40) and renumbered the satellite communication controllers.
33
2d2c4810 34 * lib/header.h: Include `PCI hot-plug' and `Secure device'
f7c76ec5
MM
35 capabilities from PCI 3.0 specs. Also added `SATA HBA' and
36 `Advanced features' caps from various ECN's.
2d2c4810 37
fa2273ca
MM
38 * lspci.c: All known capabilities have at least their name displayed
39 now. When we are unable to decode them completely, we signalize it
40 with a `<?>' mark.
41
42 * lspci.man: Document `<?>' and also mention that extended config
43 space is currently available only with the linux_sysfs back-end.
44
31c9bb28
MM
45 * lspci.c: Decode the Debug port capability (per EHCI 0.96 spec).
46
a387042e
MM
47 * lspci.c: Big code cleanup: re-arranged functions in the code,
48 renamed everything related to capabilities to cap_* and
49 all options except verbose to opt_*.
50
9c79fcc4
MM
512007-10-14 Martin Mares <mj@ucw.cz>
52
53 * lib/[fno]bsd-*: Removed extraneous braces.
54
d5b4cd14
MM
552007-10-12 Martin Mares <mj@ucw.cz>
56
57 * Capability loop detection introduced 2.2.7 did not work
58 properly with extended capabilities. Fixed.
59
594de878
MM
602007-10-05 Martin Mares <mj@ucw.cz>
61
8a23eadc
MM
62 * Released as 2.2.7.
63
594de878
MM
64 * lspci.c (show_caps, show_ext_caps): Detect and report loops in
65 capability lists.
66
8a23eadc
MM
67 * lspci.c, lib/header.h: Finished decoding of the PCI Express
68 capability. The extended capabilities remain undecoded for now,
69 but at least the list of them has been updated to reflect the
70 current PCI Express 2.0 spec.
71
72 * lspci.c, lib/header.h: Decode new bits of traditional registers
73 as defined by PCIE / PCI-X. This includes discard timers in the bridge
74 control register and INTx enable/status in device control/status
75 registers.
76
77 * lib/fbsd-device.c: Support domains on new FreeBSD's. Contributed
78 by Marius Strobl.
79
99091df9
MM
802007-09-12 Hasso Tepper <hasso@estpak.ee>
81
82 * Extended the fbsd-device backend to run on Dragonfly BSD.
83
84 * lspci.c: alloca() is declared in <stdlib.h> on BSD's, not <alloca.h>.
85
09156b3b
MM
862007-09-03 Martin Mares <mj@ucw.cz>
87
88 * Resurrected the Windows port, including cross-compilation by MinGW.
89 Patch by Samuel Bronson <naesten@gmail.com>.
90
325a3c50
MM
912007-08-31 Martin Mares <mj@ucw.cz>
92
93 * Makefile, lib/Makefile: `ar' and `ranlib' can be overriden to allow
94 cross-compilation.
95
a2322147
MM
962007-08-27 Martin Mares <mj@ucw.cz>
97
98 * lib/names.c (pci_open): When calling gzopen(), use "rb" file mode
99 instead of "r". This is needed on DOS systems, where this function
100 somewhat illogically uses the binary flag for the compressed file
101 instead of the decompressed stream inside, where binariness really
102 matters.
103
4f2c5b94
MM
1042007-08-14 Martin Mares <mj@ucw.cz>
105
106 * lspci.c (show_ht): Added decoding of Hypertransport MSI mapping capability,
107 based on a patch by Jason Gunthorpe.
108
109 * tests/cap-MSI-mapping: Added a test case. I plan to add test cases
110 (which are dumps of config space) for all new features.
111
0d7f5331
MM
1122007-06-20 Martin Mares <mj@ucw.cz>
113
7cebe481
MM
114 * Released as 2.2.6.
115
0d7f5331
MM
116 * Makefile: Added an "install-lib" target. Thanks to Dan Nicholson
117 for a patch.
118
7cebe481
MM
119 * Makefile, lib/Makefile: Generate and install pkg-config file
120 for libpci. Again by Dan Nicholson.
121
0d7f5331
MM
1222007-06-20 Thomas Schwinge <tschwinge@gnu.org>
123
124 * lib/i386-io-hurd.h: Rewritten for new Hurd kernels.
125
6e4a45ed
MM
1262007-05-04 Martin Mares <mj@ucw.cz>
127
55c89179
MM
128 * Released as 2.2.5.
129
6e4a45ed
MM
130 * pci.ids: Updated to the current snapshot of the database.
131
d0b07542
MM
1322007-02-14 Martin Mares <mj@ucw.cz>
133
134 * lspci.c (show_express): Added PCI/PCI-X to PCI-Express Bridge type.
135 Patch by Mark Glines.
136
3df35926
MM
1372007-02-09 Martin Mares <mj@ucw.cz>
138
139 * pci.ids: Updated to the current snapshot of the database.
140
e49ed044
MM
1412007-02-06 Martin Mares <mj@ucw.cz>
142
1ac3a99d
MM
143 * Replaced bzero() by memset() everywhere, it's better to lose a tiny
144 bit of readability than maintain hacks to make it work on various systems.
145
b0eb18cc
MM
146 * lib/configure: tr on Solaris is a bit weird and it requires `[A-Z]'
147 instead of `A-Z'. Fortunately, the extra brackets don't hurt otherwise.
148
e49ed044
MM
149 * lib/types.h, lib/configure: Solaris should use <stdint.h> to get precise
150 integer types.
151
9de2768c
MM
1522007-02-04 Martin Mares <mj@ucw.cz>
153
154 * lspci.c: alloca() needs <alloca.h>.
155
d19394db
MM
1562006-09-17 Martin Mares <mj@ucw.cz>
157
158 * lib/dump.c: Fixed a couple of bugs in the dump backend which caused
159 devices with domains or with extended config space to be read incorrectly.
160 Also, dumps with partial lines are allowed now.
161
934e7e36
MM
1622006-09-10 Martin Mares <mj@ucw.cz>
163
f09856de
MM
164 * pci.ids: Updated to the current database snapshot.
165
934e7e36
MM
166 * lspci.c (scan_device): If an error occurs when reading the standard config
167 header of a device, report it and ignore the device and return with exit
168 code 2 at the end.
169
b2055313 1702006-09-09 Martin Mares <mj@ucw.cz>
afebde01 171
fb260653
MM
172 * Released as 2.2.4.
173
1865e2dd
MM
174 * maint/release: Remind the maintainer about the current PCI_LIB_VERSION.
175
028dffb2
MM
176 * lib/pci.h: Updated PCI_LIB_VERSION.
177
13081e57
MM
178 * lspci.c (show_machine): In the `-m' mode, do proper shell escaping
179 if the fields printed contain quotes or backslashes.
180
3fd6b4d2
MM
181 * lspci.c (show_machine): Added a `-vmm' mode, which removes the misuse
182 of the `Device' tag for two different purposes.
183
840d09ae
MM
184 * Makefile: Moved all system-dependent decisions to lib/configure,
185 since config.mk is included in the top-level Makefile anyway.
186
2100f710
MM
187 * lib/configure: When configuring for Linux, ignore the kernel version
188 and always build all access methods.
189
3e9c7a18
MM
190 * Makefile (CFLAGS): Removed -Winline, it's not needed and triggers
191 at many non-interesting places with gcc 3.4.
192
94db5c82
MM
193 * Whitespace cleanup of all source files.
194
cc062b4a
MM
195 * The pci.ids file can be stored compressed if zlib is available.
196 Added transparent decompression to lib/names.c, modified update-pciids.sh
197 to keep the file compressed if applicable, updated Makefiles.
198 Based on a patch by Matthew Wilcox, but all the bugs are mine.
199
f4ddb8d3
MM
200 * Makefile, README: Allow installation to be done to a different directory
201 from the one we will eventually be placed in by setting DESTDIR.
202 Patch by Matthew Wilcox.
203
16e37012
MM
204 * Added .gitignore files.
205
c7f5314d
MM
206 * Makefile (clean): Clean *.orig, too.
207
afebde01 208 * Cleaned up usage of `char' and `byte'.
b2055313 209
fd54cceb
MM
210 * lib/header.h: PCI_CLASS_DOCKING_OTHER should be 0x0a80, not 0x0a01.
211
b2055313
MM
212 * lib/header.h: Added PCI_CLASS_xxx constants for all classes currently
213 defined in the pci.ids file.
214
4254d153
MM
2152006-08-01 Martin Mares <mj@ucw.cz>
216
217 * lib/i386-io-hurd.h: Fixed a silly typo.
218
1c5cc9b5
MM
2192006-07-30 Martin Mares <mj@ucw.cz>
220
38a9e3c3
MM
221 * lib/Makefile: Added a missing rule for obsd-device.o.
222
c7ddfa3e
MM
223 * lspci.c, lib/header.h: Added support for MSI per-vector masking.
224 Contributed by Petr Vandrovec.
225
248a04f8
MM
226 * lspci.c, lib/header.h: Added support for the `bridge subsystem ID'
227 capability. Contributed by Petr Vandrovec.
228
f29dcc87
MM
229 * lspci.c (show_htype1): Fixed bug in printing of 64-bit prefetchable
230 memory windows. Fix by Petr Vandrovec.
231
8eab3bff
MM
232 * maint/release.pm: Exclude .git directory from releases.
233
d305d704
MM
234 * lib/i386-ports.c, lib/i386-io-*: Report failures during port access
235 initialization by a->warn() instead of calling printf() or perror()
236 directly.
237
9007a292
MM
238 * lib/i386-ports.c, lib/i386-io-*: Moved the logic which keeps track of
239 the port access state to generic code.
240
bd20d5b5
MM
241 * lib/i386-io-hurd.h: Ask the kernel for I/O port access appropriately.
242 Contributed by Thomas Schwinge and Samuel Thibault.
243
73750606
MM
244 * lib/i386-ports.c: Define _GNU_SOURCE, it's needed by the Hurd module.
245
d71daa45
MM
246 * lib/header.h: Whitespace cleanups.
247
1c5cc9b5
MM
248 * lib/i386-io-windows.h: Fixed indentation and spelling.
249
250 * README.Windows: Mention that WinIO.dll is needed and where to get it.
251
c2b144ef
MM
2522006-06-27 Martin Mares <mj@ucw.cz>
253
14d4f989
MM
254 * lib/Makefile, Makefile: Added rules for building and cleaning the example.
255
256 * lib/example.c: Show how to use PCI_FILL_CLASS and used another register
257 for demonstrating the config space accesses. The example is still very
258 incomplete, though.
259
c2b144ef
MM
260 * lib/pci.h, lib/generic.c: Added PCI_FILL_CLASS.
261
262 * lib/sysfs.c: Fetch device ID and class from sysfs, because they can
263 be modified by kernel fixups.
264
265 * lspci.c: Use PCI_FILL_CLASS. Thanks to Matthew Willcox for the patch.
266
bc2eed2d
MM
2672006-06-03 Martin Mares <mj@ucw.cz>
268
269 * lspci.c: Introduced the -nn switch. Thanks to David N. Welton
270 for the idea.
271
272 * lib/names.c (pci_lookup_name): Introduced PCI_LOOKUP_MIXED and
273 cleaned up the name selection code.
274
c72eedde
MM
275 * lib/names.c (pci_lookup_name): If PCI_LOOKUP_NO_NUMBERS is given,
276 pci_access->numeric_ids is ignored.
277
278 * lib/names.c (pci_lookup_name): When class is identified and
279 subclass isn't, display class name and subclass number.
280
2f294d4b
MM
2812006-05-31 Martin Mares <mj@ucw.cz>
282
283 * setpci.c (main): Don't crash when an invalid width is specified.
284
81afa98c
MM
285 * lspci.c, setpci.c, common.c: die() now uses the right program
286 name when printing an error message.
287
0ac282f2
MM
2882006-05-19 Martin Mares <mj@ucw.cz>
289
290 * README: Mention the public GIT tree.
291
292 * README: Updated the list of ports.
293
d1058e9d
MM
2942006-05-10 Martin Mares <mj@ucw.cz>
295
296 * lib/configure, lib/fbsd-device.c: Added support for GNU/kFreeBSD.
297 Thanks to Petr Salinger for the patch.
298
2ae2d1ae
MM
2992006-05-05 Martin Mares <mj@ucw.cz>
300
301 * Released as 2.2.3.
302
303 * lspci.c (scan_device): The -D switch didn't work as intended
304 in -m mode.
305
abf8d505
MM
3062006-05-05 Martin Mares <mj@ucw.cz>
307
1d5cf727
MM
308 * Released as 2.2.2.
309
8a830168
MM
310 * pci.ids: Updated to the current database snapshot.
311
b6359063
MM
312 * lib/obsd-device.c (and other files in lib/*): Added OpenBSD
313 interface by Matthieu Herrb <matthieu.herrb@laas.fr>, based on
314 the existing FreeBSD interface.
315
abf8d505
MM
316 * Moved pciutils to a GIT repository, which now contains merged
317 history from both CVS and Arch. Good bye, TLA!
318
6ac70402
MM
3192006-03-21 Martin Mares <mj@ucw.cz>
320
2a124dae
MM
321 * lspci.c (show_slot_name): Avoid the previous changes in default
322 display of domain name when in machine-readable mode. However, `-D'
323 forces domain display even there.
324
6ac70402
MM
325 * lspci.man: Added a warning on -m being the only format, which is
326 guaranteed to be stable between lspci versions.
327
1bbdea17
MM
3282006-03-13 Martin Mares <mj@ucw.cz>
329
af61eb25
MM
330 * lspci.man: Documented the -D switch.
331
332 * lspci.c (show_slot_name, scan_device): If there are multiple PCI
333 domains or if the `-D' switch is used, show the domain number for
334 all devices.
335
7a61b93c
MM
336 * lspci.c (show_verbose): Report cache line size in bytes.
337
1bbdea17
MM
338 * update-pciids.sh: Use curl if available. Patch by Matthew Wilcox.
339
0e78ef8a
MM
3402006-01-04 Martin Mares <mj@ucw.cz>
341
342 * lspci.c (show_express_link): Fixed decoding of link status register.
343 Thanks to Roland Dreier for his report.
344
e6859953
MM
3452005-12-12 Martin Mares <mj@ucw.cz>
346
347 * lib/nbsd-libpci.c: If libpci is used by an ordinary user, allow
348 at least read-only access. Patch by Pavel Celeda <celeda@liberouter.org>.
349
350 * Makefile: Corrected library path on NetBSD.
351
a99c0d69
MM
3522005-11-26 Martin Mares <mj@ucw.cz>
353
e4af70c6
MM
354 * Released as 2.2.1.
355
a99c0d69
MM
356 * lspci.c (show_machine): Subsystem vendors were printed incorrectly
357 in machine-readable modes. Thanks to Pavel Celeda for a bug report.
358
f23fd3fc
MM
3592005-10-11 Martin Mares <mj@ucw.cz>
360
361 * lspci.c (new_bus): Fixed a memory leak. Thanks to Paul Sangree for reporting it.
362
15296723
MM
3632005-09-21 Martin Mares <mj@ucw.cz>
364
365 * Released as 2.2.0.
366
40b6d93f
MM
367 * pci.ids: Updated copyright header.
368
15296723
MM
369 * lib/sysfs.c (sysfs_get_resources): Removed warning about unsupported
370 64-bit addresses, they are now always supported.
371
372 * lspci.c (show_bases): Corrected printing of 64-bit addresses
373 in bus-centric mode.
374
375 * lib/configure: Enable 64-bit addresses on all Linux systems.
376
377 * lib/types.h: Don't pad 64-bit addresses to 16 xigits, only to 8 if they
378 are shorter.
379
224707ba
MM
3802005-09-11 Martin Mares <mj@ucw.cz>
381
382 * Released as 2.1.99-test11.
383
384 * lspci.c: Removed unnecessary trailing zeros in pci_lookup_name() calls.
385
aeaca5d3
MM
3862005-09-10 Martin Mares <mj@ucw.cz>
387
224707ba
MM
388 * Released as 2.1.99-test10.
389
63e6f2e0
MM
390 * pci.ids: Synchronized with the current database snapshot.
391
043ebdee
MM
392 * update-pciids.sh: Changed the default URL for downloading pci.ids
393 to http://pciids.sourceforge.net/v2.2/pci.ids.
394
395 * lib/pci.h (PCI_LIB_VERSION): Added version identifier.
396
aeaca5d3
MM
397 * lib/names.c: Rewritten the name database module almost from scratch.
398 Everything is much cleaner and there are hopefully no more memory leaks;
399 pci_lookup_name() now uses varargs in a backward compatible fashion.
400 Introduced PCI_LOOKUP_NO_NUMBERS.
401
402 The new code supports subsystem entries not tied to a specific device.
403 I had to extend the format of pci.ids in order to support it, so I have
404 extended the idea of the "C" (class) blocks and introduced "S" blocks
405 for subsystems. To avoid doing more incompatible changes in the future,
406 the parser skips unknown single-letter blocks without reporting errors.
407
121c76c9
MM
4082005-08-23 Martin Mares <mj@ucw.cz>
409
54e13765
MM
410 * Released as 2.1.99-test9.
411
412 * Makefile (OPT): Removed -fomit-frame-pointer, it's default in recent
413 gcc versions when optimizing anyway.
414
415 * Made the path to pci.ids customizable and independent on the SHAREDIR.
416 Just override IDSDIR in the top-level Makefile.
417
418 * pci.ids: Synchronized with the current database snapshot.
419
84d437d6
MM
420 * lspci.man, setpci.man: Improved the man pages. Documented all access
421 methods and which operations are privileged.
422
423 * lspci.c: Another rewrite of config register caching, now also including
424 lots of internal checks. It should be now perfectly able to cope with
425 portions of the configuration space being inaccessible, for example
426 due to insufficient access rights.
427
3b8bf739
MM
428 * lspci.c (show_pcix_nobridge, show_pcix_bridge): Cleaned up dumping of PCI-X
429 capabilities. Includes partial support for PCI-X 2.0 (probably incomplete
430 as I haven't seen the spec).
431
432 * lspci.c: Quell warnings about unused parameters.
433
84d437d6
MM
434 * lspci.c: Removed C++ comments.
435
3b8bf739
MM
436 * lib/header.h: Merged definitions of extended capabilities and some new
437 PCI-X capability bits from linux-2.6.11/include/pci.h.
438
439 * lspci.c (show_caps): Try to scan extended capabilities only if the
440 device has either PCI-X or PCI Express capability in its normal capability
441 list.
442
f7821e53
MM
443 * lib/dump.c (dump_init): Reading of dumps works again. The dump reader
444 now also remembers how much data it has read and refuses attempts to
445 access more than that.
ea4e5f5d 446
46ea554d
MM
447 * setpci.man, lspci.c, README: prefer spelling "buses" over "busses".
448
8afaab22
MM
449 * lspci.c: If alloca() is not available, use xmalloc(), not malloc().
450
121c76c9
MM
451 * lib/configure: Added x86_64 on Linux.
452
c1c2c30e
MM
4532005-08-22 Martin Mares <mj@ucw.cz>
454
b9ca9147
MM
455 * lib/filter.c (pci_filter_parse_slot): Fixed parsing of domain filters.
456 Thanks to Matthew Wilcox for bug report.
457
c1c2c30e 458 * lspci.c: Corrected spelling of "Hz" (it was "hz" at several places).
b9ca9147 459 Thanks to Krzysztof Oledzki for pointing that out.
c1c2c30e 460
26542a0b
MM
4612004-08-19 Martin Mares <mj@ucw.cz>
462
463 * pciutils.spec (%attr): Setting attributes for /sbin/* is an anachronism,
464 because pciutils by default install to /usr/sbin. Update.
465
6aa54f1b
MM
4662004-08-13 Martin Mares <mj@ucw.cz>
467
aabb0a92
MM
468 * Released as 2.1.99-test8.
469
f31412d1
MM
470 * lib/types.h, lib/pci.h, lib/sysdep.h: `byte' and `word' are
471 no longer exported to the outside world.
472
ee7d8384
MM
473 * README.Windows: Updated.
474
475 * maint/release: Substitute version number in win32/config.h.
476
477 * win32/config.h: Added.
478
479 * lib/sysdep.h (bzero, strcasecmp): are macros on Windows.
480
481 * compat/getopt.[ch]: Added copies of getopt.[ch] from the GNU
482 C library for use on systems where the default libraries lack
483 proper getopt. Currently used by the Windows port.
484
485 * lib/sysdep.h, lib/types.h: Updates of the Windows port from
486 Alexander Stock.
487
489233b4
MM
488 * lib/types.h: If PCI_HAVE_Uxx_TYPES is defined, libpci doesn't define
489 its own u8, u16, u32, byte and word types and uses what the user
490 has supplied instead. With this change, all namespace clashes should
491 be gone.
492
493 * Makefile, lib/Makefile: Updated dependencies.
494
495 * pciutils.h: Include lib/sysdep.h and move NONRET et al. there.
496
497 * lib/sysdep.h: No need to include <sys/types.h> on FreeBSD, because
498 it is included unconditionally in lib/types.h.
499
500 * Moved system-dependent stuff from lib/internal.h to lib/sysdep.h,
501 which is also used by the utilities. Also moved type declarations
502 from lib/pci.h to lib/types.h.
503
504 * All files: Prepend a "PCI_" prefix in front of all configuration
505 defines to avoid namespace clashes. CAVEAT: If there is any libpci
506 application using the (undocumented) defines, it has to be updated.
507
508 * lib/Makefile: Killed HAVE_OWN_HEADER_H, since we stopped sharing
509 headers with the kernel a couple of years ago.
510
9bb4b4ea
MM
511 * lib/sysfs.c (sysfs_get_resources): We have 7 resources, not 6.
512
6aa54f1b
MM
513 * lspci.c (show_rom): Use the same logic for printing disabled
514 or unassigned ROM's as we do in show_bases() for the other BAR's.
515
516 * lib/generic.c (pci_generic_fill_info): Better reaction to
517 invalid 64-bit addresses. Also d->hdrtype should not include
518 bit 7, which caused mysterious errors on multi-function devices.
519
520 * lib/generic.c (pci_generic_fill_info): Fill in base addresses
521 even if the regions are known to be disabled. It is the client's
522 job to interpret them. (And it is not a trivial job if you want
523 to do it correctly, since you need to check I/O and memory enables
524 on all upstream bridges, too.) However, it could be interesting to
525 introduce functions for interpreting the addresses and even for
526 mapping the regions and doing I/O on them.
527
80e6c636
MM
5282004-07-30 Martin Mares <mj@ucw.cz>
529
530 * lspci.c: HyperTransport improvements from Maciej.
531
d6324891
MM
5322004-07-11 Martin Mares <mj@ucw.cz>
533
534 * lib/sysfs.c (sysfs_get_resources): Arguments now correspond
535 to the format string. [Patch by Bill Nottingham]
536
ec25b52d
MM
5372004-07-05 Martin Mares <mj@ucw.cz>
538
362be683
MM
539 * Released as 2.1.99-test7.
540
ec25b52d
MM
541 * lspci.c (config_fetch): Wanted to merge Matthew's bug fix, but
542 ended up with rewriting the fetching mechanism to be fully dynamic,
543 but avoid reading config space registers not explicitly requested.
544
5452004-06-29 Matthew Wilcox <willy@debian.org>
546
547 * lspci.c: More work on PCI Express dumping.
548
549 * lib/header.h: Updated PCI Express capability definitions.
550
551 * lib/proc.c (proc_read): Removed bogus warning.
552
553 * common.c (xrealloc): Introduced.
554
555 * lspci.man: Added -xxxx.
556
09817437
MM
5572004-06-27 Martin Mares <mj@ucw.cz>
558
d1fa27eb
MM
559 * Released as 2.1.99-test6.
560
4d67aa89
MM
561 * lspci.c (show_msix), lib/header.h: Added dumping of MSI-X cap.
562 Patch by Roland Dreier <roland@topspin.com>, cleaned up by me.
563
564 * lspci.c (show_pcix_nobridge, show_pcix_bridge): Handle config_fetch()
565 failures.
566
567 * lib/header.h: Added PCI Express extended capabilities. Again by Matthew.
568
569 * lspci.c (show_express): Added dumping of PCI Express cap.
570 Patch by Matthew Wilcox.
571
572 * lib/header.h: Added a list of PCI 3.0 capabilities and also details
573 on PCI Express caps. Patch by Matthew Wilcox <willy@debian.org>.
574
09817437
MM
575 * lspci.c (check_root): Gone. No explicit checks for root are needed,
576 report correct errors reported by the libpci instead.
577
578 * lspci.c: Added dumping of the extended config space on "-xxxx".
579 Better caching of config registers.
580
581 * setpci.c (main): Allow access to whole 4096 bytes of the config space.
582
583 * lib/sysfs.c, lib/proc.c: Don't print error messages on short reads,
584 just return the appropriate error code.
585
586 * lib: Added support for extended (4096-byte) configuration space,
587 currently implemented only in Linux proc and sysfs access methods
588 and of course in the dump reader.
589
0d656226
MM
5902004-05-29 Martin Mares <mj@ucw.cz>
591
c0eece92
MM
592 * Released as 2.1.99-test5.
593
a2413560
MM
594 * lib/pci.h: Windows don't have the standard u_int* types.
595
596 * lib/internal.h: <sys/param.h> required on Windows for endianity
597 macros.
598
599 * lib/i386-ports.c: Connected i386-io-windows.h.
600
601 * lspci.c (check_root): geteuid() is not available on Windows.
602
603 * lib/i386-io-windows.h: Added Windows port contributed by Alexander
604 Stock <stock.alexander@gmx.de>.
605
606 * lib/configure: Hopefully fixed SunOS port broken by various
607 changes to the configure script.
608
0d656226
MM
609 * Makefile, lib/configure: Cross-compilation support, patch by Maciej.
610
138c0385
MM
6112004-05-28 Martin Mares <mj@ucw.cz>
612
9f490382
MM
613 * Released as 2.1.99-test4.
614
cce2caac
MM
615 * lspci.c (show_verbose): Header type 1 is probably legal for all
616 types of bridges, not only for PCI-to-PCI bridges.
617
b569ef09
MM
618 * lspci.c (format_agp_rate): Write "x16", not "x@".
619 (show_agp): rate[] could overflow.
620 Bugs reported by Jakub Bogusz <qboosh@pld-linux.org>.
621
bfc4fe7a
MM
622 * lspci.c (show_ht_*): Show HyperTransport capability with all its
623 details. Once again code by Maciej simplified (i.e., possibly broken)
624 by me.
625
626 * lib/header.h: Added declarations of HyperTransport capability.
627 Again thanks to Maciej.
628
138c0385
MM
629 * lspci.c: Decode all bits of the secondary status word in type 1 headers.
630 Thanks to Maciej W. Rozycki <macro@ds2.pg.gda.pl> for the patch.
631
4284af58
MM
6322003-12-27 Martin Mares <mj@ucw.cz>
633
81abd2a7
MM
634 * Released as 2.1.99-test3.
635
1f7c91cc
MM
636 * lspci.man, setpci.man: Document domains and correct spelling.
637
638 * lib/dump.c (dump_init): Added ability to read domain numbers.
639
84c8d1bb 640 * lspci.c: Devices in domains different from 0 have their slot number
1f7c91cc
MM
641 printed as "<domain>:<bus>:<slot>.<func>". Tree view supports domains
642 as well.
84c8d1bb
MM
643
644 * lib/filter.c: Slot filters understand domains.
645
646 * lib/generic.c: Mention the domain in slot numbers in all error messages.
647
648 * lib/internal.h: The #ifdef for Linux <asm/byteorder.h> was wrong.
649
650 * lib/access.c (pci_get_dev): Added support for domains.
651
652 * lib/sysfs.c (sysfs_scan): Read vendor and device ID from the config
653 registers (or to be precise, leave it for the generic parts of the pcilib
654 to do so) instead of reading them from the sysfs. It's faster this way.
655
656 * lspci.c (show_pcix): Don't touch pci_dev->hdrtype, it's an internal
657 variable. Better read it from the config registers (it's cached anyway).
658
659 * lib/sysfs.c (sysfs_scan), lib/proc.c (proc_scan): Don't read the hdrtype.
660 lib/generic.c (pci_generic_fill_info): If hdrtype is -1 (unset), read it.
661 Saves lots of unnecessary file accesses.
662
11f7b31b
MM
663 * lib/pci.h (PCIADDR_PORT_FMT): Use %llx instead of %Lx, because the latter
664 is not supported by all C libraries.
665
666 * Makefile: Always enter the lib directory (remember that we don't have
667 full dependecies for the library in the top-level Makefile; hmmm, another
668 thing to rewrite some day).
669
670 * lib/sysfs.c: Added Linux sysfs access method based on the patch
671 written by Matthew Wilcox <willy@fc.hp.com>.
672
673 * lib/proc.c: Renamed the access method name from "/proc/bus/pci" to "Linux-proc".
674
675 * lib/pread.h: The hacks to support pread on various versions
676 of Linux libc moved there.
677
678 * lib/proc.c (proc_setup): The return value of snprintf() varies
679 between glibc versions, so we need to check both for a negative
680 values and for too large values.
681
4284af58
MM
682 * Removed last few references to the "Linux PCI Utilities", the
683 package is pretty cross-platform now :)
684
ab12277e
MM
6852003-12-27 Martin Mares <mj@ucw.cz>
686
687 * Released as 2.1.99-test2.
688
689 * README, pciutils.lsm, pciutils.spec: Use @VERSION@ to make the
690 release scripts insert the current version. "make release" is gone.
691
692 * maint/release, maint/release.pm: Added a new system of scripts for
693 making releases including inter-version diffs etc.
694
695 * Makefile: Cleaned up.
696
697 * lib/fbsd-device.c: I patched another copy of this file by mistake,
698 this time the version checks should be right.
699
6aea909a
MM
7002003-12-27 Martin Mares <mj@ucw.cz>
701
6d722cd6
MM
702 * Released as 2.1.99-test1.
703
dd33246a
MM
704 * pciutils.h, common.c, lspci.man, setpci.man, lib/internal.h:
705 Remove shadows of the syscall access method which was never
706 implemented.
707
80b3121a
MM
708 * update-pciids.sh: Try to preserve permissions of the old file
709 if chmod supports --reference. Should close Debian Bug #223740.
710
6aea909a
MM
711 * lib/proc.c (proc_setup): Increased path name length limit to 1024.
712 Thanks for Redhat and Mandrake for inspiration.
713
714 * lib/configure: Recognize ppc and ppc64, both have 64-bit addresses.
715 Grabbed from Redhat (Fedora) patches.
716
2240db8c
MM
7172003-12-27 Martin Mares <mj@ucw.cz>
718
f701ff47
MM
719 Merged bug fixes from Debian patches:
720
721 * lspci.c (show_verbose): "Cache Line Size" should be capitalized.
722
723 * lspci.c (show_pcix_nobridge): Added a missing newline.
724
2240db8c
MM
725 * lib/proc.c (proc_scan): When reading the header type, don't
726 forget to clear the topmost bit indicating that the device has
f701ff47 727 multiple functions.
2240db8c 728
45902995
MM
7292003-12-27 Martin Mares <mj@ucw.cz>
730
731 Updated the FreeBSD port. Thanks to Samy Al Bahra <samy@kerneled.com>
732 for the patches:
733
734 * lib/Makefile: Add ${FREEBSD_SYS} to the include path if it's defined.
735 * lib/fbsd-device.c: Select the right set of system includes according
736 to __FreeBSD_version.
737
8fc75dbc
MM
7382003-12-27 Martin Mares <mj@ucw.cz>
739
740 Merged support for Solaris on i386 by Bill Moore <billm@eng.sun.com>
741 and cleaned up:
742
743 * lib/configure: Recognize SunOS.
744 * lib/internal.h: Learn how to recognize byte order on SunOS.
745 * lib/i386-ports.c: Split OS-dependent I/O port access from i386-ports.c.
746 * lib/i386-io-linux.h: Linux specific part.
747 * lib/i386-io-hurd.h: GNU/Hurd specific part.
748 * lib/i386-io-sunos.h: SunOS specific part.
749
9739916e
MM
7502003-12-26 Martin Mares <mj@ucw.cz>
751
752 * lib/header.h (PCI_*_MASK): Cast to pciaddr_t explicitly.
753
754 * lib/pci.h: Types declared in <sys/types.h> should be usable on all
755 platforms we currently support, so kill the forest of #ifdef's and
756 use them in all cases.
757
758 * lib/pci.h: Use ULONG_MASK to decide whether we should use long
759 or long long to represent a 64-bit address. Killed HAVE_LONG_ADDRESS.
760 Define format strings for addresses, port numbers and IRQ numbers
761 directly in pci.h.
762
763 * lib/proc.c (proc_scan): Use PCIADDR_T_FMT for scanf'ing addresses.
764
80459c65
MM
7652003-12-26 Marco Gerards <metgerards@student.han.nl>
766
767 Added support for the GNU Hurd (cleaned up by Martin Mares):
768
769 * lib/configure [GNU]: Use the i386 ports for configuration access.
770 * lib/i386-ports.c: Don't call iopl() on the Hurd.
771 * lib/pci.h [OS_GNU]: Include <sys/types.h> and use it for defining
772 u8 to u32.
773
a85769a8
MM
7742003-12-26 Martin Mares <mj@ucw.cz>
775
7dacd9c8
MM
776 * lspci.c (show_pcix_bridge, show_pcix_nobridge): Don't forget to call
777 config_fetch() to ensure that the registers have been read. Thanks to
778 Bill Wood <bill.wood@hp.com> for the patch.
779
780 * lspci.c: Ensure that failure of config_fetch() is handled correctly
781 at all places.
782
4063c31c
MM
783 * lspci.man: There was one more explicit reference to /usr/share/pci.ids.
784 Changed to @SHAREDIR@. Patch from Maciej W. Rozycki <macro@ds2.pg.gda.pl>.
785
3fe8a38d
MM
786 * setpci.c (main): Better error messages.
787
5f5b1a7b
MM
788 * setpci.c (ex_op): The demo mode should disable only writing, not reading.
789
790 * setpci.man: The documentation was inconsistent on what should -D do.
791 Document the new behaviour.
b251f40b 792
91e37a49
MM
793 * pciutils.h, common.c, setpci.c: Introduced a NONRET macro encapsulating
794 the GCC specific __attribute__((noreturn)) and killed the hack with
795 redefining __attribute__ on non-GCC compilers.
796
4afd29d3
MM
797 * Makefile: Added missing dependencies. Parallel builds work now.
798 Problem reported by Andreas Haumer <andreas@xss.co.at>, but I chose
799 a different fix.
800
b0f1a03b
MM
801 * Makefile (MANDIR): Use `:=' instead of `=' to avoid executing the shell
802 command every time $(MANDIR) is referenced.
803
b7fd8e19
MM
804 * lspci.c (main): The error message for `lspci -s' incorrectly mentioned
805 a `-f' switch. Reported by Steve Finney <Steve.Finney@SpirentCom.COM>.
806
05bb10a2
MM
807 * lib/generic.c: Removed memory leak in pci_generic_bus_scan().
808 Reported by Gary Parnes <gary_parnes@terago.com>.
809
a832f6f1
MM
810 * Replaced obsolete syntax of __attribute__((unused)) in the middle of
811 parameter declarations (which is no longer supported by GCC 3.1) by the
812 current syntax (attribute at the end). Thanks to pixel@mandrakesoft.com
813 for reporting this problem.
814
a85769a8
MM
815 * Removed CVS $Id$ tags from all files.
816
817 * Makefile: Added some more warnings.
818
b7351143
MM
819 * setpci.c: Cleaned up mask/value code.
820
8212003-12-08 Thayne Harbaugh <tharbaugh@lnxi.com>
822
823 * setpci.c: Individual bits to be set can be specified as <value>:<mask>.
824
2a5d5cf9
MM
8252003-11-29 Martin Mares <mj@ucw.cz>
826
827 * Imported the pciutils sources to my Arch repository. Good-bye, CVS.
828
d772ef15
MM
8292003-01-04 Martin Mares <mj@ucw.cz>
830
1b95f396
MM
831 * Released as 2.1.11.
832
c83293eb
MM
833 * Makefile: Changed configuration of installation directories --
834 all paths are now set at the top of the Makefile instead of being
835 scattered between the installation rules. The default installation
836 now goes always to /usr/local regardless of the OS as most distributions
837 already contain some version of pciutils and we don't want custom
838 installations to interfere with the default ones.
839
840 * Makefile: Removed a couple of ancient install hacks: we no longer
841 try to avoid overwriting a newer pci.ids file (users are now expected
842 to use update-ids) and we don't try to remove /etc/pci.ids (a long time
843 has passed since the last version which used it).
844
e2875dcd
MM
845 * Makefile: Paths to pci.ids in man pages automatically get the right path.
846
1b95f396 847 * Added the update-ids utility.
0138a2a7 848
d772ef15
MM
849 * lib: Removed partially implemented "syscall" access method which will
850 probably never be needed.
851
eb620239
MM
8522002-12-27 Martin Mares <mj@ucw.cz>
853
130090bd
MM
854 * lib/nbsd-libpci.c: Cleaned up and hopefully made it endian safe.
855
eb620239
MM
856 * lib/generic.c (pci_generic_scan_bus): Added work-around for devices with
857 discontiguous numbering of functions. This is already present in the Linux
858 kernel for several years, but I forgot to update pciutils as well.
859
848b4347
MM
8602002-12-26 Martin Mares <mj@ucw.cz>
861
579b19ff
MM
862 * lib/header.h, lspci.c: Dump AGP3 flags and speeds.
863
864 * lib/pci.h, Makefile: Removed HAVE_OWN_HEADER_H. Always use our own header,
865 there is no reason to prefer the kernel version.
866
867 * lib/proc.c (proc_scan): Don't forget to initialize hdrtype.
868
848b4347
MM
869 * Added preliminary version of NetBSD support by Quentin Garnier
870 <netbsd@quatriemek.com>.
871
f0952474
MM
8722002-04-06 Martin Mares <mj@ucw.cz>
873
874 * lspci.c: Mention "-xxx" in the help.
875
d2f666f1
MM
8762002-03-30 Martin Mares <mj@ucw.cz>
877
9bd44bb0
MM
878 * Released as 2.1.10.
879
a33d0eb7
MM
880 * Removed pci.ids from the CVS as they are now maintained separately.
881 They are still included in the tarball, but if you are building pciutils
882 from CVS sources or you want to get a newer ID file than the one distributed,
883 just use "make update-ids" to download the most recent snapshot from
884 pciids.sf.net.
885
886 * Makefile, README: Updated accordingly.
887
888 * Makefile: Added a couple of maintenance targets.
889
890 * maint/*: Maintainer's utilities now reside here (present only in CVS,
891 not in the tarball).
892
d2f666f1
MM
893 * lib/names.c (parse_name_list): End-of-line comments are no longer
894 supported. Hashes are now perfectly valid in all names and they start
895 a comment only at the start of the line.
896
ee551b73
MM
8972002-03-26 Martin Mares <mj@ucw.cz>
898
07159913
MM
899 * README: Rewritten.
900
ee551b73
MM
901 * Makefile: When the currently installed pci.ids file is newer than
902 the version to be installed, don't overwrite it. Suggested by
903 Jean Delvare <khali@linux-fr.org>.
904
bc7b1d62
MM
9052002-03-24 Martin Mares <mj@ucw.cz>
906
5f5e6f64
MM
907 * lspci.c (show_pcix_bridge): Added PCI-X capability display.
908 Contributed by Jeff Garzik <jgarzik@mandrakesoft.com>.
909
910 * lib/header.h: Added PCI-X stuff. Again by Jeff.
911
912 * Makefile (CFLAGS): -Werror is gone.
913
a1052f16
MM
914 * lspci.c (format_agp_rate): Fixed AGP rate reporting.
915
bc7b1d62
MM
916 * lib/filter.c (pci_filter_parse_slot): Allow bus 0xff, slot 0x1f and
917 function 7.
918
919 * lib/names.c (pci_lookup_name): When printing unknown subsystem vendor
920 or device hexadecimally, don't confuse it with chip vendor/device ID.
921 First reported by Marc Boucher <marc@mbsi.ca>.
922
f793990c
MM
9232001-11-04 Martin Mares <mj@ucw.cz>
924
ee551b73
MM
925 * Released as 2.1.9.
926
f793990c
MM
927 * pci.ids: Synced with the PCI ID Repository at SourceForge
928 (http://pciids.sourceforge.net/).
929
1d174e56
MM
9302000-08-25 Martin Mares <mj@albireo.ucw.cz>
931
932 * pci.ids: Updated ID's, synced with kernel 2.4.0-test7.
933
65b4327e
MM
9342000-06-13 Martin Mares <mj@albireo.ucw.cz>
935
936 * Makefile (uninstall): Fixed.
937
938 * pci.ids: ID updates.
939
4a219d5f
MM
9402000-05-20 Martin Mares <mj@albireo.ucw.cz>
941
942 * Released as 2.1.8.
943
944 * pci.ids: ID updates.
945
946 * lspci.c (show_verbose): Min/max latency is now printed in nanoseconds.
947
9482000-05-04 Martin Mares <mj@albireo.ucw.cz>
949
950 * lspci.c (show_verbose): If the header type doesn't match device
951 class, just print a warning and still use the header type, assuming
952 bogus class info.
953
10c90662
MM
9542000-05-01 Martin Mares <mj@albireo.ucw.cz>
955
72b9b690
MM
956 * lspci.c (show_pm): Updated according to PCI PM specs 1.1.
957
10c90662
MM
958 * pci.ids: Updated Contemporary Control ARCnet card entries.
959
960 * pci.ids: Synchronized class list with latest PCI SIG documents.
961
a239ade6
MM
9622000-04-29 Martin Mares <mj@albireo.ucw.cz>
963
964 * lib/names.c (pci_lookup_name): Fixed the cheat.
965
966 * lib/internal.h: Moved UNUSED/inline hacks above all other declarations.
967
968 * pci.ids: Various ID updates.
969
2c83b860
MM
9702000-04-21 Martin Mares <mj@albireo.ucw.cz>
971
972 * Released as 2.1.7.
973
974 * pciutils.spec: Added German description.
975
976 * lib/names.c (pci_lookup_name): Added a cheat for case that subsystem ID's
977 are the same as device ID and just output subsystem name according to
978 device name.
979
980 * lib/proc.c: Use UNUSED instead of __attribute__((unused)).
981
982 * lib/pci.h: Added the correct typedefs for AIX.
983
984 * lib/generic.c (pci_generic_scan_bus): Export.
985
986 * lib/configure: Detect AIX. Use "echo '...\c'" instead of
987 "echo -n" if the shell isn't bash.
988
989 * lspci.c: Avoid using alloca() if not compiled by GCC.
990 (insert_dev): Avoid returning a void value.
991
992 * Makefile: Choose which install utility to use according to
993 OS type. Also use `-o' instead of `-or' in find arguments.
994 Part of the AIX port.
995
996 * lib/aix-device.c: Added AIX low-level interface. Contributed
997 by Dave Johnson <ddj@brown.edu>, thanks a lot!
998
999 * pci.ids: Few new ID's.
1000
1001 * pciutils.h, lib/internal.h: Redefine __attribute__ and inline
1002 when not compiled by GCC.
1003
c1a828da
MM
10042000-04-17 Martin Mares <mj@albireo.ucw.cz>
1005
1006 * Released as 2.1.6.
1007
1008 * pci.ids: Added a large batch of ID's contributed by Gunther
1009 Mayer <gunther.mayer@braunschweig.netsurf.de> and synced the
1010 list with the 2.3.99pre6 kernel.
1011
e91dd3ab
MM
1012Thu Mar 9 13:11:39 2000 Martin Mares <mj@albireo.ucw.cz>
1013
a80b79a9
MM
1014 * lib/example.c: Added a simple example of how to use
1015 the library.
1016
89984232
MM
1017 * lspci.man, setpci.man: Revealed --version. Well spotted
1018 by Adam Sulmicki.
1019
e91dd3ab
MM
1020 * pci.ids: Added lots of new ID's and synced with 2.3.50.
1021
78d9c5e2
MM
1022Tue Feb 15 00:16:21 2000 Martin Mares <mj@albireo.ucw.cz>
1023
1024 * Released as 2.1.5.
1025
1026 * pciutils.spec: Updated spec file from Andreas Jaeger. Now using
1027 %{_mandir} to find the right location to install manual pages to.
1028
1029 * pci.ids: New ID's.
1030
1031 * setpci.c (main): Don't crash when `-s' or `-d' is given with
1032 no argument.
1033
f8141ae2
MM
1034Mon Jan 24 20:04:11 2000 Andreas Jaeger <aj@suse.de>
1035
1036 * lib/i386-ports.c: Include <asm/io.h> only on systems without
1037 glibc.
1038
1039Mon Jan 24 11:24:43 2000 Martin Mares <mj@albireo.ucw.cz>
1040
1041 * Makefile: Modified to work with the Linux FHS brain-damaged idea
1042 of putting man pages to /usr/share/man. Now we choose either /usr/man
1043 or /usr/share/man depending on which one exists.
1044
59e76e8b
MM
1045Sun Jan 23 10:52:34 2000 Martin Mares <mj@albireo.ucw.cz>
1046
1047 * pci.ids: Synced with Linux 2.3.40.
1048
1049 * Released as version 2.1.4.
1050
2dfd48cd
MM
1051Thu Jan 20 11:08:32 2000 Martin Mares <mj@albireo.ucw.cz>
1052
2715403f
MM
1053 * lspci.c (scan_device): Fixed bug in reading of cardbus extensions.
1054
81077814
MM
1055 * lib/proc.c: pread/pwrite fixed again, this time on libc5 :(
1056
1057 * lspci.c (format_agp_rate): Better formatting of AGP rates.
1058
1059 * pci.ids: New ID's.
1060
2dfd48cd
MM
1061 * lib/configure: Added configuration for ia64 (the same as for Alpha).
1062 Patch from Stephane Eranian <eranian@cello.hpl.hp.com>.
1063
5a258860
MM
1064Thu Jan 13 23:01:52 2000 Martin Mares <mj@albireo.ucw.cz>
1065
1066 * Released as version 2.1.3.
1067
1068 * pci.ids: New ID's.
1069
1070 * lspci.c: Alpha IO_FORMAT fix by Andrea Arcangeli.
1071
1072 * lib/access.c: Corrected order of access methods -- it's wonderful how
1073 long could such a bug remain unspotted. Thanks go to Andreas Schockenhoff.
1074
0c047bbe
MM
1075Sat Dec 11 23:34:48 1999 Martin Mares <mj@albireo.ucw.cz>
1076
1077 * Released as version 2.1.2.
1078
1079 * lib/names.c (pci_lookup_name): Fixed printing of unknown subsystem ID's.
1080
33bc28a5
MM
1081Sat Dec 4 13:11:03 1999 Martin Mares <mj@albireo.ucw.cz>
1082
39231205
MM
1083 * Released as version 2.1.1.
1084
33bc28a5
MM
1085 * pci.ids: Several new ID's.
1086
1087 * setpci.c (exec_op): Don't forget to increment address after writing
1088 single value, so that `30.b=12,34,56,78' works as expected. Reported
1089 by Petr Soucek <petr@ryston.cz>.
1090
8d047897
MM
1091Wed Nov 3 10:24:38 1999 Martin Mares <mj@albireo.ucw.cz>
1092
1093 * lspci.c (show_terse): If prog-if is zero, but it's present in the
1094 ID list, show it.
1095
6afc6538
MM
1096Sat Oct 30 11:06:35 1999 Martin Mares <mj@albireo.ucw.cz>
1097
1098 * Released as version 2.1.
1099
1100 * pci.ids: Synced to devlist.h in 2.3.24 kernel. Merged in
1101 lots of contributed entries.
1102
8f756113
MM
1103Thu Oct 14 10:40:12 1999 Dave Jones <dave@powertweak.com>
1104
1105 * pci.ids: Added lots of subsystem definitions.
1106
d4798a32
MM
1107Sat Oct 9 14:32:28 1999 Martin Mares <mj@albireo.ucw.cz>
1108
1109 * setpci.man: Better example.
1110
1111 * lspci.c: Resolve prog-if names.
1112
1113 * lib/names.c: Adapted to new pci.ids syntax.
1114
1115 * pci.ids: Reorganized the pci.ids file. Subsystems are listed
1116 under devices, classes can optionally contain prog-if information.
1117 New ID's, as usually.
1118
e306e911
MM
1119Wed Sep 22 09:45:24 1999 Martin Mares <mj@albireo.ucw.cz>
1120
1121 * pci.ids: New ID's. As usually.
1122
1123 * lspci.c (show_htype1, show_htype2): Don't show `closed' bridge windows
1124 unless we're vvvery verbose.
1125
1126Mon Sep 20 11:22:54 1999 Martin Mares <mj@albireo.ucw.cz>
1127
1128 * lspci.c (show_htype2): Don't forget a TAB before the "I/O window" line.
1129
e64a576c
MM
1130Tue Sep 14 09:31:01 1999 Martin Mares <mj@albireo.ucw.cz>
1131
1132 * pci.ids: New ID's. Again.
1133
c36c0862
MM
1134Thu Aug 5 17:45:42 1999 Martin Mares <mj@albireo.ucw.cz>
1135
1136 * lspci.c (show_size): Don't show size if it's zero (usually
1137 due to bus-centric mode being enabled).
1138
1ca42433
MM
1139Tue Jul 20 13:25:09 1999 Martin Mares <mj@albireo.ucw.cz>
1140
168b4f46
MM
1141 * lib/pci.h: Types are OS dependent.
1142
1143 * lib/internal.h: Byte order hacks are OS dependent.
1144
1145 * lib/configure: Recognize FreeBSD. Also set OS_XXX according to the OS.
1146
1147 * lib/Makefile, lib/access.c: Added fbsd-device target.
1148
1149 * pci.ids: Added an entry for PLX 9080 bridges with subsystem ID
1150 incorrectly set to device ID.
1151
1152 * README: Added a note that we support FreeBSD.
1153
1154 * Makefile (PREFIX, ROOT): Set it depending on the OS.
1155 (%.8): Grrr, BSD date is not able to convert date formats the same way
1156 as GNU date does. Use sed instead.
1157 (install): Use `-c' when calling install.
1158
1159 * lib/fbsd-device.c: Added FreeBSD /dev/pci access module contributed
1160 by Jari Kirma <kirma@cs.hut.fi>.
1161
bc6346df
MM
1162 * lib/proc.c: Rewrote the pread/pwrite things once again. Use pread
1163 and pwrite only when we are certain it's safe (i.e., glibc 2.1
1164 on all architectures or any libc on a i386 where we really know
1165 how to use syscalls directly). In all other cases, emulate it
1166 with lseek/read/write.
1167
1ca42433
MM
1168 * pci.ids: Some more IDs.
1169
1170Mon Jul 19 14:10:36 1999 Martin Mares <mj@albireo.ucw.cz>
1171
1172 * pci.ids: Added IDs of parallel port controller cards as sent
1173 by Tim Waugh <tim@cyberelk.demon.co.uk>.
1174
e95c8373
MM
1175Wed Jul 7 00:55:48 1999 Martin Mares <mj@albireo.ucw.cz>
1176
1177 * lib/proc.c (proc_scan): HAVE_LONG_ADDRESS instead of HAVE_64BIT_ADDRESS.
1178
1179 * lspci.c: ADDR_FORMAT now depends on both HAVE_64BIT_ADDRESS and
1180 HAVE_LONG_ADDRESS.
1181
1182 * lib/configure: HAVE_64BIT_ADDRESS now doesn't imply that the addresses
1183 are represented as long long. Introduced a new flag HAVE_LONG_ADDRESS
1184 to indicate this. Both Sparc architectures now use both 64BIT_ADDRESS
1185 and LONG_ADDRESS since they have 32-bit userland, but don't set LONG_ADDRESS
1186 on Alpha.
1187
1188 * lspci.c (show_msi): Added dumping of the MSI capability.
1189 (show_slotid): The same for SlotID capability.
1190 (show_caps): Seperated capability dumping, because it should
1191 be used for both htype0 and htype1. Even PCI 2.2 doesn't mention
1192 layout of htype2, so I'm a bit unsure about it wrt capabilities
1193 -- they at least have to live somewhere else since address 0x34
1194 is already defined differently in htype2.
1195
1196 * lib/header.h (PCI_STATUS_UDF): Marked as obsolete (PCI 2.2).
1197 (PCI_BASE_ADDRESS_MEM_TYPE_1M): Ditto.
1198 (PCI_CAP_ID_*): Added some new capabilities defined in PCI 2.2.
1199
1200 * lspci.c (show_htype0): Mask out lowest 2 bits from all capability pointers
1201 (required by the PCI 2.2 specs).
1202
1203Mon Jul 5 12:45:19 1999 Martin Mares <mj@albireo.ucw.cz>
1204
1205 * lspci.c (show_size): Added new function for dumping of region sizes.
1206 (show_rom): Added. Now correctly dumps unassigned ROM addresses, disabled
1207 ROMs et cetera.
1208
1209 * lib/pci.h (struct pci_dev): known_fields moved to the public part
1210 of the structure.
1211
1212 * Added support for region sizes. Needs support in the kernel, because
1213 sizes have to be scanned before drivers initialize yourself. pci_fill_info()
1214 now returns a bitmask of what fields were really read.
1215
82ce97c9
MM
1216Mon Jun 28 18:37:51 1999 Dave Jones <dave@powertweak.com>
1217
1218 * Makefile:
1219 Added `uninstall' target - removes all traces of pciutils.
1220 * pci.ids:
1221 - Lots of cleanups in the ATI, S3, Adaptec vendors.
1222 - Changed Compaq QVision 1280/p definitions, as it's not possible
1223 to determine the revision from the device ID.
1224 - Same for the Tseng ET4000.
1225 The id's said I had a rev C, when it was actually a rev B.
1226 - Removed some unnecessary strings
1227 `PCI'. Unless it's an AGP card, it should be obvious that it's PCI.
1228 `Ethernet card'. This should be determined from config space.
1229 - Lots of other new vendors & devices
1230 - Other additional small cleanups.
1231
7bed2d83
MM
1232Mon Jun 21 22:11:10 1999 Martin Mares <mj@albireo.ucw.cz>
1233
1234 * lib/names.c (pci_lookup_name): When device ID lookup
1235 fails, return hexadecimal device ID instead of vendor ID.
1236 Well spotted by Axel Bodemann <Axel.Bodemann@ruhr-uni-bochum.de>,
1237 I've just extended the fix to subsystem ID's.
1238
5ba3a475
MM
1239Thu Jun 17 19:48:21 1999 Martin Mares <mj@albireo.ucw.cz>
1240
1241 * lspci.c (show_agp): Bug fix from Petr Vandrovec
1242 <vandrove@vc.cvut.cz>. The command register was displayed
1243 incorrectly.
1244
1245Wed Jun 2 22:42:44 1999 Martin Mares <mj@albireo.ucw.cz>
1246
1247 * lib/proc.c (SYS_pread, SYS_pwrite): Use hard-coded
1248 numbers if not supplied by the libc.
1249
55c815b5
MM
1250Wed May 19 13:24:39 1999 Martin Mares <mj@albireo.ucw.cz>
1251
1252 * Released the whole package as version 2.0.
1253
1254Fri May 14 22:42:02 1999 Martin Mares <mj@albireo.ucw.cz>
1255
1256 * pci.ids: Added several new ID's contributed by people
1257 on the linux-pci list.
1258
dec16943
MM
1259Mon Apr 19 15:21:08 1999 Jakub Jelinek <jj@ultra.linux.cz>
1260
1261 * lspci.c: Display I/O addresses correctly on sparc64.
1262 * lib/header.h: Ditto.
1263
1264 * lib/configure: On sparc set HAVE_64BIT* as well, we want
1265 a binary which works on both 32bit and 64bit SPARCs.
1266
e33c9c7a
MM
1267Sun Apr 18 21:14:58 1999 Martin Mares <mj@albireo.ucw.cz>
1268
1269 * lspci.c, lib/proc.c: Alpha compilation fixes from Matthew Jacob
1270 <mjacob@feral.com>.
1271
1272 * pci.ids: A lot of updates from Adam J. Richter <adam@yggdrasil.com>.
1273
f3395cc5
MM
1274Sun Feb 28 22:26:21 1999 Martin Mares <mj@albireo.ucw.cz>
1275
1276 * lspci.c (do_map_bus): Don't dump functions 1--7 if not flagged
1277 as a multi-function device, because several single-function devices
1278 don't decode the function bits at all.
1279
1280Sun Feb 14 23:48:22 1999 Martin Mares <mj@albireo.ucw.cz>
1281
1282 * Makefile (install): Don't use "-o root -g root" for installation
1283 since it breaks on machines where programs are not installed by root.
1284 Reported by Richard Gooch <rgooch@atnf.csiro.au>
1285
1286Tue Feb 9 15:54:39 1999 Martin Mares <mj@albireo.ucw.cz>
1287
1288 * lspci.c (show_bases): Use new address masking macros and pciaddr_t.
1289
1290 * lib/pci.h: Using pciaddr_t for bus addresses, which are 32-bit
1291 or 64-bit depending on CPU.
1292
1293 * lib/pci.h (PCI_ADDR_MEM_MASK): Added macros for address masks
1294 according to bus address width.
1295
1c31d620
MM
1296Thu Jan 28 20:54:16 1999 Martin Mares <mj@albireo.ucw.cz>
1297
1298 * Released as 1.99.4.
1299
1300 * lspci.c: Capability list parser now recognizes both AGP
1301 registers and PCI Power Management registers (the latter
1302 is mainly guesswork based on DEC/Intel 21153 bridge specs
1303 since I don't have the PCI Power Management document).
1304
1305 * lspci.c: Replaced numerous occurences of (x & flag) ? '+' : '-'
1306 by FLAG macro.
1307
1308 * lspci.c: Added bridge checks to bus mapping code.
1309
1812a795
MM
1310Wed Jan 27 14:59:16 1999 Martin Mares <mj@albireo.ucw.cz>
1311
1312 * lspci.c: Implemented bus mapping mode (-M).
1313
1314 * lspci.c (scan_devices): Split to scan_devices() and scan_device().
1315 (show): Split to show() and show_device().
1316
1317 * lib/access.c (pci_init): When a->method == PCI_ACCESS_AUTO,
1318 set it to the real access method afterwards.
1319
1320Mon Jan 25 23:46:13 1999 Martin Mares <mj@albireo.ucw.cz>
1321
1322 * lib/generic.c (pci_generic_fill_info): If in buscentric mode,
1323 don't check PCI_COMMAND for I/O and memory enables.
1324
f6c86928
MM
1325Mon Jan 25 21:28:49 1999 Martin Mares <mj@albireo.ucw.cz>
1326
1327 * Makefile: Added target `release' which substitutes new version
1328 number to .spec, .lsm and README. Also rewrote target `dist'.
1329
1330 * Released as 1.99.3.
1331
b5137411
MM
1332Sun Jan 24 22:10:36 1999 Martin Mares <mj@albireo.ucw.cz>
1333
d6b297d0
MM
1334 * lib/header.h: Until kernel adopts new layout of PCI
1335 includes (i.e., separate declaration of header structure,
1336 functions and device IDs), which is not going to happen
1337 before 2.3, we'll use our own definiton of the header.
1338
b5137411
MM
1339 * lspci.c (show_verbose): Display `Cap' flag in device status.
1340
1341 * lspci.c (show_htype0): Display capability lists whereever
1342 available. The only capability name we recognize now is `AGP'.
1343 Unfortunately, capabilities are stored in device-dependent
1344 portion of the configuration space and are thus available
1345 only to root unless you read a dump.
1346
1347 * lspci.c (scan_devices): Use cache instead of buffering.
1348
1349 * lib/buffer.c: Removed (obsoleted by the cache).
1350
1351 * lib/access.c: Added general caching mechanism.
1352
81ce358d
MM
1353Sat Jan 23 21:30:54 1999 Martin Mares <mj@albireo.ucw.cz>
1354
1355 * pci.ids: Added few devices.
1356
727ce158
MM
1357Fri Jan 22 19:29:31 1999 Martin Mares <mj@albireo.ucw.cz>
1358
1359 * Version string is now defined in top-level Makefile, exported
1360 to the configure script and also substituted to man pages.
1361
1362 * lspci.c (show_bases): Rewrote displaying of 64-bit addresses.
1363 (show_verbose): Rewrote interrupt display logic.
1364
1365 * lib/i386-ports.c: Include sys/io.h only on glibc systems.
1366
1367 * lib/configure: Rewrote detection of Linux versions. Now it
1368 works on 2.0 kernels (only with direct/dump access, of course).
1369
1370 * lib/internal.h: New bytesex macros using <asm/byteorder.h>
1371 whenever available.
1372
1373 * lib/proc.c (proc_read, proc_write): Distinguish between short
1374 read/write and real errors.
1375
1376 * lspci.c (show_htype{0,1}): Always use d->dev->rom_base_addr since
1377 libpci respects buscentric mode automatically.
1378
1379 * lspci.c (show_hex_dump): For CardBus bridges, print out 128
1380 bytes of header (the whole standard part).
1381
1382 * common.c: pcilib options are now all uppercase. Also moved
1383 PCI access debugging option here.
1384
1385 * Released as 1.99.2.
1386
1387Wed Jan 20 22:50:35 1999 Martin Mares <mj@albireo.ucw.cz>
1388
1389 * Wrote configure script and rewrote Makefiles.
1390
1391 * Removed few unused variables.
1392
1393Wed Jan 20 12:21:56 1999 Martin Mares <mj@albireo.ucw.cz>
1394
1395 * common.c: Moved several functions used in both setpci and lspci
1396 here. This includes parsing of libpci-related options.
1397
1398 * More library tweaks.
1399
1400 * filter.c, names.c: Moved to library.
1401
1402 * setpci: Rewritten to use the library.
1403
1404 * Released as 1.99.1.
1405
1406Tue Jan 19 23:00:12 1999 Martin Mares <mj@albireo.ucw.cz>
1407
1408 * lspci.c (scan_devices): For cardbus bridges, read first 128
1409 bytes of config space to get full standard header.
1410
1411 * Makefile (CFLAGS): Removed "-Wno-unused".
1412
1413 * Started the "New Generation" branch and introduced the
1414 PCI library.
94db5c82 1415
727ce158
MM
1416 * lspci: Rewritten to use the library.
1417
6ece6bc6
MM
1418Tue Jan 19 22:24:08 1999 Martin Mares <mj@albireo.ucw.cz>
1419
1420 * Released as version 1.10.
1421
1422Mon Jan 18 08:51:17 1999 Martin Mares <mj@albireo.ucw.cz>
1423
1424 * lspci.8, setpci.8: Miscellaneous fixes as suggested by
1425 Dag Wieers <dag@digibel.be>.
1426
1212dd6d
MM
1427Sun Nov 29 20:05:56 1998 Martin Mares <mj@albireo.ucw.cz>
1428
1429 * pciutils.spec (Name): Update from Krzysztof G. Baranowski.
1430
d38471fd
MM
1431Sun Nov 22 10:49:56 1998 Martin Mares <mj@albireo.ucw.cz>
1432
1433 * Makefile, pciutils.h: Moved pci.ids to /usr/share.
1434
1435 * Released as version 1.09.
1436
371f605b
MM
1437Wed Nov 18 15:47:05 1998 Martin Mares <mj@albireo.ucw.cz>
1438
1439 * lspci.c (show_htype1): Fixed displaying of prefetchable memory behind
1440 bridge. Thanks to Petr Vandrovec <vandrove@vc.cvut.cz> for bug report.
1441
10be47ab
MM
1442Fri Oct 23 18:59:19 1998 Martin Mares <mj@albireo.ucw.cz>
1443
1444 * setpci.c: Don't include <syscall-list.h> with glibc >= 2.1.
1445
472bd340
MM
1446Mon Oct 19 21:53:30 1998 Martin Mares <mj@albireo.ucw.cz>
1447
1448 * Released as version 1.08.
1449
1450 * setpci.c: glibc 2.1.x already defines pread() and pwrite().
1451
1452 * lspci.8: Changed warning about lspci -xxx.
1453
1454 * lspci.c: Require "-xxx" for full configuration space dump, so that
1455 it's impossible to crash the machine by single typo.
1456
1457 * specs: Added (courtesy of Krzysztof G. Baranowski <kgb@knm.org.pl>).
1458
072c77e5
MM
1459Wed Sep 9 12:03:24 1998 Martin Mares <mj@albireo.ucw.cz>
1460
1461 * lspci.c (show_bases): Better displaying of unassigned and
1462 disabled bases. Thanks to Gabriel Paubert <paubert@iram.es>
1463 for an idea.
1464
b7554856
MM
1465Wed Sep 2 10:58:01 1998 Martin Mares <mj@albireo.ucw.cz>
1466
1467 * setpci.c (pread): Recognize glibc 1.99 numbered as 2.0 on the PPC.
1468 (thanks to Geert Uytterhoeven for finding this out)
1469
ce503b7f
MM
1470Fri Jul 17 10:43:30 1998 Martin Mares <mj@albireo.ucw.cz>
1471
1472 * lspci.c (show_verbose): Print subsystem ID using the new resolver.
1473 (show_machine): Print subsystem ID.
1474
1475 * names.c: New name resolution engine supporting subsystem IDs.
1476
1477 * Released as version 1.07.
1478
96e4f295
MM
1479Wed Jul 15 15:37:21 1998 Martin Mares <mj@albireo.ucw.cz>
1480
1481 * lspci.c (show_htype2 etc.): Displaying of CardBus headers.
1482 (show_bases): Honor the `cnt' argument.
1483 (grow_tree): Parse CardBus headers in tree mode as well.
1484
1485 * pci.h: Updated CardBus header field description. I still don't
1486 have the CardBus standard available, but OZ6832 specs contain
1487 full description of all header fields supported by the chip.
1488
6ae3650a
MM
1489Tue Jun 9 22:53:59 1998 Martin Mares <mj@albireo.ucw.cz>
1490
304f9a0b
MM
1491 * Released as 1.06.
1492
6ae3650a
MM
1493 * names.c (parse_name_list): Killed an unused variable.
1494
1495 * setpci.c (pread, pwrite): Define SYS_(pread|pwrite) as __NR_\1
1496 if they are not defined by glibc (needed for glibc built on older
1497 kernels). Ugly.
1498
1499 * setpci.c (exec_op): Fixed error messages. Thanks, Steve!
1500
4b88a6b8
MM
1501Mon Jun 8 10:59:22 1998 Martin Mares <mj@albireo.ucw.cz>
1502
1503 * Released as 1.05.
1504
1505 * setpci.c: Problems with pread()/pwrite() with glibc on Alpha
1506 should be gone. Again thanks to Steve for bug report.
1507
1508 * filter.c (filter_parse_slot): Fixed ":x" type filters.
1509
1510 * pci.ids: Killed duplicate entry. Thanks to Stephen Williams
1511 <steve@icarus.com> for reporting this.
1512
1513Sun Jun 7 19:27:51 1998 Martin Mares <mj@albireo.ucw.cz>
1514
1515 * lspci.c (main), setpci.c (main): Implemented "--version".
1516
1517 * Released as 1.04.
1518
1519 * pciutils.h (PCIUTILS_VERSION): Added version string.
1520
1521 * filter.c, names.c: Extraneous #include <linux/pci.h> removed.
1522 Thanks to Geert Uytterhoeven <Geert.Uytterhoeven@cs.kuleuven.ac.be>
1523 for bug report.
1524
9b306998
MM
1525Thu May 28 14:45:58 1998 Martin Mares <mj@lomikel.karlin.mff.cuni.cz>
1526
1527 * pci.ids: More updates from Jens Maurer.
1528
b372672f
MM
1529Wed Apr 22 10:00:39 1998 Martin Mares <mj@albireo.ucw.cz>
1530
1531 * pci.ids: Updates from Jens Maurer.
1532
b2c9b373
MM
1533Sun Apr 19 11:14:25 1998 Martin Mares <mj@albireo.ucw.cz>
1534
b372672f
MM
1535 * Released as 1.03.
1536
b2c9b373
MM
1537 * setpci.8: Written.
1538
1539 * setpci.c: Finished.
1540
1541 * lspci.c: Now able to fetch expansion ROM base from kernel device list
1542 and print it if not in buscentric mode.
1543
e4842ff3
MM
1544Tue Mar 31 23:11:57 1998 Martin Mares <mj@albireo.ucw.cz>
1545
1546 * setpci.c: Added.
1547
1548Sun Mar 22 15:39:08 1998 Martin Mares <mj@albireo.ucw.cz>
1549
1550 * lspci.8: Updated the documentation.
1551
1552 * lspci.c: Modified to use the new filtering mechanism (options -f and -d).
1553
1554 * filter.c: Introduced new generic device filter.
1555
008407bd
MM
1556Thu Mar 19 17:03:48 1998 Martin Mares <mj@lomikel.karlin.mff.cuni.cz>
1557
1558 * lspci.c (grow_tree, show_tree_dev, print_it): Fixed displaying
1559 of PCI-to-PCI bridges in the tree format.
1560
0a33d0ec
MM
1561Sun Feb 15 10:12:25 1998 Martin Mares <mj@albireo.ucw.cz>
1562
1563 * lspci.c (show_machine): Added non-verbose mode of machine-readable
1564 dump.
1565
1566 * pci.ids: Updates from Jens Maurer.
1567
1568 * Released as version 1.02.
1569
1570Thu Feb 12 16:53:28 1998 Martin Mares <mj@lomikel.karlin.mff.cuni.cz>
1571
1572 * lspci.c: Added a "-m" switch for dumping machine-readable
1573 configuration data (requested by Bjoern Kriews <bkr@cut.de>).
1574
fb38eee8
MM
1575Mon Feb 9 13:17:43 1998 Martin Mares <mj@albireo.ucw.cz>
1576
1577 * Makefile, pciutils.h: Include local pci.h instead of <linux/pci.h>
1578 if available. This should avoid all problems with official kernel
1579 not synchronized to newer PCI code in CVS -- standard distribution
1580 of pciutils now contains pci.h from current CVS kernel, pciutils
1581 in CVS contain no pci.h and use the correct kernel include.
1582
1583 * Makefile: Fixed installation path for man pages.
1584
2f48f637
MM
1585Sat Feb 7 15:15:46 1998 Martin Mares <mj@albireo.ucw.cz>
1586
1587 * README: Updated.
1588
1589 * lspci.8: Created a man page.
1590
1591 * Releasing as version 1.0.
1592
1593Tue Feb 3 20:56:00 1998 Martin Mares <mj@albireo.ucw.cz>
1594
1595 * Makefile: Recognize architecture by calling uname and pass it as ARCH_xxx
1596 to all the C sources. This should eliminate problems with 32-bit compilers
1597 on sparc64.
1598
1599 * lspci.c (show_verbose): Recognize CardBus bridge header type.
1600 (show_htype2): Stub routine.
1601 (scan_config): Write sensible error message if the kernel denies reading of
1602 upper part of the PCI config space.