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