-
Notifications
You must be signed in to change notification settings - Fork 5
/
ChangeLog
1916 lines (1188 loc) · 61.7 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2011-10-02 Martin Mares <[email protected]>
* Released as 3.1.8.
* More capabilities: Transaction Processing Hints, Latency Tolerance
Reporting. Thanks to Jesse Barnes.
* Added BeOS and Haiku ports. Contributed by Francois Revol.
* pciutils.pc now uses Libs.private properly.
* When we format a name and it does not fit in the buffer, we truncate
it instead of returning "buffer too small" instead. This works on all
platforms with sane (i.e., C99-compatible) snprintf().
* Various minor bug fixes.
* Updated pci.ids to the today's snapshot of the database.
2010-01-31 Martin Mares <[email protected]>
* Released as 3.1.7.
* Minor improvements and bug fixes in decoding of the Virtual Channel
capability.
2010-01-24 Martin Mares <[email protected]>
* Released as 3.1.6.
* More capabilities decoded: Virtual Channel (except arbitration
tables), Root Complex Link, Vendor-Specific (header only), SATA HBA.
* All extended capabilities have their version displayed (-vv or more).
2010-01-19 Martin Mares <[email protected]>
* Released as 3.1.5.
* Updated pci.ids to the today's snapshot of the database.
* When scanning extended capabilities, properly mask the lowest 2 bits,
which are currently reserved. This avoids unaligned access errors on
broken hardware (see tests/broken-ecaps).
* Large bar sizes are displayed in human-readable format (with units).
Thanks to Matthew Wilcox.
* Physical slot information is displayed correctly for multi-function cards.
Fixed by Matthew Wilcox.
* Fixed a couple of typos everywhere.
* Library: Fixed bugs in freeing of capabilities.
* Windows back-end compiles again.
2009-08-14 Martin Mares <[email protected]>
* Released as 3.1.4.
(sorry that I have missed 22/7 and released it later :-))
* Updated pci.ids to the today's snapshot of the database.
* Fixed memory and file descriptor leak in the dump back-end.
* The SR-IOV capability decoder now prints the VF BAR's.
Patch by Chris Wright, cleaned up by me.
* On request of certain company's lawyers, we now include a copy
of the GPL with our package. It seems that the pciutils are getting
mature if the most important bug of the month was this one ;-)
2009-07-04 Martin Mares <[email protected]>
* Released as 3.1.3.
* Updated pci.ids to the current snapshot of the database.
* The VPD parser now reports unknown and vendor-defined items
properly. It also stops on any item in unknown format, avoiding long
output on bogus VPD data. Thanks to Ben Hutchings and Matthew Wilcox.
* The MSI-X table size now matches the spec. Thanks to Michael S.
Tsirkin.
* The Power Management capability now includes the soft reset bit.
Thanks to Yu Zhao.
* Decoding of the Advanced Features capability has been added.
Thanks to Yu Zhao.
* The whole package compiles on GNU/kFreeBSD again.
The following patches have been contributed by Matthew Wilcox:
* The procfs back-end is able to cope with /proc/bus/pci
containing names with domains, which occur on sparc64 and
possibly other architectures due to a kernel bug.
* The sysfs back-end no longer complains when a slot address
is missing, which happens with old versions of Linux fakephp.
* The Device Serial Number capability is printed in the right
byte order.
* The MSI and MSI-X capabilities are printed in a prettier way.
* The tree output mode (`lspci -t') shows domain numbers only
at the root, which makes the output more compact.
* Updated documentation on the bus mapping mode (`lspci -M').
2009-02-01 Martin Mares <[email protected]>
* Released as 3.1.2.
* Fixed another silly bug in the command-line parser of setpci.
2009-01-30 Martin Mares <[email protected]>
* Released as 3.1.1.
* Updated pci.ids to the current snapshot of the database.
* The configure script now sets LC_ALL to avoid being fooled by
locale-dependent behavior of `tr'.
* The command-line parser of setpci did sometimes segfault on invalid
input. Thanks to Andreas Wiese for a fix.
2009-01-18 Martin Mares <[email protected]>
* Released as 3.1.0.
* Updated pci.ids to the current snapshot of the database.
* The Cygwin backend now works on Windows Vista. Thanks to Jonathan
Kotta.
* Fixed a bug in decoding of the SR-IOV capability. Patch by Yu Zhao.
* Details of some PCIe capabilities are displayed only with -vv.
* When a BAR is reported by the OS, but not by the device (i.e.,
it is marked as [virtual] in lspci), the [disabled] flag is
suppressed, because it does not make sense in such cases.
Patch by Yu Zhao.
2008-12-13 Martin Mares <[email protected]>
* The source code of lspci has been split to multiple files, hopefully
making it easier to maintain.
* The library and lspci now know about physical slot names. So far,
they are provided by the sysfs back-end only. Thanks go to Alex Chiang.
* When a device has the VPD (Vital Product Data) capability and the
VPD data are supplied by the OS, they are decoded and printed in the
verbose mode. This currently works only on Linux with the sysfs
back-end. Thanks to Ben Hutchings of Solarflare for the patch.
* `setpci --version' now works properly.
* `setpci --dumpregs' prints a table of all known names of
registers and capabilities. This replaces the table of registers
in the setpci man page.
* The dry-run mode of setpci gives better feedback.
* The setpci utility is now able to address registers stored in PCI
capabilities (actually it allows a more general form of relative
addressing).
* The library has gained functions for working with PCI capabilities.
* Address Translation Services capability is now decoded. Patch by
Yu Zhao.
2008-11-09 Martin Mares <[email protected]>
* Released as 3.0.3.
* `lspci -k' now displays the subsystem ID, too. This makes `-k'
show everything needed to identify the device and the available
drivers, which was called for by many users.
* Fixed spelling of MSI. Patch by Matthew Wilcox.
* Better support for cross-compilation. Thanks to Alon Bar-Lev
for the patch.
* Fixed printing of the AER capability. Patch by Max Asbock.
* HT 1.02 capabilities are decoded as HT 1.03. Suggested by
Carl-Daniel Hailfinger.
* Fixed Cygwin build. Thanks to Steve Elliott for reporting the bug.
* Updated pci.ids to the current snapshot of the database.
2008-09-19 Martin Mares <[email protected]>
* Released as 3.0.2.
* Fixed a minor bug in the configure script, which caused warnings
about redefinition of symbols during compilation.
2008-09-11 Martin Mares <[email protected]>
* Released as 3.0.1.
* Updated pci.ids to the most recent snapshot.
* Added a Cygwin port. Patch by Christopher Voltz, ported to the
current tree by Martin Mares.
* Worked around compatibility problems with various default settings
of wget (we have to set --no-timestamping explicitly). Thanks to Ville
Skytta for pointing that out.
* Fixed printing of MSI capabilities. Thanks to Matthew Wilcox for
a patch.
* Added decoding of several PCI-X capabilities: device/link/slot 2,
Advanced Error Reporting, Access Control Services, Alternative Routing-ID,
Single Root I/O Virtualization. Thanks to Yu Zhao for patches.
* Fixed bug in filters which caused them to refuse vendor/device ID 0xffff.
* README: The linux-pci mailing list has moved to [email protected].
* Fixed several build problems: builds without PCI_USE_DNS on Linux
and with PCI_USE_DNS on Solaris and *BSD. Static library mode also
compiles again on old versions of GCC.
2008-04-10 Martin Mares <[email protected]>
* Released as 3.0.0.
* Updated API and ABI version.
2008-02-20 Martin Mares <[email protected]>
* Released as 2.99.1-alpha2.
* Changed the default domain for the DNS resolver.
2008-02-18 Martin Mares <[email protected]>
* Released as 2.99.1-alpha1.
* The makefile system has been reworked. All configuration settings
are now passed to the configure script in environment variables,
allowing for easy tweaking in the top-level Makefile. All control
knobs are now described in the README.
* The libpci can be built as a shared library with properly restricted
symbol exports. Use `make SHARED=yes' to enable that or `make SHARED=local'
for a local testing build (with hardwired paths to the library, so that
it does not need installation).
* The example program has been moved from lib/example.c to the top-level
directory, because it should be built exactly as the other utilities
are. It has been also improved slightly to educate better.
* The i386-ports method is enabled on Linux/x86_64 as well.
2008-02-13 Martin Mares <[email protected]>
* Released as 2.2.10-net2.
* Support for resolving of PCI ID's using DNS together with a local
cache of resolved entries has been added. See the `-q' and `-Q' options
of lspci.
* The library now has a generic system of settable parameters, which
also include settings of the DNS resolver and cache. An `-O' option
has been added to lspci and setpci to allow setting of these options.
* Configuration of the access methods are now specified by the new
parameter system, replacing the pci_access->method_params array.
* Access methods now also have sensible names and help texts and it
is possible to look up method ID by a name.
* An `-A' switch has been added to both lspci and setpci, allowing to
select an arbitrary access method. The `-P' switch (configure proc
backend) has been removed as it is no longer needed and I do not know
any its user.
* Several source files have been split for better maintainability
(most notably the resolving of ID's).
* Man pages and help texts have been updated. A new man page `pcilib(7)'
has been added and description of library options has been moved there.
* When an unknown device ID is encountered, we print `Device <id>'
instead of `Unknown device <id>'. It uses less space and it also
should reduce the number of inexperienced users complaining that
the device is not supported by the OS. To lookup up OS drivers,
use the `-k' option.
* PCI_LIB_VERSION has been bumped to 0x020299.
* Makefile: stripping of the binaries during installation can be
overridden by the STRIP variable.
* lib/types.h: We use the integer types from <stdint.h> if the
compiler claims C99 support.
2008-02-11 Martin Mares <[email protected]>
* Released as 2.2.10.
* lspci.c, setpci.c: Cleaned up the list of options.
* lib/names.c: Fix displaying of errors reported by zlib.
Previously, the buffer containing the error message had
been deallocated by gzclose() before the message was printed.
2008-01-07 Martin Mares <[email protected]>
* update-pciids.sh: Added quiet mode (-q). Clean up uncompressed
files left by previous versions of the pciutils. Patch by Mike
Frysinger.
* update-pciids.man: Mention the -q switch.
2007-11-29 Martin Mares <[email protected]>
* lib/dump.c: Squashed compiler warnings about code with
no effect (there really were surplus *'s).
2007-11-06 Martin Mares <[email protected]>
* Released as 2.2.9.
* lspci.c: Added a new switch `-k' which requests printing
of information on kernel drivers attached to each device
and on kernel modules reporting the ability to handle the
device. So far, this is supported only on Linux with the
sysfs back-end, so it is implemented internally in the lspci
instead of the libpci. Thanks to Anicka <[email protected]>
for help.
2007-10-19 Martin Mares <[email protected]>
* Makefile, lib/Makefile: Moved -lz from LDFLAGS to LDLIBS.
Also added an explicit pattern rule for linking to make sure
that LDLIBS is used on all platforms. Thanks to Dan Nicholson
for the suggestion.
2007-10-19 Martin Mares <[email protected]>
* Released as 2.2.8.
* pci.ids: Revised class codes to match Conventional PCI 3.0 specs.
Added a couple of new ones, renumbered `ADMA continuous operation'
prog-if to 0x30 (even the old SATA Class Code ECN doesn't mention
0x40) and renumbered the satellite communication controllers.
* lib/header.h: Include `PCI hot-plug' and `Secure device'
capabilities from PCI 3.0 specs. Also added `SATA HBA' and
`Advanced features' caps from various ECN's.
* lspci.c: All known capabilities have at least their name displayed
now. When we are unable to decode them completely, we signalize it
with a `<?>' mark.
* lspci.man: Document `<?>' and also mention that extended config
space is currently available only with the linux_sysfs back-end.
* lspci.c: Decode the Debug port capability (per EHCI 0.96 spec).
* lspci.c: Big code cleanup: re-arranged functions in the code,
renamed everything related to capabilities to cap_* and
all options except verbose to opt_*.
2007-10-14 Martin Mares <[email protected]>
* lib/[fno]bsd-*: Removed extraneous braces.
2007-10-12 Martin Mares <[email protected]>
* Capability loop detection introduced 2.2.7 did not work
properly with extended capabilities. Fixed.
2007-10-05 Martin Mares <[email protected]>
* Released as 2.2.7.
* lspci.c (show_caps, show_ext_caps): Detect and report loops in
capability lists.
* lspci.c, lib/header.h: Finished decoding of the PCI Express
capability. The extended capabilities remain undecoded for now,
but at least the list of them has been updated to reflect the
current PCI Express 2.0 spec.
* lspci.c, lib/header.h: Decode new bits of traditional registers
as defined by PCIE / PCI-X. This includes discard timers in the bridge
control register and INTx enable/status in device control/status
registers.
* lib/fbsd-device.c: Support domains on new FreeBSD's. Contributed
by Marius Strobl.
2007-09-12 Hasso Tepper <[email protected]>
* Extended the fbsd-device backend to run on Dragonfly BSD.
* lspci.c: alloca() is declared in <stdlib.h> on BSD's, not <alloca.h>.
2007-09-03 Martin Mares <[email protected]>
* Resurrected the Windows port, including cross-compilation by MinGW.
Patch by Samuel Bronson <[email protected]>.
2007-08-31 Martin Mares <[email protected]>
* Makefile, lib/Makefile: `ar' and `ranlib' can be overriden to allow
cross-compilation.
2007-08-27 Martin Mares <[email protected]>
* Very experimental resolving of PCI ID's using DNS.
* Makefile: Added an "install-lib" target. Thanks to Dan Nicholson
for a patch.
* Makefile, lib/Makefile: Generate and install pkg-config file
for libpci. Again by Dan Nicholson.
2007-06-20 Thomas Schwinge <[email protected]>
* lib/i386-io-hurd.h: Rewritten for new Hurd kernels.
2007-05-04 Martin Mares <[email protected]>
* Released as 2.2.5.
* pci.ids: Updated to the current snapshot of the database.
2007-02-14 Martin Mares <[email protected]>
* lspci.c (show_express): Added PCI/PCI-X to PCI-Express Bridge type.
Patch by Mark Glines.
>>>>>>> 7cebe48... Released pciutils-2.2.6.
2007-02-09 Martin Mares <[email protected]>
* pci.ids: Updated to the current snapshot of the database.
2007-02-06 Martin Mares <[email protected]>
* Replaced bzero() by memset() everywhere, it's better to lose a tiny
bit of readability than maintain hacks to make it work on various systems.
* lib/configure: tr on Solaris is a bit weird and it requires `[A-Z]'
instead of `A-Z'. Fortunately, the extra brackets don't hurt otherwise.
* lib/types.h, lib/configure: Solaris should use <stdint.h> to get precise
integer types.
2007-02-04 Martin Mares <[email protected]>
* lspci.c: alloca() needs <alloca.h>.
2006-09-17 Martin Mares <[email protected]>
* lib/dump.c: Fixed a couple of bugs in the dump backend which caused
devices with domains or with extended config space to be read incorrectly.
Also, dumps with partial lines are allowed now.
2006-09-10 Martin Mares <[email protected]>
* pci.ids: Updated to the current database snapshot.
* lspci.c (scan_device): If an error occurs when reading the standard config
header of a device, report it and ignore the device and return with exit
code 2 at the end.
2006-09-09 Martin Mares <[email protected]>
* Released as 2.2.4.
* maint/release: Remind the maintainer about the current PCI_LIB_VERSION.
* lib/pci.h: Updated PCI_LIB_VERSION.
* lspci.c (show_machine): In the `-m' mode, do proper shell escaping
if the fields printed contain quotes or backslashes.
* lspci.c (show_machine): Added a `-vmm' mode, which removes the misuse
of the `Device' tag for two different purposes.
* Makefile: Moved all system-dependent decisions to lib/configure,
since config.mk is included in the top-level Makefile anyway.
* lib/configure: When configuring for Linux, ignore the kernel version
and always build all access methods.
* Makefile (CFLAGS): Removed -Winline, it's not needed and triggers
at many non-interesting places with gcc 3.4.
* Whitespace cleanup of all source files.
* The pci.ids file can be stored compressed if zlib is available.
Added transparent decompression to lib/names.c, modified update-pciids.sh
to keep the file compressed if applicable, updated Makefiles.
Based on a patch by Matthew Wilcox, but all the bugs are mine.
* Makefile, README: Allow installation to be done to a different directory
from the one we will eventually be placed in by setting DESTDIR.
Patch by Matthew Wilcox.
* Added .gitignore files.
* Makefile (clean): Clean *.orig, too.
* Cleaned up usage of `char' and `byte'.
* lib/header.h: PCI_CLASS_DOCKING_OTHER should be 0x0a80, not 0x0a01.
* lib/header.h: Added PCI_CLASS_xxx constants for all classes currently
defined in the pci.ids file.
2006-08-01 Martin Mares <[email protected]>
* lib/i386-io-hurd.h: Fixed a silly typo.
2006-07-30 Martin Mares <[email protected]>
* lib/Makefile: Added a missing rule for obsd-device.o.
* lspci.c, lib/header.h: Added support for MSI per-vector masking.
Contributed by Petr Vandrovec.
* lspci.c, lib/header.h: Added support for the `bridge subsystem ID'
capability. Contributed by Petr Vandrovec.
* lspci.c (show_htype1): Fixed bug in printing of 64-bit prefetchable
memory windows. Fix by Petr Vandrovec.
* maint/release.pm: Exclude .git directory from releases.
* lib/i386-ports.c, lib/i386-io-*: Report failures during port access
initialization by a->warn() instead of calling printf() or perror()
directly.
* lib/i386-ports.c, lib/i386-io-*: Moved the logic which keeps track of
the port access state to generic code.
* lib/i386-io-hurd.h: Ask the kernel for I/O port access appropriately.
Contributed by Thomas Schwinge and Samuel Thibault.
* lib/i386-ports.c: Define _GNU_SOURCE, it's needed by the Hurd module.
* lib/header.h: Whitespace cleanups.
* lib/i386-io-windows.h: Fixed indentation and spelling.
* README.Windows: Mention that WinIO.dll is needed and where to get it.
2006-06-27 Martin Mares <[email protected]>
* lib/Makefile, Makefile: Added rules for building and cleaning the example.
* lib/example.c: Show how to use PCI_FILL_CLASS and used another register
for demonstrating the config space accesses. The example is still very
incomplete, though.
* lib/pci.h, lib/generic.c: Added PCI_FILL_CLASS.
* lib/sysfs.c: Fetch device ID and class from sysfs, because they can
be modified by kernel fixups.
* lspci.c: Use PCI_FILL_CLASS. Thanks to Matthew Willcox for the patch.
2006-06-03 Martin Mares <[email protected]>
* lspci.c: Introduced the -nn switch. Thanks to David N. Welton
for the idea.
* lib/names.c (pci_lookup_name): Introduced PCI_LOOKUP_MIXED and
cleaned up the name selection code.
* lib/names.c (pci_lookup_name): If PCI_LOOKUP_NO_NUMBERS is given,
pci_access->numeric_ids is ignored.
* lib/names.c (pci_lookup_name): When class is identified and
subclass isn't, display class name and subclass number.
2006-05-31 Martin Mares <[email protected]>
* setpci.c (main): Don't crash when an invalid width is specified.
* lspci.c, setpci.c, common.c: die() now uses the right program
name when printing an error message.
2006-05-19 Martin Mares <[email protected]>
* README: Mention the public GIT tree.
* README: Updated the list of ports.
2006-05-10 Martin Mares <[email protected]>
* lib/configure, lib/fbsd-device.c: Added support for GNU/kFreeBSD.
Thanks to Petr Salinger for the patch.
2006-05-05 Martin Mares <[email protected]>
* Released as 2.2.3.
* lspci.c (scan_device): The -D switch didn't work as intended
in -m mode.
2006-05-05 Martin Mares <[email protected]>
* Released as 2.2.2.
* pci.ids: Updated to the current database snapshot.
* lib/obsd-device.c (and other files in lib/*): Added OpenBSD
interface by Matthieu Herrb <[email protected]>, based on
the existing FreeBSD interface.
* Moved pciutils to a GIT repository, which now contains merged
history from both CVS and Arch. Good bye, TLA!
2006-03-21 Martin Mares <[email protected]>
* lspci.c (show_slot_name): Avoid the previous changes in default
display of domain name when in machine-readable mode. However, `-D'
forces domain display even there.
* lspci.man: Added a warning on -m being the only format, which is
guaranteed to be stable between lspci versions.
2006-03-13 Martin Mares <[email protected]>
* lspci.man: Documented the -D switch.
* lspci.c (show_slot_name, scan_device): If there are multiple PCI
domains or if the `-D' switch is used, show the domain number for
all devices.
* lspci.c (show_verbose): Report cache line size in bytes.
* update-pciids.sh: Use curl if available. Patch by Matthew Wilcox.
2006-01-04 Martin Mares <[email protected]>
* lspci.c (show_express_link): Fixed decoding of link status register.
Thanks to Roland Dreier for his report.
2005-12-12 Martin Mares <[email protected]>
* lib/nbsd-libpci.c: If libpci is used by an ordinary user, allow
at least read-only access. Patch by Pavel Celeda <[email protected]>.
* Makefile: Corrected library path on NetBSD.
2005-11-26 Martin Mares <[email protected]>
* Released as 2.2.1.
* lspci.c (show_machine): Subsystem vendors were printed incorrectly
in machine-readable modes. Thanks to Pavel Celeda for a bug report.
2005-10-11 Martin Mares <[email protected]>
* lspci.c (new_bus): Fixed a memory leak. Thanks to Paul Sangree for reporting it.
2005-09-21 Martin Mares <[email protected]>
* Released as 2.2.0.
* pci.ids: Updated copyright header.
* lib/sysfs.c (sysfs_get_resources): Removed warning about unsupported
64-bit addresses, they are now always supported.
* lspci.c (show_bases): Corrected printing of 64-bit addresses
in bus-centric mode.
* lib/configure: Enable 64-bit addresses on all Linux systems.
* lib/types.h: Don't pad 64-bit addresses to 16 xigits, only to 8 if they
are shorter.
2005-09-11 Martin Mares <[email protected]>
* Released as 2.1.99-test11.
* lspci.c: Removed unnecessary trailing zeros in pci_lookup_name() calls.
2005-09-10 Martin Mares <[email protected]>
* Released as 2.1.99-test10.
* pci.ids: Synchronized with the current database snapshot.
* update-pciids.sh: Changed the default URL for downloading pci.ids
to http://pciids.sourceforge.net/v2.2/pci.ids.
* lib/pci.h (PCI_LIB_VERSION): Added version identifier.
* lib/names.c: Rewritten the name database module almost from scratch.
Everything is much cleaner and there are hopefully no more memory leaks;
pci_lookup_name() now uses varargs in a backward compatible fashion.
Introduced PCI_LOOKUP_NO_NUMBERS.
The new code supports subsystem entries not tied to a specific device.
I had to extend the format of pci.ids in order to support it, so I have
extended the idea of the "C" (class) blocks and introduced "S" blocks
for subsystems. To avoid doing more incompatible changes in the future,
the parser skips unknown single-letter blocks without reporting errors.
2005-08-23 Martin Mares <[email protected]>
* Released as 2.1.99-test9.
* Makefile (OPT): Removed -fomit-frame-pointer, it's default in recent
gcc versions when optimizing anyway.
* Made the path to pci.ids customizable and independent on the SHAREDIR.
Just override IDSDIR in the top-level Makefile.
* pci.ids: Synchronized with the current database snapshot.
* lspci.man, setpci.man: Improved the man pages. Documented all access
methods and which operations are privileged.
* lspci.c: Another rewrite of config register caching, now also including
lots of internal checks. It should be now perfectly able to cope with
portions of the configuration space being inaccessible, for example
due to insufficient access rights.
* lspci.c (show_pcix_nobridge, show_pcix_bridge): Cleaned up dumping of PCI-X
capabilities. Includes partial support for PCI-X 2.0 (probably incomplete
as I haven't seen the spec).
* lspci.c: Quell warnings about unused parameters.
* lspci.c: Removed C++ comments.
* lib/header.h: Merged definitions of extended capabilities and some new
PCI-X capability bits from linux-2.6.11/include/pci.h.
* lspci.c (show_caps): Try to scan extended capabilities only if the
device has either PCI-X or PCI Express capability in its normal capability
list.
* lib/dump.c (dump_init): Reading of dumps works again. The dump reader
now also remembers how much data it has read and refuses attempts to
access more than that.
* setpci.man, lspci.c, README: prefer spelling "buses" over "busses".
* lspci.c: If alloca() is not available, use xmalloc(), not malloc().
* lib/configure: Added x86_64 on Linux.
2005-08-22 Martin Mares <[email protected]>
* lib/filter.c (pci_filter_parse_slot): Fixed parsing of domain filters.
Thanks to Matthew Wilcox for bug report.
* lspci.c: Corrected spelling of "Hz" (it was "hz" at several places).
Thanks to Krzysztof Oledzki for pointing that out.
2004-08-19 Martin Mares <[email protected]>
* pciutils.spec (%attr): Setting attributes for /sbin/* is an anachronism,
because pciutils by default install to /usr/sbin. Update.
2004-08-13 Martin Mares <[email protected]>
* Released as 2.1.99-test8.
* lib/types.h, lib/pci.h, lib/sysdep.h: `byte' and `word' are
no longer exported to the outside world.
* README.Windows: Updated.
* maint/release: Substitute version number in win32/config.h.
* win32/config.h: Added.
* lib/sysdep.h (bzero, strcasecmp): are macros on Windows.
* compat/getopt.[ch]: Added copies of getopt.[ch] from the GNU
C library for use on systems where the default libraries lack
proper getopt. Currently used by the Windows port.
* lib/sysdep.h, lib/types.h: Updates of the Windows port from
Alexander Stock.
* lib/types.h: If PCI_HAVE_Uxx_TYPES is defined, libpci doesn't define
its own u8, u16, u32, byte and word types and uses what the user
has supplied instead. With this change, all namespace clashes should
be gone.
* Makefile, lib/Makefile: Updated dependencies.
* pciutils.h: Include lib/sysdep.h and move NONRET et al. there.
* lib/sysdep.h: No need to include <sys/types.h> on FreeBSD, because
it is included unconditionally in lib/types.h.
* Moved system-dependent stuff from lib/internal.h to lib/sysdep.h,
which is also used by the utilities. Also moved type declarations
from lib/pci.h to lib/types.h.
* All files: Prepend a "PCI_" prefix in front of all configuration
defines to avoid namespace clashes. CAVEAT: If there is any libpci
application using the (undocumented) defines, it has to be updated.
* lib/Makefile: Killed HAVE_OWN_HEADER_H, since we stopped sharing
headers with the kernel a couple of years ago.
* lib/sysfs.c (sysfs_get_resources): We have 7 resources, not 6.
* lspci.c (show_rom): Use the same logic for printing disabled
or unassigned ROM's as we do in show_bases() for the other BAR's.
* lib/generic.c (pci_generic_fill_info): Better reaction to
invalid 64-bit addresses. Also d->hdrtype should not include
bit 7, which caused mysterious errors on multi-function devices.
* lib/generic.c (pci_generic_fill_info): Fill in base addresses
even if the regions are known to be disabled. It is the client's
job to interpret them. (And it is not a trivial job if you want
to do it correctly, since you need to check I/O and memory enables
on all upstream bridges, too.) However, it could be interesting to
introduce functions for interpreting the addresses and even for
mapping the regions and doing I/O on them.
2004-07-30 Martin Mares <[email protected]>
* lspci.c: HyperTransport improvements from Maciej.
2004-07-11 Martin Mares <[email protected]>
* lib/sysfs.c (sysfs_get_resources): Arguments now correspond
to the format string. [Patch by Bill Nottingham]
2004-07-05 Martin Mares <[email protected]>
* Released as 2.1.99-test7.
* lspci.c (config_fetch): Wanted to merge Matthew's bug fix, but
ended up with rewriting the fetching mechanism to be fully dynamic,
but avoid reading config space registers not explicitly requested.
2004-06-29 Matthew Wilcox <[email protected]>
* lspci.c: More work on PCI Express dumping.
* lib/header.h: Updated PCI Express capability definitions.
* lib/proc.c (proc_read): Removed bogus warning.
* common.c (xrealloc): Introduced.
* lspci.man: Added -xxxx.
2004-06-27 Martin Mares <[email protected]>
* Released as 2.1.99-test6.
* lspci.c (show_msix), lib/header.h: Added dumping of MSI-X cap.
Patch by Roland Dreier <[email protected]>, cleaned up by me.
* lspci.c (show_pcix_nobridge, show_pcix_bridge): Handle config_fetch()
failures.
* lib/header.h: Added PCI Express extended capabilities. Again by Matthew.
* lspci.c (show_express): Added dumping of PCI Express cap.
Patch by Matthew Wilcox.
* lib/header.h: Added a list of PCI 3.0 capabilities and also details
on PCI Express caps. Patch by Matthew Wilcox <[email protected]>.
* lspci.c (check_root): Gone. No explicit checks for root are needed,
report correct errors reported by the libpci instead.
* lspci.c: Added dumping of the extended config space on "-xxxx".
Better caching of config registers.
* setpci.c (main): Allow access to whole 4096 bytes of the config space.
* lib/sysfs.c, lib/proc.c: Don't print error messages on short reads,
just return the appropriate error code.
* lib: Added support for extended (4096-byte) configuration space,
currently implemented only in Linux proc and sysfs access methods
and of course in the dump reader.
2004-05-29 Martin Mares <[email protected]>
* Released as 2.1.99-test5.
* lib/pci.h: Windows don't have the standard u_int* types.
* lib/internal.h: <sys/param.h> required on Windows for endianity
macros.
* lib/i386-ports.c: Connected i386-io-windows.h.
* lspci.c (check_root): geteuid() is not available on Windows.
* lib/i386-io-windows.h: Added Windows port contributed by Alexander
Stock <[email protected]>.
* lib/configure: Hopefully fixed SunOS port broken by various
changes to the configure script.
* Makefile, lib/configure: Cross-compilation support, patch by Maciej.
2004-05-28 Martin Mares <[email protected]>
* Released as 2.1.99-test4.
* lspci.c (show_verbose): Header type 1 is probably legal for all
types of bridges, not only for PCI-to-PCI bridges.
* lspci.c (format_agp_rate): Write "x16", not "x@".
(show_agp): rate[] could overflow.
Bugs reported by Jakub Bogusz <[email protected]>.
* lspci.c (show_ht_*): Show HyperTransport capability with all its
details. Once again code by Maciej simplified (i.e., possibly broken)
by me.
* lib/header.h: Added declarations of HyperTransport capability.
Again thanks to Maciej.
* lspci.c: Decode all bits of the secondary status word in type 1 headers.
Thanks to Maciej W. Rozycki <[email protected]> for the patch.
2003-12-27 Martin Mares <[email protected]>
* Released as 2.1.99-test3.
* lspci.man, setpci.man: Document domains and correct spelling.
* lib/dump.c (dump_init): Added ability to read domain numbers.
* lspci.c: Devices in domains different from 0 have their slot number
printed as "<domain>:<bus>:<slot>.<func>". Tree view supports domains
as well.
* lib/filter.c: Slot filters understand domains.
* lib/generic.c: Mention the domain in slot numbers in all error messages.
* lib/internal.h: The #ifdef for Linux <asm/byteorder.h> was wrong.
* lib/access.c (pci_get_dev): Added support for domains.
* lib/sysfs.c (sysfs_scan): Read vendor and device ID from the config
registers (or to be precise, leave it for the generic parts of the pcilib
to do so) instead of reading them from the sysfs. It's faster this way.
* lspci.c (show_pcix): Don't touch pci_dev->hdrtype, it's an internal
variable. Better read it from the config registers (it's cached anyway).
* lib/sysfs.c (sysfs_scan), lib/proc.c (proc_scan): Don't read the hdrtype.
lib/generic.c (pci_generic_fill_info): If hdrtype is -1 (unset), read it.
Saves lots of unnecessary file accesses.
* lib/pci.h (PCIADDR_PORT_FMT): Use %llx instead of %Lx, because the latter
is not supported by all C libraries.
* Makefile: Always enter the lib directory (remember that we don't have
full dependecies for the library in the top-level Makefile; hmmm, another
thing to rewrite some day).
* lib/sysfs.c: Added Linux sysfs access method based on the patch
written by Matthew Wilcox <[email protected]>.
* lib/proc.c: Renamed the access method name from "/proc/bus/pci" to "Linux-proc".
* lib/pread.h: The hacks to support pread on various versions
of Linux libc moved there.
* lib/proc.c (proc_setup): The return value of snprintf() varies
between glibc versions, so we need to check both for a negative
values and for too large values.
* Removed last few references to the "Linux PCI Utilities", the
package is pretty cross-platform now :)
2003-12-27 Martin Mares <[email protected]>