xref: /pciutils/ChangeLog (revision ab6ed5fd)
1*ab6ed5fdSMartin Mares2016-05-19  Martin Mares <[email protected]>
2*ab6ed5fdSMartin Mares
3*ab6ed5fdSMartin Mares	* Released as 3.5.0.
4*ab6ed5fdSMartin Mares
5*ab6ed5fdSMartin Mares	* New capabilities decoded: Downstream Port Containment,
6*ab6ed5fdSMartin Mares	  Precision Time Measurement. Thanks to Keith Busch and
7*ab6ed5fdSMartin Mares	  Jonathan Yong.
8*ab6ed5fdSMartin Mares
9*ab6ed5fdSMartin Mares	* Domain numbers extended to 31 bits. This will be used by the
10*ab6ed5fdSMartin Mares	  Linux kernel on some machines in near future.
11*ab6ed5fdSMartin Mares
12*ab6ed5fdSMartin Mares	* Enhanced allocation regions are now decoded on Linux.
13*ab6ed5fdSMartin Mares
14*ab6ed5fdSMartin Mares	* The NetBSD back-end supports PCIe extended configuration space.
15*ab6ed5fdSMartin Mares
16*ab6ed5fdSMartin Mares	* Updated pci.ids to the current snapshot of the database.
17*ab6ed5fdSMartin Mares
1837c9315cSMartin Mares2016-01-03  Martin Mares <[email protected]>
1937c9315cSMartin Mares
2037c9315cSMartin Mares	* Released as 3.4.1.
2137c9315cSMartin Mares
2237c9315cSMartin Mares	* New capabilities decoded: Process Address Space, Page Request
2337c9315cSMartin Mares	  Interface, Enhanced Allocation. Thanks to David Daney and
2437c9315cSMartin Mares	  David Woodhouse.
2537c9315cSMartin Mares
2637c9315cSMartin Mares	* DevCap SlotPowerLimit is now decoded for all components with
2737c9315cSMartin Mares	  upstream ports.
2837c9315cSMartin Mares
2937c9315cSMartin Mares	* Database mirror at SourceForge moved to GitHub.
3037c9315cSMartin Mares
3137c9315cSMartin Mares	* Updated pci.ids to the current snapshot of the database.
3237c9315cSMartin Mares
33508c53ebSMartin Mares2015-09-14  Martin Mares <[email protected]>
34508c53ebSMartin Mares
35508c53ebSMartin Mares	* Released as 3.4.0.
36508c53ebSMartin Mares
37508c53ebSMartin Mares	* On Linux, we report NUMA nodes of devices.
38508c53ebSMartin Mares
39508c53ebSMartin Mares	* The sysfs back-end does not die on read errors
40508c53ebSMartin Mares	  of optional attributes. Instead, a warning is produced.
41508c53ebSMartin Mares
42508c53ebSMartin Mares	* Fixed several minor bugs.
43508c53ebSMartin Mares
44508c53ebSMartin Mares	* Updated pci.ids to the current snapshot of the database.
45508c53ebSMartin Mares
46949f4469SMartin Mares2015-04-09  Martin Mares <[email protected]>
47949f4469SMartin Mares
48949f4469SMartin Mares	* Released as 3.3.1.
49949f4469SMartin Mares
50949f4469SMartin Mares	* Removed hacks for backward compatibility with Linux libc5,
51949f4469SMartin Mares	  which were breaking newer non-glibc Linux systems. Thanks
52949f4469SMartin Mares	  to Felix Janda.
53949f4469SMartin Mares
54949f4469SMartin Mares	* Display VirtIO vendor-specific capability. Patch by Gerd
55949f4469SMartin Mares	  Hoffmann.
56949f4469SMartin Mares
57949f4469SMartin Mares	* Fixed memory leak in name cache.
58949f4469SMartin Mares
593bc4dd2cSMartin Mares	* Updated pci.ids to the current snapshot of the database.
603bc4dd2cSMartin Mares
61f14d4d87SMartin Mares2014-11-10  Martin Mares <[email protected]>
62f14d4d87SMartin Mares
631481a1caSMartin Mares	* Released as 3.3.0.
641481a1caSMartin Mares	  (celebrating a one-year anniversary of the previous version :))
6528617b24SMartin Mares
6628617b24SMartin Mares	* Device names exported by BIOS are displayed on Linux.
6728617b24SMartin Mares
6828617b24SMartin Mares	* On Linux systems, HWDB is used to look up device names
6928617b24SMartin Mares	  when our ID database gives no match. (More precisely,
7028617b24SMartin Mares	  HWDB is consulted after local pci.ids, but before using
7128617b24SMartin Mares	  network to query online pci.ids.) Thanks to Tom Gundersen
7228617b24SMartin Mares	  for the initial patch.
7328617b24SMartin Mares
7428617b24SMartin Mares	* Added experimental back-end for OS X / Darwin. Thanks to
7528617b24SMartin Mares	  Richard Yao for providing it.
7628617b24SMartin Mares
77afb881ccSMartin Mares	* Filters now support matching by device class. Original
78afb881ccSMartin Mares	  patch by Matthew Wilcox, wrappers for ABI compatibility
79afb881ccSMartin Mares	  by me.
80afb881ccSMartin Mares
8128617b24SMartin Mares	* Interrupt Pin and Interrupt Line registers are displayed
8228617b24SMartin Mares	  for bridge devices, too.
8328617b24SMartin Mares
8428617b24SMartin Mares	* Several portability bugs have been fixed.
8528617b24SMartin Mares
8628617b24SMartin Mares	* Several typos have been fixed. Also, use of questionable
8728617b24SMartin Mares	  constructs in man pages has been reduced.
8828617b24SMartin Mares
8928617b24SMartin Mares	* PCIe link capabilities now include the ASPMOptComp bit.
9028617b24SMartin Mares
9128617b24SMartin Mares	* The "CRS Software Visibility" bit is now decoded properly.
9228617b24SMartin Mares
9328617b24SMartin Mares	* Updated pci.ids to the current snapshot of the database.
9428617b24SMartin Mares
95dc49926aSMartin Mares2013-11-10  Martin Mares <[email protected]>
96dc49926aSMartin Mares
97dc49926aSMartin Mares	* Released as 3.2.1.
98dc49926aSMartin Mares
99dc49926aSMartin Mares	* CardBus bridge capabilities are displayed.
100dc49926aSMartin Mares
101dc49926aSMartin Mares	* PCIe L1 PM substates are decoded.
102dc49926aSMartin Mares
103dc49926aSMartin Mares	* Various bugs were fixed in decoding of PCIe capabilities.
104dc49926aSMartin Mares
105dc49926aSMartin Mares	* The sysfs back-end does not spit out unnecessary warnings when
106dc49926aSMartin Mares	  empty slots report only a partial device address. This actually
107dc49926aSMartin Mares	  happens on IBM pSeries.
108dc49926aSMartin Mares
109dc49926aSMartin Mares	* Updated pci.ids to the today's snapshot of the database.
110dc49926aSMartin Mares
1116a4909eeSMartin Mares2013-04-19  Martin Mares <[email protected]>
1126a4909eeSMartin Mares
1136a4909eeSMartin Mares	* Released as 3.2.0.
1146a4909eeSMartin Mares
1156a4909eeSMartin Mares	* On newer Linux systems, we use libkmod to look up kernel modules
11669a77b5cSMartin Mares	  (modules.pcimap no longer exists). To facilitate this, libpci
1176a4909eeSMartin Mares	  is able to look up module aliases in sysfs.
1186a4909eeSMartin Mares
1196a4909eeSMartin Mares	* Various minor bug fixes.
1206a4909eeSMartin Mares
1216a4909eeSMartin Mares	* Updated pci.ids to the today's snapshot of the database.
1226a4909eeSMartin Mares
12327c0f3acSMartin Mares2012-06-25  Martin Mares <[email protected]>
12427c0f3acSMartin Mares
12527c0f3acSMartin Mares	* Released as 3.1.10.
12627c0f3acSMartin Mares
12727c0f3acSMartin Mares	* Decoding of LTR/OBFF in PCIe capabilities.
12827c0f3acSMartin Mares
12927c0f3acSMartin Mares	* Various minor bug fixes.
13027c0f3acSMartin Mares
13127c0f3acSMartin Mares	* Updated pci.ids to the today's snapshot of the database.
13227c0f3acSMartin Mares
13368e5ff17SMartin Mares2012-01-14  Martin Mares <[email protected]>
13468e5ff17SMartin Mares
13568e5ff17SMartin Mares	* Released as 3.1.9.
13668e5ff17SMartin Mares
13768e5ff17SMartin Mares	* Updated README.
13868e5ff17SMartin Mares
1396a4909eeSMartin Mares	* Wherever we mention the PCI ID database, we now refer to
14068e5ff17SMartin Mares	  http://pci-ids.ucw.cz/ and the sf.net site is mentioned only
14168e5ff17SMartin Mares	  as a mirror. This includes update-pciids.
14268e5ff17SMartin Mares
14368e5ff17SMartin Mares	* Decode PCIe Gen 3 speeds and link status fields.
14468e5ff17SMartin Mares
14568e5ff17SMartin Mares	* Various minor bug fixes.
14668e5ff17SMartin Mares
14768e5ff17SMartin Mares	* Updated pci.ids to the today's snapshot of the database.
14868e5ff17SMartin Mares
149a70dab15SMartin Mares2011-10-02  Martin Mares <[email protected]>
150a70dab15SMartin Mares
151a70dab15SMartin Mares	* Released as 3.1.8.
152a70dab15SMartin Mares
153a70dab15SMartin Mares	* More capabilities: Transaction Processing Hints, Latency Tolerance
154a70dab15SMartin Mares	Reporting. Thanks to Jesse Barnes.
155a70dab15SMartin Mares
156a70dab15SMartin Mares	* Added BeOS and Haiku ports. Contributed by Francois Revol.
157a70dab15SMartin Mares
158a70dab15SMartin Mares	* pciutils.pc now uses Libs.private properly.
159a70dab15SMartin Mares
160a70dab15SMartin Mares	* When we format a name and it does not fit in the buffer, we truncate
161a70dab15SMartin Mares	it instead of returning "buffer too small" instead. This works on all
162a70dab15SMartin Mares	platforms with sane (i.e., C99-compatible) snprintf().
163a70dab15SMartin Mares
164a70dab15SMartin Mares	* Various minor bug fixes.
165a70dab15SMartin Mares
166a70dab15SMartin Mares	* Updated pci.ids to the today's snapshot of the database.
167a70dab15SMartin Mares
1686bc2bc1cSMartin Mares2010-01-31  Martin Mares <[email protected]>
1696bc2bc1cSMartin Mares
1706bc2bc1cSMartin Mares	* Released as 3.1.7.
1716bc2bc1cSMartin Mares
1726bc2bc1cSMartin Mares	* Minor improvements and bug fixes in decoding of the Virtual Channel
1736bc2bc1cSMartin Mares	capability.
1746bc2bc1cSMartin Mares
175e3a052daSMartin Mares2010-01-24  Martin Mares <[email protected]>
176e3a052daSMartin Mares
177e3a052daSMartin Mares	* Released as 3.1.6.
178e3a052daSMartin Mares
179e3a052daSMartin Mares	* More capabilities decoded: Virtual Channel (except arbitration
180e3a052daSMartin Mares	tables), Root Complex Link, Vendor-Specific (header only), SATA HBA.
181e3a052daSMartin Mares
182e3a052daSMartin Mares	* All extended capabilities have their version displayed (-vv or more).
183e3a052daSMartin Mares
1849978b6fdSMartin Mares2010-01-19  Martin Mares <[email protected]>
1859978b6fdSMartin Mares
1869978b6fdSMartin Mares	* Released as 3.1.5.
1879978b6fdSMartin Mares
1889978b6fdSMartin Mares	* Updated pci.ids to the today's snapshot of the database.
1899978b6fdSMartin Mares
1909978b6fdSMartin Mares	* When scanning extended capabilities, properly mask the lowest 2 bits,
1919978b6fdSMartin Mares	  which are currently reserved. This avoids unaligned access errors on
1929978b6fdSMartin Mares	  broken hardware (see tests/broken-ecaps).
1939978b6fdSMartin Mares
1949978b6fdSMartin Mares	* Large bar sizes are displayed in human-readable format (with units).
1959978b6fdSMartin Mares	  Thanks to Matthew Wilcox.
1969978b6fdSMartin Mares
1979978b6fdSMartin Mares	* Physical slot information is displayed correctly for multi-function cards.
1989978b6fdSMartin Mares	  Fixed by Matthew Wilcox.
1999978b6fdSMartin Mares
2009978b6fdSMartin Mares	* Fixed a couple of typos everywhere.
2019978b6fdSMartin Mares
2029978b6fdSMartin Mares	* Library: Fixed bugs in freeing of capabilities.
2039978b6fdSMartin Mares
2049978b6fdSMartin Mares	* Windows back-end compiles again.
2059978b6fdSMartin Mares
206c67775bcSMartin Mares2009-08-14  Martin Mares <[email protected]>
207c67775bcSMartin Mares
208ebb9bc54SMartin Mares	* Released as 3.1.4.
209ebb9bc54SMartin Mares	  (sorry that I have missed 22/7 and released it later :-))
210c67775bcSMartin Mares
211c67775bcSMartin Mares	* Updated pci.ids to the today's snapshot of the database.
212c67775bcSMartin Mares
213c67775bcSMartin Mares	* Fixed memory and file descriptor leak in the dump back-end.
214c67775bcSMartin Mares
215c67775bcSMartin Mares	* The SR-IOV capability decoder now prints the VF BAR's.
216c67775bcSMartin Mares	Patch by Chris Wright, cleaned up by me.
217c67775bcSMartin Mares
218c67775bcSMartin Mares	* On request of certain company's lawyers, we now include a copy
219c67775bcSMartin Mares	of the GPL with our package. It seems that the pciutils are getting
220c67775bcSMartin Mares	mature if the most important bug of the month was this one ;-)
221c67775bcSMartin Mares
22210df48cbSMartin Mares2009-07-04  Martin Mares <[email protected]>
22310df48cbSMartin Mares
22410df48cbSMartin Mares	* Released as 3.1.3.
22510df48cbSMartin Mares
22610df48cbSMartin Mares	* Updated pci.ids to the current snapshot of the database.
22710df48cbSMartin Mares
22810df48cbSMartin Mares	* The VPD parser now reports unknown and vendor-defined items
22910df48cbSMartin Mares	properly. It also stops on any item in unknown format, avoiding long
23010df48cbSMartin Mares	output on bogus VPD data. Thanks to Ben Hutchings and Matthew Wilcox.
23110df48cbSMartin Mares
23210df48cbSMartin Mares	* The MSI-X table size now matches the spec. Thanks to Michael S.
23310df48cbSMartin Mares	Tsirkin.
23410df48cbSMartin Mares
23510df48cbSMartin Mares	* The Power Management capability now includes the soft reset bit.
23610df48cbSMartin Mares	Thanks to Yu Zhao.
23710df48cbSMartin Mares
23810df48cbSMartin Mares	* Decoding of the Advanced Features capability has been added.
23910df48cbSMartin Mares	Thanks to Yu Zhao.
24010df48cbSMartin Mares
24110df48cbSMartin Mares	* The whole package compiles on GNU/kFreeBSD again.
24210df48cbSMartin Mares
24310df48cbSMartin Mares	The following patches have been contributed by Matthew Wilcox:
24410df48cbSMartin Mares
24510df48cbSMartin Mares	* The procfs back-end is able to cope with /proc/bus/pci
24610df48cbSMartin Mares	containing names with domains, which occur on sparc64 and
24710df48cbSMartin Mares	possibly other architectures due to a kernel bug.
24810df48cbSMartin Mares
24910df48cbSMartin Mares	* The sysfs back-end no longer complains when a slot address
25010df48cbSMartin Mares	is missing, which happens with old versions of Linux fakephp.
25110df48cbSMartin Mares
25210df48cbSMartin Mares	* The Device Serial Number capability is printed in the right
25310df48cbSMartin Mares	byte order.
25410df48cbSMartin Mares
25510df48cbSMartin Mares	* The MSI and MSI-X capabilities are printed in a prettier way.
25610df48cbSMartin Mares
25710df48cbSMartin Mares	* The tree output mode (`lspci -t') shows domain numbers only
25810df48cbSMartin Mares	at the root, which makes the output more compact.
25910df48cbSMartin Mares
26010df48cbSMartin Mares	* Updated documentation on the bus mapping mode (`lspci -M').
26110df48cbSMartin Mares
26234683007SMartin Mares2009-02-01  Martin Mares <[email protected]>
26334683007SMartin Mares
26434683007SMartin Mares	* Released as 3.1.2.
26534683007SMartin Mares
26634683007SMartin Mares	* Fixed another silly bug in the command-line parser of setpci.
26734683007SMartin Mares
268f6523e28SMartin Mares2009-01-30  Martin Mares <[email protected]>
269f6523e28SMartin Mares
270f6523e28SMartin Mares	* Released as 3.1.1.
271f6523e28SMartin Mares
272f6523e28SMartin Mares	* Updated pci.ids to the current snapshot of the database.
273f6523e28SMartin Mares
274f6523e28SMartin Mares	* The configure script now sets LC_ALL to avoid being fooled by
275f6523e28SMartin Mares	locale-dependent behavior of `tr'.
276f6523e28SMartin Mares
277f6523e28SMartin Mares	* The command-line parser of setpci did sometimes segfault on invalid
278f6523e28SMartin Mares	input. Thanks to Andreas Wiese for a fix.
279f6523e28SMartin Mares
280db557900SMartin Mares2009-01-18  Martin Mares <[email protected]>
281db557900SMartin Mares
282db557900SMartin Mares	* Released as 3.1.0.
283db557900SMartin Mares
284af358b08SMartin Mares	* Updated pci.ids to the current snapshot of the database.
285af358b08SMartin Mares
286db557900SMartin Mares	* The Cygwin backend now works on Windows Vista. Thanks to Jonathan
287db557900SMartin Mares	Kotta.
288db557900SMartin Mares
289db557900SMartin Mares	* Fixed a bug in decoding of the SR-IOV capability. Patch by Yu Zhao.
290db557900SMartin Mares
291db557900SMartin Mares	* Details of some PCIe capabilities are displayed only with -vv.
292db557900SMartin Mares
293db557900SMartin Mares	* When a BAR is reported by the OS, but not by the device (i.e.,
294db557900SMartin Mares	it is marked as [virtual] in lspci), the [disabled] flag is
295db557900SMartin Mares	suppressed, because it does not make sense in such cases.
296db557900SMartin Mares	Patch by Yu Zhao.
297db557900SMartin Mares
2982b31207aSMartin Mares2008-12-13  Martin Mares <[email protected]>
2992b31207aSMartin Mares
3002b31207aSMartin Mares	* The source code of lspci has been split to multiple files, hopefully
3012b31207aSMartin Mares	making it easier to maintain.
3022b31207aSMartin Mares
3032b31207aSMartin Mares	* The library and lspci now know about physical slot names. So far,
3042b31207aSMartin Mares	they are provided by the sysfs back-end only. Thanks go to Alex Chiang.
3052b31207aSMartin Mares
3062b31207aSMartin Mares	* When a device has the VPD (Vital Product Data) capability and the
3072b31207aSMartin Mares	VPD data are supplied by the OS, they are decoded and printed in the
3082b31207aSMartin Mares	verbose mode. This currently works only on Linux with the sysfs
3092b31207aSMartin Mares	back-end. Thanks to Ben Hutchings of Solarflare for the patch.
3102b31207aSMartin Mares
3112b31207aSMartin Mares	* `setpci --version' now works properly.
3122b31207aSMartin Mares
3134d4325f8SMartin Mares	* `setpci --dumpregs' prints a table of all known names of
3142b31207aSMartin Mares	registers and capabilities. This replaces the table of registers
3152b31207aSMartin Mares	in the setpci man page.
3162b31207aSMartin Mares
3172b31207aSMartin Mares	* The dry-run mode of setpci gives better feedback.
3182b31207aSMartin Mares
3192b31207aSMartin Mares	* The setpci utility is now able to address registers stored in PCI
3202b31207aSMartin Mares	capabilities (actually it allows a more general form of relative
3212b31207aSMartin Mares	addressing).
3222b31207aSMartin Mares
3232b31207aSMartin Mares	* The library has gained functions for working with PCI capabilities.
3242b31207aSMartin Mares
3252b31207aSMartin Mares	* Address Translation Services capability is now decoded. Patch by
3262b31207aSMartin Mares	Yu Zhao.
3272b31207aSMartin Mares
328b282435dSMartin Mares2008-11-09  Martin Mares <[email protected]>
329b282435dSMartin Mares
330b282435dSMartin Mares	* Released as 3.0.3.
331b282435dSMartin Mares
332b282435dSMartin Mares	* `lspci -k' now displays the subsystem ID, too. This makes `-k'
333b282435dSMartin Mares	show everything needed to identify the device and the available
334b282435dSMartin Mares	drivers, which was called for by many users.
335b282435dSMartin Mares
336b282435dSMartin Mares	* Fixed spelling of MSI. Patch by Matthew Wilcox.
337b282435dSMartin Mares
338b282435dSMartin Mares	* Better support for cross-compilation. Thanks to Alon Bar-Lev
339b282435dSMartin Mares	for the patch.
340b282435dSMartin Mares
341b282435dSMartin Mares	* Fixed printing of the AER capability. Patch by Max Asbock.
342b282435dSMartin Mares
343b282435dSMartin Mares	* HT 1.02 capabilities are decoded as HT 1.03. Suggested by
344b282435dSMartin Mares	Carl-Daniel Hailfinger.
345b282435dSMartin Mares
346b282435dSMartin Mares	* Fixed Cygwin build. Thanks to Steve Elliott for reporting the bug.
347b282435dSMartin Mares
348b282435dSMartin Mares	* Updated pci.ids to the current snapshot of the database.
349b282435dSMartin Mares
350daf2ef4eSMartin Mares2008-09-19  Martin Mares <[email protected]>
351daf2ef4eSMartin Mares
352daf2ef4eSMartin Mares	* Released as 3.0.2.
353daf2ef4eSMartin Mares
354daf2ef4eSMartin Mares	* Fixed a minor bug in the configure script, which caused warnings
355daf2ef4eSMartin Mares	about redefinition of symbols during compilation.
356daf2ef4eSMartin Mares
35738254178SMartin Mares2008-09-11  Martin Mares <[email protected]>
35838254178SMartin Mares
35938254178SMartin Mares	* Released as 3.0.1.
36038254178SMartin Mares
36138254178SMartin Mares	* Updated pci.ids to the most recent snapshot.
36238254178SMartin Mares
36338254178SMartin Mares	* Added a Cygwin port. Patch by Christopher Voltz, ported to the
36438254178SMartin Mares	current tree by Martin Mares.
36538254178SMartin Mares
36638254178SMartin Mares	* Worked around compatibility problems with various default settings
36738254178SMartin Mares	of wget (we have to set --no-timestamping explicitly). Thanks to Ville
36838254178SMartin Mares	Skytta for pointing that out.
36938254178SMartin Mares
37038254178SMartin Mares	* Fixed printing of MSI capabilities. Thanks to Matthew Wilcox for
37138254178SMartin Mares	a patch.
37238254178SMartin Mares
37338254178SMartin Mares	* Added decoding of several PCI-X capabilities: device/link/slot 2,
37438254178SMartin Mares	Advanced Error Reporting, Access Control Services, Alternative Routing-ID,
37538254178SMartin Mares	Single Root I/O Virtualization. Thanks to Yu Zhao for patches.
37638254178SMartin Mares
37738254178SMartin Mares	* Fixed bug in filters which caused them to refuse vendor/device ID 0xffff.
37838254178SMartin Mares
37938254178SMartin Mares	* README: The linux-pci mailing list has moved to [email protected].
38038254178SMartin Mares
38138254178SMartin Mares	* Fixed several build problems: builds without PCI_USE_DNS on Linux
38238254178SMartin Mares	and with PCI_USE_DNS on Solaris and *BSD. Static library mode also
38338254178SMartin Mares	compiles again on old versions of GCC.
38438254178SMartin Mares
385cec9f7e7SMartin Mares2008-04-10  Martin Mares <[email protected]>
386cec9f7e7SMartin Mares
387cec9f7e7SMartin Mares	* Released as 3.0.0.
388cec9f7e7SMartin Mares
389cec9f7e7SMartin Mares	* Updated API and ABI version.
390cec9f7e7SMartin Mares
391cd2f6a34SMartin Mares2008-02-20  Martin Mares <[email protected]>
392cd2f6a34SMartin Mares
393cd2f6a34SMartin Mares	* Released as 2.99.1-alpha2.
394cd2f6a34SMartin Mares
395cd2f6a34SMartin Mares	* Changed the default domain for the DNS resolver.
396cd2f6a34SMartin Mares
397165a50cbSMartin Mares2008-02-18  Martin Mares <[email protected]>
398165a50cbSMartin Mares
399165a50cbSMartin Mares	* Released as 2.99.1-alpha1.
400623234ecSMartin Mares
401a1fca487SMartin Mares	* The makefile system has been reworked. All configuration settings
402a1fca487SMartin Mares	are now passed to the configure script in environment variables,
403a1fca487SMartin Mares	allowing for easy tweaking in the top-level Makefile. All control
404a1fca487SMartin Mares	knobs are now described in the README.
405a1fca487SMartin Mares
406a1fca487SMartin Mares	* The libpci can be built as a shared library with properly restricted
407a1fca487SMartin Mares	symbol exports. Use `make SHARED=yes' to enable that or `make SHARED=local'
408a1fca487SMartin Mares	for a local testing build (with hardwired paths to the library, so that
409a1fca487SMartin Mares	it does not need installation).
410a1fca487SMartin Mares
411a1fca487SMartin Mares	* The example program has been moved from lib/example.c to the top-level
412a1fca487SMartin Mares	directory, because it should be built exactly as the other utilities
413a1fca487SMartin Mares	are. It has been also improved slightly to educate better.
414a1fca487SMartin Mares
415623234ecSMartin Mares	* The i386-ports method is enabled on Linux/x86_64 as well.
416623234ecSMartin Mares
417ae27e293SMartin Mares2008-02-13  Martin Mares <[email protected]>
418ae27e293SMartin Mares
419ae27e293SMartin Mares	* Released as 2.2.10-net2.
420ae27e293SMartin Mares
421ae27e293SMartin Mares	* Support for resolving of PCI ID's using DNS together with a local
422ae27e293SMartin Mares	cache of resolved entries has been added. See the `-q' and `-Q' options
423ae27e293SMartin Mares	of lspci.
424ae27e293SMartin Mares
425ae27e293SMartin Mares	* The library now has a generic system of settable parameters, which
426ae27e293SMartin Mares	also include settings of the DNS resolver and cache. An `-O' option
427ae27e293SMartin Mares	has been added to lspci and setpci to allow setting of these options.
428ae27e293SMartin Mares
429ae27e293SMartin Mares	* Configuration of the access methods are now specified by the new
430ae27e293SMartin Mares	parameter system, replacing the pci_access->method_params array.
431ae27e293SMartin Mares
432ae27e293SMartin Mares	* Access methods now also have sensible names and help texts and it
433ae27e293SMartin Mares	is possible to look up method ID by a name.
434ae27e293SMartin Mares
435ae27e293SMartin Mares	* An `-A' switch has been added to both lspci and setpci, allowing to
436ae27e293SMartin Mares	select an arbitrary access method. The `-P' switch (configure proc
437ae27e293SMartin Mares	backend) has been removed as it is no longer needed and I do not know
438ae27e293SMartin Mares	any its user.
439ae27e293SMartin Mares
440ae27e293SMartin Mares	* Several source files have been split for better maintainability
441ae27e293SMartin Mares	(most notably the resolving of ID's).
442ae27e293SMartin Mares
443ae27e293SMartin Mares	* Man pages and help texts have been updated. A new man page `pcilib(7)'
444ae27e293SMartin Mares	has been added and description of library options has been moved there.
445ae27e293SMartin Mares
446ae27e293SMartin Mares	* When an unknown device ID is encountered, we print `Device <id>'
447ae27e293SMartin Mares	instead of `Unknown device <id>'. It uses less space and it also
448ae27e293SMartin Mares	should reduce the number of inexperienced users complaining that
449ae27e293SMartin Mares	the device is not supported by the OS. To lookup up OS drivers,
450ae27e293SMartin Mares	use the `-k' option.
451ae27e293SMartin Mares
452ae27e293SMartin Mares	* PCI_LIB_VERSION has been bumped to 0x020299.
453ae27e293SMartin Mares
454ae27e293SMartin Mares	* Makefile: stripping of the binaries during installation can be
455ae27e293SMartin Mares	overridden by the STRIP variable.
456ae27e293SMartin Mares
457ae27e293SMartin Mares	* lib/types.h: We use the integer types from <stdint.h> if the
458ae27e293SMartin Mares	compiler claims C99 support.
459ae27e293SMartin Mares
4600fc3bd18SMartin Mares2008-02-11  Martin Mares <[email protected]>
4610fc3bd18SMartin Mares
4622466b14bSMartin Mares	* Released as 2.2.10.
4632466b14bSMartin Mares
4646add52f5SMartin Mares	* lspci.c, setpci.c: Cleaned up the list of options.
4656add52f5SMartin Mares
4660fc3bd18SMartin Mares	* lib/names.c: Fix displaying of errors reported by zlib.
4670fc3bd18SMartin Mares	Previously, the buffer containing the error message had
4680fc3bd18SMartin Mares	been deallocated by gzclose() before the message was printed.
4690fc3bd18SMartin Mares
470d26b5378SMartin Mares2008-01-07  Martin Mares <[email protected]>
471d26b5378SMartin Mares
472d26b5378SMartin Mares	* update-pciids.sh: Added quiet mode (-q). Clean up uncompressed
473d26b5378SMartin Mares	files left by previous versions of the pciutils. Patch by Mike
474d26b5378SMartin Mares	Frysinger.
475d26b5378SMartin Mares
476d26b5378SMartin Mares	* update-pciids.man: Mention the -q switch.
477d26b5378SMartin Mares
478dc01dd60SMartin Mares2007-11-29  Martin Mares <[email protected]>
479dc01dd60SMartin Mares
480dc01dd60SMartin Mares	* lib/dump.c: Squashed compiler warnings about code with
481dc01dd60SMartin Mares	no effect (there really were surplus *'s).
482dc01dd60SMartin Mares
48311339c0dSMartin Mares2007-11-06  Martin Mares <[email protected]>
48411339c0dSMartin Mares
48513463566SMartin Mares	* Released as 2.2.9.
48613463566SMartin Mares
48711339c0dSMartin Mares	* lspci.c: Added a new switch `-k' which requests printing
48811339c0dSMartin Mares	of information on kernel drivers attached to each device
48911339c0dSMartin Mares	and on kernel modules reporting the ability to handle the
49011339c0dSMartin Mares	device. So far, this is supported only on Linux with the
49111339c0dSMartin Mares	sysfs back-end, so it is implemented internally in the lspci
49211339c0dSMartin Mares	instead of the libpci. Thanks to Anicka <[email protected]>
49311339c0dSMartin Mares	for help.
49411339c0dSMartin Mares
4953de798bdSMartin Mares2007-10-19  Martin Mares <[email protected]>
4963de798bdSMartin Mares
4976cdb9d93SMartin Mares	* Makefile, lib/Makefile: Moved -lz from LDFLAGS to LDLIBS.
4986cdb9d93SMartin Mares	Also added an explicit pattern rule for linking to make sure
4996cdb9d93SMartin Mares	that LDLIBS is used on all platforms. Thanks to Dan Nicholson
5006cdb9d93SMartin Mares	for the suggestion.
5016cdb9d93SMartin Mares
5026cdb9d93SMartin Mares2007-10-19  Martin Mares <[email protected]>
5036cdb9d93SMartin Mares
504a404b115SMartin Mares	* Released as 2.2.8.
505a404b115SMartin Mares
5063de798bdSMartin Mares	* pci.ids: Revised class codes to match Conventional PCI 3.0 specs.
5073de798bdSMartin Mares	Added a couple of new ones, renumbered `ADMA continuous operation'
5083de798bdSMartin Mares	prog-if to 0x30 (even the old SATA Class Code ECN doesn't mention
5093de798bdSMartin Mares	0x40) and renumbered the satellite communication controllers.
5103de798bdSMartin Mares
5112d2c4810SMartin Mares	* lib/header.h: Include `PCI hot-plug' and `Secure device'
512f7c76ec5SMartin Mares	capabilities from PCI 3.0 specs. Also added `SATA HBA' and
513f7c76ec5SMartin Mares	`Advanced features' caps from various ECN's.
5142d2c4810SMartin Mares
515fa2273caSMartin Mares	* lspci.c: All known capabilities have at least their name displayed
516fa2273caSMartin Mares	now. When we are unable to decode them completely, we signalize it
517fa2273caSMartin Mares	with a `<?>' mark.
518fa2273caSMartin Mares
519fa2273caSMartin Mares	* lspci.man: Document `<?>' and also mention that extended config
520fa2273caSMartin Mares	space is currently available only with the linux_sysfs back-end.
521fa2273caSMartin Mares
52231c9bb28SMartin Mares	* lspci.c: Decode the Debug port capability (per EHCI 0.96 spec).
52331c9bb28SMartin Mares
524a387042eSMartin Mares	* lspci.c: Big code cleanup: re-arranged functions in the code,
525a387042eSMartin Mares	renamed everything related to capabilities to cap_* and
526a387042eSMartin Mares	all options except verbose to opt_*.
527a387042eSMartin Mares
5289c79fcc4SMartin Mares2007-10-14  Martin Mares <[email protected]>
5299c79fcc4SMartin Mares
5309c79fcc4SMartin Mares	* lib/[fno]bsd-*: Removed extraneous braces.
5319c79fcc4SMartin Mares
532d5b4cd14SMartin Mares2007-10-12  Martin Mares <[email protected]>
533d5b4cd14SMartin Mares
534d5b4cd14SMartin Mares	* Capability loop detection introduced 2.2.7 did not work
535d5b4cd14SMartin Mares	  properly with extended capabilities. Fixed.
536d5b4cd14SMartin Mares
537594de878SMartin Mares2007-10-05  Martin Mares <[email protected]>
538594de878SMartin Mares
5398a23eadcSMartin Mares	* Released as 2.2.7.
5408a23eadcSMartin Mares
541594de878SMartin Mares	* lspci.c (show_caps, show_ext_caps): Detect and report loops in
542594de878SMartin Mares	capability lists.
543594de878SMartin Mares
5448a23eadcSMartin Mares	* lspci.c, lib/header.h: Finished decoding of the PCI Express
5458a23eadcSMartin Mares	capability. The extended capabilities remain undecoded for now,
5468a23eadcSMartin Mares	but at least the list of them has been updated to reflect the
5478a23eadcSMartin Mares	current PCI Express 2.0 spec.
5488a23eadcSMartin Mares
5498a23eadcSMartin Mares	* lspci.c, lib/header.h: Decode new bits of traditional registers
5508a23eadcSMartin Mares	as defined by PCIE / PCI-X. This includes discard timers in the bridge
5518a23eadcSMartin Mares	control register and INTx enable/status in device control/status
5528a23eadcSMartin Mares	registers.
5538a23eadcSMartin Mares
5548a23eadcSMartin Mares	* lib/fbsd-device.c: Support domains on new FreeBSD's. Contributed
5558a23eadcSMartin Mares	by Marius Strobl.
5568a23eadcSMartin Mares
55799091df9SMartin Mares2007-09-12  Hasso Tepper <[email protected]>
55899091df9SMartin Mares
55999091df9SMartin Mares	* Extended the fbsd-device backend to run on Dragonfly BSD.
56099091df9SMartin Mares
56199091df9SMartin Mares	* lspci.c: alloca() is declared in <stdlib.h> on BSD's, not <alloca.h>.
56299091df9SMartin Mares
56309156b3bSMartin Mares2007-09-03  Martin Mares <[email protected]>
56409156b3bSMartin Mares
56509156b3bSMartin Mares	* Resurrected the Windows port, including cross-compilation by MinGW.
56609156b3bSMartin Mares	Patch by Samuel Bronson <[email protected]>.
56709156b3bSMartin Mares
568325a3c50SMartin Mares2007-08-31  Martin Mares <[email protected]>
569325a3c50SMartin Mares
570325a3c50SMartin Mares	* Makefile, lib/Makefile: `ar' and `ranlib' can be overriden to allow
571325a3c50SMartin Mares	cross-compilation.
572325a3c50SMartin Mares
573a2322147SMartin Mares2007-08-27  Martin Mares  <[email protected]>
574a2322147SMartin Mares
575a2322147SMartin Mares	* lib/names.c (pci_open): When calling gzopen(), use "rb" file mode
576a2322147SMartin Mares	instead of "r". This is needed on DOS systems, where this function
577a2322147SMartin Mares	somewhat illogically uses the binary flag for the compressed file
578a2322147SMartin Mares	instead of the decompressed stream inside, where binariness really
579a2322147SMartin Mares	matters.
580a2322147SMartin Mares
5814f2c5b94SMartin Mares2007-08-14  Martin Mares  <[email protected]>
5824f2c5b94SMartin Mares
5834f2c5b94SMartin Mares	* lspci.c (show_ht): Added decoding of Hypertransport MSI mapping capability,
5844f2c5b94SMartin Mares	based on a patch by Jason Gunthorpe.
5854f2c5b94SMartin Mares
5864f2c5b94SMartin Mares	* tests/cap-MSI-mapping: Added a test case. I plan to add test cases
5874f2c5b94SMartin Mares	(which are dumps of config space) for all new features.
5884f2c5b94SMartin Mares
5890d7f5331SMartin Mares2007-06-20  Martin Mares  <[email protected]>
5900d7f5331SMartin Mares
5917cebe481SMartin Mares	* Released as 2.2.6.
5927cebe481SMartin Mares
5930d7f5331SMartin Mares	* Makefile: Added an "install-lib" target. Thanks to Dan Nicholson
5940d7f5331SMartin Mares	for a patch.
5950d7f5331SMartin Mares
5967cebe481SMartin Mares	* Makefile, lib/Makefile: Generate and install pkg-config file
5977cebe481SMartin Mares	for libpci. Again by Dan Nicholson.
5987cebe481SMartin Mares
5990d7f5331SMartin Mares2007-06-20  Thomas Schwinge  <[email protected]>
6000d7f5331SMartin Mares
6010d7f5331SMartin Mares	* lib/i386-io-hurd.h: Rewritten for new Hurd kernels.
6020d7f5331SMartin Mares
6036e4a45edSMartin Mares2007-05-04  Martin Mares  <[email protected]>
6046e4a45edSMartin Mares
60555c89179SMartin Mares	* Released as 2.2.5.
60655c89179SMartin Mares
6076e4a45edSMartin Mares	* pci.ids: Updated to the current snapshot of the database.
6086e4a45edSMartin Mares
609d0b07542SMartin Mares2007-02-14  Martin Mares  <[email protected]>
610d0b07542SMartin Mares
611d0b07542SMartin Mares	* lspci.c (show_express): Added PCI/PCI-X to PCI-Express Bridge type.
612d0b07542SMartin Mares	Patch by Mark Glines.
613d0b07542SMartin Mares
6143df35926SMartin Mares2007-02-09  Martin Mares  <[email protected]>
6153df35926SMartin Mares
6163df35926SMartin Mares	* pci.ids: Updated to the current snapshot of the database.
6173df35926SMartin Mares
618e49ed044SMartin Mares2007-02-06  Martin Mares  <[email protected]>
619e49ed044SMartin Mares
6201ac3a99dSMartin Mares	* Replaced bzero() by memset() everywhere, it's better to lose a tiny
6211ac3a99dSMartin Mares	bit of readability than maintain hacks to make it work on various systems.
6221ac3a99dSMartin Mares
623b0eb18ccSMartin Mares	* lib/configure: tr on Solaris is a bit weird and it requires `[A-Z]'
624b0eb18ccSMartin Mares	instead of `A-Z'. Fortunately, the extra brackets don't hurt otherwise.
625b0eb18ccSMartin Mares
626e49ed044SMartin Mares	* lib/types.h, lib/configure: Solaris should use <stdint.h> to get precise
627e49ed044SMartin Mares	integer types.
628e49ed044SMartin Mares
6299de2768cSMartin Mares2007-02-04  Martin Mares  <[email protected]>
6309de2768cSMartin Mares
6319de2768cSMartin Mares	* lspci.c: alloca() needs <alloca.h>.
6329de2768cSMartin Mares
633d19394dbSMartin Mares2006-09-17  Martin Mares  <[email protected]>
634d19394dbSMartin Mares
635d19394dbSMartin Mares	* lib/dump.c: Fixed a couple of bugs in the dump backend which caused
636d19394dbSMartin Mares	devices with domains or with extended config space to be read incorrectly.
637d19394dbSMartin Mares	Also, dumps with partial lines are allowed now.
638d19394dbSMartin Mares
639934e7e36SMartin Mares2006-09-10  Martin Mares  <[email protected]>
640934e7e36SMartin Mares
641f09856deSMartin Mares	* pci.ids: Updated to the current database snapshot.
642f09856deSMartin Mares
643934e7e36SMartin Mares	* lspci.c (scan_device): If an error occurs when reading the standard config
644934e7e36SMartin Mares	header of a device, report it and ignore the device and return with exit
645934e7e36SMartin Mares	code 2 at the end.
646934e7e36SMartin Mares
647b2055313SMartin Mares2006-09-09  Martin Mares  <[email protected]>
648b2055313SMartin Mares
649fb260653SMartin Mares	* Released as 2.2.4.
650fb260653SMartin Mares
6511865e2ddSMartin Mares	* maint/release: Remind the maintainer about the current PCI_LIB_VERSION.
6521865e2ddSMartin Mares
653028dffb2SMartin Mares	* lib/pci.h: Updated PCI_LIB_VERSION.
654028dffb2SMartin Mares
65513081e57SMartin Mares	* lspci.c (show_machine): In the `-m' mode, do proper shell escaping
65613081e57SMartin Mares	if the fields printed contain quotes or backslashes.
65713081e57SMartin Mares
6583fd6b4d2SMartin Mares	* lspci.c (show_machine): Added a `-vmm' mode, which removes the misuse
6593fd6b4d2SMartin Mares	of the `Device' tag for two different purposes.
6603fd6b4d2SMartin Mares
661840d09aeSMartin Mares	* Makefile: Moved all system-dependent decisions to lib/configure,
662840d09aeSMartin Mares	since config.mk is included in the top-level Makefile anyway.
663840d09aeSMartin Mares
6642100f710SMartin Mares	* lib/configure: When configuring for Linux, ignore the kernel version
6652100f710SMartin Mares	and always build all access methods.
6662100f710SMartin Mares
6673e9c7a18SMartin Mares	* Makefile (CFLAGS): Removed -Winline, it's not needed and triggers
6683e9c7a18SMartin Mares	at many non-interesting places with gcc 3.4.
6693e9c7a18SMartin Mares
67094db5c82SMartin Mares	* Whitespace cleanup of all source files.
67194db5c82SMartin Mares
672cc062b4aSMartin Mares	* The pci.ids file can be stored compressed if zlib is available.
673cc062b4aSMartin Mares	Added transparent decompression to lib/names.c, modified update-pciids.sh
674cc062b4aSMartin Mares	to keep the file compressed if applicable, updated Makefiles.
675cc062b4aSMartin Mares	Based on a patch by Matthew Wilcox, but all the bugs are mine.
676cc062b4aSMartin Mares
677f4ddb8d3SMartin Mares	* Makefile, README: Allow installation to be done to a different directory
678f4ddb8d3SMartin Mares	from the one we will eventually be placed in by setting DESTDIR.
679f4ddb8d3SMartin Mares	Patch by Matthew Wilcox.
680f4ddb8d3SMartin Mares
68116e37012SMartin Mares	* Added .gitignore files.
68216e37012SMartin Mares
683c7f5314dSMartin Mares	* Makefile (clean): Clean *.orig, too.
684c7f5314dSMartin Mares
685afebde01SMartin Mares	* Cleaned up usage of `char' and `byte'.
686afebde01SMartin Mares
687fd54ccebSMartin Mares	* lib/header.h: PCI_CLASS_DOCKING_OTHER should be 0x0a80, not 0x0a01.
688fd54ccebSMartin Mares
689b2055313SMartin Mares	* lib/header.h: Added PCI_CLASS_xxx constants for all classes currently
690b2055313SMartin Mares	defined in the pci.ids file.
691b2055313SMartin Mares
6924254d153SMartin Mares2006-08-01  Martin Mares  <[email protected]>
6934254d153SMartin Mares
6944254d153SMartin Mares	* lib/i386-io-hurd.h: Fixed a silly typo.
6954254d153SMartin Mares
6961c5cc9b5SMartin Mares2006-07-30  Martin Mares  <[email protected]>
6971c5cc9b5SMartin Mares
69838a9e3c3SMartin Mares	* lib/Makefile: Added a missing rule for obsd-device.o.
69938a9e3c3SMartin Mares
700c7ddfa3eSMartin Mares	* lspci.c, lib/header.h: Added support for MSI per-vector masking.
701c7ddfa3eSMartin Mares	Contributed by Petr Vandrovec.
702c7ddfa3eSMartin Mares
703248a04f8SMartin Mares	* lspci.c, lib/header.h: Added support for the `bridge subsystem ID'
704248a04f8SMartin Mares	capability. Contributed by Petr Vandrovec.
705248a04f8SMartin Mares
706f29dcc87SMartin Mares	* lspci.c (show_htype1): Fixed bug in printing of 64-bit prefetchable
707f29dcc87SMartin Mares	memory windows. Fix by Petr Vandrovec.
708f29dcc87SMartin Mares
7098eab3bffSMartin Mares	* maint/release.pm: Exclude .git directory from releases.
7108eab3bffSMartin Mares
711d305d704SMartin Mares	* lib/i386-ports.c, lib/i386-io-*: Report failures during port access
712d305d704SMartin Mares	initialization by a->warn() instead of calling printf() or perror()
713d305d704SMartin Mares	directly.
714d305d704SMartin Mares
7159007a292SMartin Mares	* lib/i386-ports.c, lib/i386-io-*: Moved the logic which keeps track of
7169007a292SMartin Mares	the port access state to generic code.
7179007a292SMartin Mares
718bd20d5b5SMartin Mares	* lib/i386-io-hurd.h: Ask the kernel for I/O port access appropriately.
719bd20d5b5SMartin Mares	Contributed by Thomas Schwinge and Samuel Thibault.
720bd20d5b5SMartin Mares
72173750606SMartin Mares	* lib/i386-ports.c: Define _GNU_SOURCE, it's needed by the Hurd module.
72273750606SMartin Mares
723d71daa45SMartin Mares	* lib/header.h: Whitespace cleanups.
724d71daa45SMartin Mares
7251c5cc9b5SMartin Mares	* lib/i386-io-windows.h: Fixed indentation and spelling.
7261c5cc9b5SMartin Mares
7271c5cc9b5SMartin Mares	* README.Windows: Mention that WinIO.dll is needed and where to get it.
7281c5cc9b5SMartin Mares
729c2b144efSMartin Mares2006-06-27  Martin Mares  <[email protected]>
730c2b144efSMartin Mares
73114d4f989SMartin Mares	* lib/Makefile, Makefile: Added rules for building and cleaning the example.
73214d4f989SMartin Mares
73314d4f989SMartin Mares	* lib/example.c: Show how to use PCI_FILL_CLASS and used another register
73414d4f989SMartin Mares	for demonstrating the config space accesses. The example is still very
73514d4f989SMartin Mares	incomplete, though.
73614d4f989SMartin Mares
737c2b144efSMartin Mares	* lib/pci.h, lib/generic.c: Added PCI_FILL_CLASS.
738c2b144efSMartin Mares
739c2b144efSMartin Mares	* lib/sysfs.c: Fetch device ID and class from sysfs, because they can
740c2b144efSMartin Mares	be modified by kernel fixups.
741c2b144efSMartin Mares
742c2b144efSMartin Mares	* lspci.c: Use PCI_FILL_CLASS. Thanks to Matthew Willcox for the patch.
743c2b144efSMartin Mares
744bc2eed2dSMartin Mares2006-06-03  Martin Mares  <[email protected]>
745bc2eed2dSMartin Mares
746bc2eed2dSMartin Mares	* lspci.c: Introduced the -nn switch. Thanks to David N. Welton
747bc2eed2dSMartin Mares	for the idea.
748bc2eed2dSMartin Mares
749bc2eed2dSMartin Mares	* lib/names.c (pci_lookup_name): Introduced PCI_LOOKUP_MIXED and
750bc2eed2dSMartin Mares	cleaned up the name selection code.
751bc2eed2dSMartin Mares
752c72eeddeSMartin Mares	* lib/names.c (pci_lookup_name): If PCI_LOOKUP_NO_NUMBERS is given,
753c72eeddeSMartin Mares	pci_access->numeric_ids is ignored.
754c72eeddeSMartin Mares
755c72eeddeSMartin Mares	* lib/names.c (pci_lookup_name): When class is identified and
756c72eeddeSMartin Mares	subclass isn't, display class name and subclass number.
757c72eeddeSMartin Mares
7582f294d4bSMartin Mares2006-05-31  Martin Mares  <[email protected]>
7592f294d4bSMartin Mares
7602f294d4bSMartin Mares	* setpci.c (main): Don't crash when an invalid width is specified.
7612f294d4bSMartin Mares
76281afa98cSMartin Mares	* lspci.c, setpci.c, common.c: die() now uses the right program
76381afa98cSMartin Mares	name when printing an error message.
76481afa98cSMartin Mares
7650ac282f2SMartin Mares2006-05-19  Martin Mares  <[email protected]>
7660ac282f2SMartin Mares
7670ac282f2SMartin Mares	* README: Mention the public GIT tree.
7680ac282f2SMartin Mares
7690ac282f2SMartin Mares	* README: Updated the list of ports.
7700ac282f2SMartin Mares
771d1058e9dSMartin Mares2006-05-10  Martin Mares  <[email protected]>
772d1058e9dSMartin Mares
773d1058e9dSMartin Mares	* lib/configure, lib/fbsd-device.c: Added support for GNU/kFreeBSD.
774d1058e9dSMartin Mares	Thanks to Petr Salinger for the patch.
775d1058e9dSMartin Mares
776abf8d505SMartin Mares2006-05-05  Martin Mares  <[email protected]>
777abf8d505SMartin Mares
7782ae2d1aeSMartin Mares	* Released as 2.2.3.
7792ae2d1aeSMartin Mares
7802ae2d1aeSMartin Mares	* lspci.c (scan_device): The -D switch didn't work as intended
7812ae2d1aeSMartin Mares	in -m mode.
7822ae2d1aeSMartin Mares
7832ae2d1aeSMartin Mares2006-05-05  Martin Mares  <[email protected]>
7842ae2d1aeSMartin Mares
7851d5cf727SMartin Mares	* Released as 2.2.2.
7861d5cf727SMartin Mares
7878a830168SMartin Mares	* pci.ids: Updated to the current database snapshot.
7888a830168SMartin Mares
789b6359063SMartin Mares	* lib/obsd-device.c (and other files in lib/*): Added OpenBSD
790b6359063SMartin Mares	interface by Matthieu Herrb <[email protected]>, based on
791b6359063SMartin Mares	the existing FreeBSD interface.
792b6359063SMartin Mares
793abf8d505SMartin Mares	* Moved pciutils to a GIT repository, which now contains merged
794abf8d505SMartin Mares	history from both CVS and Arch. Good bye, TLA!
795abf8d505SMartin Mares
7966ac70402SMartin Mares2006-03-21  Martin Mares  <[email protected]>
7976ac70402SMartin Mares
7982a124daeSMartin Mares	* lspci.c (show_slot_name): Avoid the previous changes in default
7992a124daeSMartin Mares	display of domain name when in machine-readable mode. However, `-D'
8002a124daeSMartin Mares	forces domain display even there.
8012a124daeSMartin Mares
8026ac70402SMartin Mares	* lspci.man: Added a warning on -m being the only format, which is
8036ac70402SMartin Mares	guaranteed to be stable between lspci versions.
8046ac70402SMartin Mares
8051bbdea17SMartin Mares2006-03-13  Martin Mares  <[email protected]>
8061bbdea17SMartin Mares
807af61eb25SMartin Mares	* lspci.man: Documented the -D switch.
808af61eb25SMartin Mares
809af61eb25SMartin Mares	* lspci.c (show_slot_name, scan_device): If there are multiple PCI
810af61eb25SMartin Mares	domains or if the `-D' switch is used, show the domain number for
811af61eb25SMartin Mares	all devices.
812af61eb25SMartin Mares
8137a61b93cSMartin Mares	* lspci.c (show_verbose): Report cache line size in bytes.
8147a61b93cSMartin Mares
8151bbdea17SMartin Mares	* update-pciids.sh: Use curl if available. Patch by Matthew Wilcox.
8161bbdea17SMartin Mares
8170e78ef8aSMartin Mares2006-01-04  Martin Mares  <[email protected]>
8180e78ef8aSMartin Mares
8190e78ef8aSMartin Mares	* lspci.c (show_express_link): Fixed decoding of link status register.
8200e78ef8aSMartin Mares	Thanks to Roland Dreier for his report.
8210e78ef8aSMartin Mares
822e6859953SMartin Mares2005-12-12  Martin Mares  <[email protected]>
823e6859953SMartin Mares
824e6859953SMartin Mares	* lib/nbsd-libpci.c: If libpci is used by an ordinary user, allow
825e6859953SMartin Mares	at least read-only access. Patch by Pavel Celeda <[email protected]>.
826e6859953SMartin Mares
827e6859953SMartin Mares	* Makefile: Corrected library path on NetBSD.
828e6859953SMartin Mares
829a99c0d69SMartin Mares2005-11-26  Martin Mares  <[email protected]>
830a99c0d69SMartin Mares
831e4af70c6SMartin Mares	* Released as 2.2.1.
832e4af70c6SMartin Mares
833a99c0d69SMartin Mares	* lspci.c (show_machine): Subsystem vendors were printed incorrectly
834a99c0d69SMartin Mares	in machine-readable modes. Thanks to Pavel Celeda for a bug report.
835a99c0d69SMartin Mares
836f23fd3fcSMartin Mares2005-10-11  Martin Mares  <[email protected]>
837f23fd3fcSMartin Mares
838f23fd3fcSMartin Mares	* lspci.c (new_bus): Fixed a memory leak. Thanks to Paul Sangree for reporting it.
839f23fd3fcSMartin Mares
84015296723SMartin Mares2005-09-21  Martin Mares  <[email protected]>
84115296723SMartin Mares
84215296723SMartin Mares	* Released as 2.2.0.
84315296723SMartin Mares
84440b6d93fSMartin Mares	* pci.ids: Updated copyright header.
84540b6d93fSMartin Mares
84615296723SMartin Mares	* lib/sysfs.c (sysfs_get_resources): Removed warning about unsupported
84715296723SMartin Mares	64-bit addresses, they are now always supported.
84815296723SMartin Mares
84915296723SMartin Mares	* lspci.c (show_bases): Corrected printing of 64-bit addresses
85015296723SMartin Mares	in bus-centric mode.
85115296723SMartin Mares
85215296723SMartin Mares	* lib/configure: Enable 64-bit addresses on all Linux systems.
85315296723SMartin Mares
85415296723SMartin Mares	* lib/types.h: Don't pad 64-bit addresses to 16 xigits, only to 8 if they
85515296723SMartin Mares	are shorter.
85615296723SMartin Mares
857224707baSMartin Mares2005-09-11  Martin Mares  <[email protected]>
858224707baSMartin Mares
859224707baSMartin Mares	* Released as 2.1.99-test11.
860224707baSMartin Mares
861224707baSMartin Mares	* lspci.c: Removed unnecessary trailing zeros in pci_lookup_name() calls.
862224707baSMartin Mares
863aeaca5d3SMartin Mares2005-09-10  Martin Mares  <[email protected]>
864aeaca5d3SMartin Mares
865224707baSMartin Mares	* Released as 2.1.99-test10.
866224707baSMartin Mares
86763e6f2e0SMartin Mares	* pci.ids: Synchronized with the current database snapshot.
86863e6f2e0SMartin Mares
869043ebdeeSMartin Mares	* update-pciids.sh: Changed the default URL for downloading pci.ids
870043ebdeeSMartin Mares	to http://pciids.sourceforge.net/v2.2/pci.ids.
871043ebdeeSMartin Mares
872043ebdeeSMartin Mares	* lib/pci.h (PCI_LIB_VERSION): Added version identifier.
873043ebdeeSMartin Mares
874aeaca5d3SMartin Mares	* lib/names.c: Rewritten the name database module almost from scratch.
875aeaca5d3SMartin Mares	Everything is much cleaner and there are hopefully no more memory leaks;
876aeaca5d3SMartin Mares	pci_lookup_name() now uses varargs in a backward compatible fashion.
877aeaca5d3SMartin Mares	Introduced PCI_LOOKUP_NO_NUMBERS.
878aeaca5d3SMartin Mares
879aeaca5d3SMartin Mares	The new code supports subsystem entries not tied to a specific device.
880aeaca5d3SMartin Mares	I had to extend the format of pci.ids in order to support it, so I have
881aeaca5d3SMartin Mares	extended the idea of the "C" (class) blocks and introduced "S" blocks
882aeaca5d3SMartin Mares	for subsystems. To avoid doing more incompatible changes in the future,
883aeaca5d3SMartin Mares	the parser skips unknown single-letter blocks without reporting errors.
884aeaca5d3SMartin Mares
885121c76c9SMartin Mares2005-08-23  Martin Mares  <[email protected]>
886121c76c9SMartin Mares
88754e13765SMartin Mares	* Released as 2.1.99-test9.
88854e13765SMartin Mares
88954e13765SMartin Mares	* Makefile (OPT): Removed -fomit-frame-pointer, it's default in recent
89054e13765SMartin Mares	gcc versions when optimizing anyway.
89154e13765SMartin Mares
89254e13765SMartin Mares	* Made the path to pci.ids customizable and independent on the SHAREDIR.
89354e13765SMartin Mares	Just override IDSDIR in the top-level Makefile.
89454e13765SMartin Mares
89554e13765SMartin Mares	* pci.ids: Synchronized with the current database snapshot.
89654e13765SMartin Mares
89784d437d6SMartin Mares	* lspci.man, setpci.man: Improved the man pages. Documented all access
89884d437d6SMartin Mares	methods and which operations are privileged.
89984d437d6SMartin Mares
90084d437d6SMartin Mares	* lspci.c: Another rewrite of config register caching, now also including
90184d437d6SMartin Mares	lots of internal checks. It should be now perfectly able to cope with
90284d437d6SMartin Mares	portions of the configuration space being inaccessible, for example
90384d437d6SMartin Mares	due to insufficient access rights.
90484d437d6SMartin Mares
9053b8bf739SMartin Mares	* lspci.c (show_pcix_nobridge, show_pcix_bridge): Cleaned up dumping of PCI-X
9063b8bf739SMartin Mares	capabilities. Includes partial support for PCI-X 2.0 (probably incomplete
9073b8bf739SMartin Mares	as I haven't seen the spec).
9083b8bf739SMartin Mares
9093b8bf739SMartin Mares	* lspci.c: Quell warnings about unused parameters.
9103b8bf739SMartin Mares
91184d437d6SMartin Mares	* lspci.c: Removed C++ comments.
91284d437d6SMartin Mares
9133b8bf739SMartin Mares	* lib/header.h: Merged definitions of extended capabilities and some new
9143b8bf739SMartin Mares	PCI-X capability bits from linux-2.6.11/include/pci.h.
9153b8bf739SMartin Mares
9163b8bf739SMartin Mares	* lspci.c (show_caps): Try to scan extended capabilities only if the
9173b8bf739SMartin Mares	device has either PCI-X or PCI Express capability in its normal capability
9183b8bf739SMartin Mares	list.
9193b8bf739SMartin Mares
920f7821e53SMartin Mares	* lib/dump.c (dump_init): Reading of dumps works again. The dump reader
921f7821e53SMartin Mares	now also remembers how much data it has read and refuses attempts to
922f7821e53SMartin Mares	access more than that.
923ea4e5f5dSMartin Mares
92446ea554dSMartin Mares	* setpci.man, lspci.c, README: prefer spelling "buses" over "busses".
92546ea554dSMartin Mares
9268afaab22SMartin Mares	* lspci.c: If alloca() is not available, use xmalloc(), not malloc().
9278afaab22SMartin Mares
928121c76c9SMartin Mares	* lib/configure: Added x86_64 on Linux.
929121c76c9SMartin Mares
930c1c2c30eSMartin Mares2005-08-22  Martin Mares  <[email protected]>
931c1c2c30eSMartin Mares
932b9ca9147SMartin Mares	* lib/filter.c (pci_filter_parse_slot): Fixed parsing of domain filters.
933b9ca9147SMartin Mares	Thanks to Matthew Wilcox for bug report.
934b9ca9147SMartin Mares
935c1c2c30eSMartin Mares	* lspci.c: Corrected spelling of "Hz" (it was "hz" at several places).
936b9ca9147SMartin Mares	Thanks to Krzysztof Oledzki for pointing that out.
937c1c2c30eSMartin Mares
93826542a0bSMartin Mares2004-08-19  Martin Mares  <[email protected]>
93926542a0bSMartin Mares
94026542a0bSMartin Mares	* pciutils.spec (%attr): Setting attributes for /sbin/* is an anachronism,
94126542a0bSMartin Mares	because pciutils by default install to /usr/sbin. Update.
94226542a0bSMartin Mares
9436aa54f1bSMartin Mares2004-08-13  Martin Mares  <[email protected]>
9446aa54f1bSMartin Mares
945aabb0a92SMartin Mares	* Released as 2.1.99-test8.
946aabb0a92SMartin Mares
947f31412d1SMartin Mares	* lib/types.h, lib/pci.h, lib/sysdep.h: `byte' and `word' are
948f31412d1SMartin Mares	no longer exported to the outside world.
949f31412d1SMartin Mares
950ee7d8384SMartin Mares	* README.Windows: Updated.
951ee7d8384SMartin Mares
952ee7d8384SMartin Mares	* maint/release: Substitute version number in win32/config.h.
953ee7d8384SMartin Mares
954ee7d8384SMartin Mares	* win32/config.h: Added.
955ee7d8384SMartin Mares
956ee7d8384SMartin Mares	* lib/sysdep.h (bzero, strcasecmp): are macros on Windows.
957ee7d8384SMartin Mares
958ee7d8384SMartin Mares	* compat/getopt.[ch]: Added copies of getopt.[ch] from the GNU
959ee7d8384SMartin Mares	C library for use on systems where the default libraries lack
960ee7d8384SMartin Mares	proper getopt. Currently used by the Windows port.
961ee7d8384SMartin Mares
962ee7d8384SMartin Mares	* lib/sysdep.h, lib/types.h: Updates of the Windows port from
963ee7d8384SMartin Mares	Alexander Stock.
964ee7d8384SMartin Mares
965489233b4SMartin Mares	* lib/types.h: If PCI_HAVE_Uxx_TYPES is defined, libpci doesn't define
966489233b4SMartin Mares	its own u8, u16, u32, byte and word types and uses what the user
967489233b4SMartin Mares	has supplied instead. With this change, all namespace clashes should
968489233b4SMartin Mares	be gone.
969489233b4SMartin Mares
970489233b4SMartin Mares	* Makefile, lib/Makefile: Updated dependencies.
971489233b4SMartin Mares
972489233b4SMartin Mares	* pciutils.h: Include lib/sysdep.h and move NONRET et al. there.
973489233b4SMartin Mares
974489233b4SMartin Mares	* lib/sysdep.h: No need to include <sys/types.h> on FreeBSD, because
975489233b4SMartin Mares	it is included unconditionally in lib/types.h.
976489233b4SMartin Mares
977489233b4SMartin Mares	* Moved system-dependent stuff from lib/internal.h to lib/sysdep.h,
978489233b4SMartin Mares	which is also used by the utilities. Also moved type declarations
979489233b4SMartin Mares	from lib/pci.h to lib/types.h.
980489233b4SMartin Mares
981489233b4SMartin Mares	* All files: Prepend a "PCI_" prefix in front of all configuration
982489233b4SMartin Mares	defines to avoid namespace clashes. CAVEAT: If there is any libpci
983489233b4SMartin Mares	application using the (undocumented) defines, it has to be updated.
984489233b4SMartin Mares
985489233b4SMartin Mares	* lib/Makefile: Killed HAVE_OWN_HEADER_H, since we stopped sharing
986489233b4SMartin Mares	headers with the kernel a couple of years ago.
987489233b4SMartin Mares
9889bb4b4eaSMartin Mares	* lib/sysfs.c (sysfs_get_resources): We have 7 resources, not 6.
9899bb4b4eaSMartin Mares
9906aa54f1bSMartin Mares	* lspci.c (show_rom): Use the same logic for printing disabled
9916aa54f1bSMartin Mares	or unassigned ROM's as we do in show_bases() for the other BAR's.
9926aa54f1bSMartin Mares
9936aa54f1bSMartin Mares	* lib/generic.c (pci_generic_fill_info): Better reaction to
9946aa54f1bSMartin Mares	invalid 64-bit addresses. Also d->hdrtype should not include
9956aa54f1bSMartin Mares	bit 7, which caused mysterious errors on multi-function devices.
9966aa54f1bSMartin Mares
9976aa54f1bSMartin Mares	* lib/generic.c (pci_generic_fill_info): Fill in base addresses
9986aa54f1bSMartin Mares	even if the regions are known to be disabled. It is the client's
9996aa54f1bSMartin Mares	job to interpret them. (And it is not a trivial job if you want
10006aa54f1bSMartin Mares	to do it correctly, since you need to check I/O and memory enables
10016aa54f1bSMartin Mares	on all upstream bridges, too.) However, it could be interesting to
10026aa54f1bSMartin Mares	introduce functions for interpreting the addresses and even for
10036aa54f1bSMartin Mares	mapping the regions and doing I/O on them.
10046aa54f1bSMartin Mares
100580e6c636SMartin Mares2004-07-30  Martin Mares  <[email protected]>
100680e6c636SMartin Mares
100780e6c636SMartin Mares	* lspci.c: HyperTransport improvements from Maciej.
100880e6c636SMartin Mares
1009d6324891SMartin Mares2004-07-11  Martin Mares  <[email protected]>
1010d6324891SMartin Mares
1011d6324891SMartin Mares	* lib/sysfs.c (sysfs_get_resources): Arguments now correspond
1012d6324891SMartin Mares	to the format string. [Patch by Bill Nottingham]
1013d6324891SMartin Mares
1014ec25b52dSMartin Mares2004-07-05  Martin Mares  <[email protected]>
1015ec25b52dSMartin Mares
1016362be683SMartin Mares	* Released as 2.1.99-test7.
1017362be683SMartin Mares
1018ec25b52dSMartin Mares	* lspci.c (config_fetch): Wanted to merge Matthew's bug fix, but
1019ec25b52dSMartin Mares	ended up with rewriting the fetching mechanism to be fully dynamic,
1020ec25b52dSMartin Mares	but avoid reading config space registers not explicitly requested.
1021ec25b52dSMartin Mares
1022ec25b52dSMartin Mares2004-06-29  Matthew Wilcox <[email protected]>
1023ec25b52dSMartin Mares
1024ec25b52dSMartin Mares	* lspci.c: More work on PCI Express dumping.
1025ec25b52dSMartin Mares
1026ec25b52dSMartin Mares	* lib/header.h: Updated PCI Express capability definitions.
1027ec25b52dSMartin Mares
1028ec25b52dSMartin Mares	* lib/proc.c (proc_read): Removed bogus warning.
1029ec25b52dSMartin Mares
1030ec25b52dSMartin Mares	* common.c (xrealloc): Introduced.
1031ec25b52dSMartin Mares
1032ec25b52dSMartin Mares	* lspci.man: Added -xxxx.
1033ec25b52dSMartin Mares
103409817437SMartin Mares2004-06-27  Martin Mares  <[email protected]>
103509817437SMartin Mares
1036d1fa27ebSMartin Mares	* Released as 2.1.99-test6.
1037d1fa27ebSMartin Mares
10384d67aa89SMartin Mares	* lspci.c (show_msix), lib/header.h: Added dumping of MSI-X cap.
10394d67aa89SMartin Mares	Patch by Roland Dreier <[email protected]>, cleaned up by me.
10404d67aa89SMartin Mares
10414d67aa89SMartin Mares	* lspci.c (show_pcix_nobridge, show_pcix_bridge): Handle config_fetch()
10424d67aa89SMartin Mares	failures.
10434d67aa89SMartin Mares
10444d67aa89SMartin Mares	* lib/header.h: Added PCI Express extended capabilities. Again by Matthew.
10454d67aa89SMartin Mares
10464d67aa89SMartin Mares	* lspci.c (show_express): Added dumping of PCI Express cap.
10474d67aa89SMartin Mares	Patch by Matthew Wilcox.
10484d67aa89SMartin Mares
10494d67aa89SMartin Mares	* lib/header.h: Added a list of PCI 3.0 capabilities and also details
10504d67aa89SMartin Mares	on PCI Express caps. Patch by Matthew Wilcox <[email protected]>.
10514d67aa89SMartin Mares
105209817437SMartin Mares	* lspci.c (check_root): Gone. No explicit checks for root are needed,
105309817437SMartin Mares	report correct errors reported by the libpci instead.
105409817437SMartin Mares
105509817437SMartin Mares	* lspci.c: Added dumping of the extended config space on "-xxxx".
105609817437SMartin Mares	Better caching of config registers.
105709817437SMartin Mares
105809817437SMartin Mares	* setpci.c (main): Allow access to whole 4096 bytes of the config space.
105909817437SMartin Mares
106009817437SMartin Mares	* lib/sysfs.c, lib/proc.c: Don't print error messages on short reads,
106109817437SMartin Mares	just return the appropriate error code.
106209817437SMartin Mares
106309817437SMartin Mares	* lib: Added support for extended (4096-byte) configuration space,
106409817437SMartin Mares	currently implemented only in Linux proc and sysfs access methods
106509817437SMartin Mares	and of course in the dump reader.
106609817437SMartin Mares
10670d656226SMartin Mares2004-05-29  Martin Mares  <[email protected]>
10680d656226SMartin Mares
1069c0eece92SMartin Mares	* Released as 2.1.99-test5.
1070c0eece92SMartin Mares
1071a2413560SMartin Mares	* lib/pci.h: Windows don't have the standard u_int* types.
1072a2413560SMartin Mares
1073a2413560SMartin Mares	* lib/internal.h: <sys/param.h> required on Windows for endianity
1074a2413560SMartin Mares	macros.
1075a2413560SMartin Mares
1076a2413560SMartin Mares	* lib/i386-ports.c: Connected i386-io-windows.h.
1077a2413560SMartin Mares
1078a2413560SMartin Mares	* lspci.c (check_root): geteuid() is not available on Windows.
1079a2413560SMartin Mares
1080a2413560SMartin Mares	* lib/i386-io-windows.h: Added Windows port contributed by Alexander
1081a2413560SMartin Mares	Stock <[email protected]>.
1082a2413560SMartin Mares
1083a2413560SMartin Mares	* lib/configure: Hopefully fixed SunOS port broken by various
1084a2413560SMartin Mares	changes to the configure script.
1085a2413560SMartin Mares
10860d656226SMartin Mares	* Makefile, lib/configure: Cross-compilation support, patch by Maciej.
10870d656226SMartin Mares
1088138c0385SMartin Mares2004-05-28  Martin Mares  <[email protected]>
1089138c0385SMartin Mares
10909f490382SMartin Mares	* Released as 2.1.99-test4.
10919f490382SMartin Mares
1092cce2caacSMartin Mares	* lspci.c (show_verbose): Header type 1 is probably legal for all
1093cce2caacSMartin Mares	types of bridges, not only for PCI-to-PCI bridges.
1094cce2caacSMartin Mares
1095b569ef09SMartin Mares	* lspci.c (format_agp_rate): Write "x16", not "x@".
1096b569ef09SMartin Mares	(show_agp): rate[] could overflow.
1097b569ef09SMartin Mares	Bugs reported by Jakub Bogusz <[email protected]>.
1098b569ef09SMartin Mares
1099bfc4fe7aSMartin Mares	* lspci.c (show_ht_*): Show HyperTransport capability with all its
1100bfc4fe7aSMartin Mares	details. Once again code by Maciej simplified (i.e., possibly broken)
1101bfc4fe7aSMartin Mares	by me.
1102bfc4fe7aSMartin Mares
1103bfc4fe7aSMartin Mares	* lib/header.h: Added declarations of HyperTransport capability.
1104bfc4fe7aSMartin Mares	Again thanks to Maciej.
1105bfc4fe7aSMartin Mares
1106138c0385SMartin Mares	* lspci.c: Decode all bits of the secondary status word in type 1 headers.
1107138c0385SMartin Mares	Thanks to Maciej W. Rozycki <[email protected]> for the patch.
1108138c0385SMartin Mares
11098fc75dbcSMartin Mares2003-12-27  Martin Mares  <[email protected]>
11108fc75dbcSMartin Mares
111181abd2a7SMartin Mares	* Released as 2.1.99-test3.
111281abd2a7SMartin Mares
11131f7c91ccSMartin Mares	* lspci.man, setpci.man: Document domains and correct spelling.
11141f7c91ccSMartin Mares
11151f7c91ccSMartin Mares	* lib/dump.c (dump_init): Added ability to read domain numbers.
11161f7c91ccSMartin Mares
111784c8d1bbSMartin Mares	* lspci.c: Devices in domains different from 0 have their slot number
11181f7c91ccSMartin Mares	printed as "<domain>:<bus>:<slot>.<func>". Tree view supports domains
11191f7c91ccSMartin Mares	as well.
112084c8d1bbSMartin Mares
112184c8d1bbSMartin Mares	* lib/filter.c: Slot filters understand domains.
112284c8d1bbSMartin Mares
112384c8d1bbSMartin Mares	* lib/generic.c: Mention the domain in slot numbers in all error messages.
112484c8d1bbSMartin Mares
112584c8d1bbSMartin Mares	* lib/internal.h: The #ifdef for Linux <asm/byteorder.h> was wrong.
112684c8d1bbSMartin Mares
112784c8d1bbSMartin Mares	* lib/access.c (pci_get_dev): Added support for domains.
112884c8d1bbSMartin Mares
112984c8d1bbSMartin Mares	* lib/sysfs.c (sysfs_scan): Read vendor and device ID from the config
113084c8d1bbSMartin Mares	registers (or to be precise, leave it for the generic parts of the pcilib
113184c8d1bbSMartin Mares	to do so) instead of reading them from the sysfs. It's faster this way.
113284c8d1bbSMartin Mares
113384c8d1bbSMartin Mares	* lspci.c (show_pcix): Don't touch pci_dev->hdrtype, it's an internal
113484c8d1bbSMartin Mares	variable. Better read it from the config registers (it's cached anyway).
113584c8d1bbSMartin Mares
113684c8d1bbSMartin Mares	* lib/sysfs.c (sysfs_scan), lib/proc.c (proc_scan): Don't read the hdrtype.
113784c8d1bbSMartin Mares	  lib/generic.c (pci_generic_fill_info): If hdrtype is -1 (unset), read it.
113884c8d1bbSMartin Mares	  Saves lots of unnecessary file accesses.
113984c8d1bbSMartin Mares
114011f7b31bSMartin Mares	* lib/pci.h (PCIADDR_PORT_FMT): Use %llx instead of %Lx, because the latter
114111f7b31bSMartin Mares	is not supported by all C libraries.
114211f7b31bSMartin Mares
114311f7b31bSMartin Mares	* Makefile: Always enter the lib directory (remember that we don't have
114411f7b31bSMartin Mares	full dependecies for the library in the top-level Makefile; hmmm, another
114511f7b31bSMartin Mares	thing to rewrite some day).
114611f7b31bSMartin Mares
114711f7b31bSMartin Mares	* lib/sysfs.c: Added Linux sysfs access method based on the patch
114811f7b31bSMartin Mares	written by Matthew Wilcox <[email protected]>.
114911f7b31bSMartin Mares
115011f7b31bSMartin Mares	* lib/proc.c: Renamed the access method name from "/proc/bus/pci" to "Linux-proc".
115111f7b31bSMartin Mares
115211f7b31bSMartin Mares	* lib/pread.h: The hacks to support pread on various versions
115311f7b31bSMartin Mares	of Linux libc moved there.
115411f7b31bSMartin Mares
115511f7b31bSMartin Mares	* lib/proc.c (proc_setup): The return value of snprintf() varies
115611f7b31bSMartin Mares	between glibc versions, so we need to check both for a negative
115711f7b31bSMartin Mares	values and for too large values.
115811f7b31bSMartin Mares
11594284af58SMartin Mares	* Removed last few references to the "Linux PCI Utilities", the
11604284af58SMartin Mares	package is pretty cross-platform now :)
11614284af58SMartin Mares
11624284af58SMartin Mares2003-12-27  Martin Mares  <[email protected]>
11634284af58SMartin Mares
1164ab12277eSMartin Mares	* Released as 2.1.99-test2.
1165ab12277eSMartin Mares
1166ab12277eSMartin Mares	* README, pciutils.lsm, pciutils.spec: Use @VERSION@ to make the
1167ab12277eSMartin Mares	release scripts insert the current version. "make release" is gone.
1168ab12277eSMartin Mares
1169ab12277eSMartin Mares	* maint/release, maint/release.pm: Added a new system of scripts for
1170ab12277eSMartin Mares	making releases including inter-version diffs etc.
1171ab12277eSMartin Mares
1172ab12277eSMartin Mares	* Makefile: Cleaned up.
1173ab12277eSMartin Mares
1174ab12277eSMartin Mares	* lib/fbsd-device.c: I patched another copy of this file by mistake,
1175ab12277eSMartin Mares	this time the version checks should be right.
1176ab12277eSMartin Mares
1177ab12277eSMartin Mares2003-12-27  Martin Mares  <[email protected]>
1178ab12277eSMartin Mares
11796d722cd6SMartin Mares	* Released as 2.1.99-test1.
11806d722cd6SMartin Mares
1181dd33246aSMartin Mares	* pciutils.h, common.c, lspci.man, setpci.man, lib/internal.h:
1182dd33246aSMartin Mares	Remove shadows of the syscall access method which was never
1183dd33246aSMartin Mares	implemented.
1184dd33246aSMartin Mares
118580b3121aSMartin Mares	* update-pciids.sh: Try to preserve permissions of the old file
118680b3121aSMartin Mares	if chmod supports --reference. Should close Debian Bug #223740.
118780b3121aSMartin Mares
11886aea909aSMartin Mares	* lib/proc.c (proc_setup): Increased path name length limit to 1024.
11896aea909aSMartin Mares	Thanks for Redhat and Mandrake for inspiration.
11906aea909aSMartin Mares
11916aea909aSMartin Mares	* lib/configure: Recognize ppc and ppc64, both have 64-bit addresses.
11926aea909aSMartin Mares	Grabbed from Redhat (Fedora) patches.
11936aea909aSMartin Mares
11946aea909aSMartin Mares2003-12-27  Martin Mares  <[email protected]>
11956aea909aSMartin Mares
1196f701ff47SMartin Mares	Merged bug fixes from Debian patches:
1197f701ff47SMartin Mares
1198f701ff47SMartin Mares	* lspci.c (show_verbose): "Cache Line Size" should be capitalized.
1199f701ff47SMartin Mares
1200f701ff47SMartin Mares	* lspci.c (show_pcix_nobridge): Added a missing newline.
1201f701ff47SMartin Mares
12022240db8cSMartin Mares	* lib/proc.c (proc_scan): When reading the header type, don't
12032240db8cSMartin Mares	forget to clear the topmost bit indicating that the device has
1204f701ff47SMartin Mares	multiple functions.
12052240db8cSMartin Mares
12062240db8cSMartin Mares2003-12-27  Martin Mares  <[email protected]>
12072240db8cSMartin Mares
120845902995SMartin Mares	Updated the FreeBSD port. Thanks to Samy Al Bahra <[email protected]>
120945902995SMartin Mares	for the patches:
121045902995SMartin Mares
121145902995SMartin Mares	* lib/Makefile: Add ${FREEBSD_SYS} to the include path if it's defined.
121245902995SMartin Mares	* lib/fbsd-device.c: Select the right set of system includes according
121345902995SMartin Mares	to __FreeBSD_version.
121445902995SMartin Mares
121545902995SMartin Mares2003-12-27  Martin Mares  <[email protected]>
121645902995SMartin Mares
12178fc75dbcSMartin Mares	Merged support for Solaris on i386 by Bill Moore <[email protected]>
12188fc75dbcSMartin Mares	and cleaned up:
12198fc75dbcSMartin Mares
12208fc75dbcSMartin Mares	* lib/configure: Recognize SunOS.
12218fc75dbcSMartin Mares	* lib/internal.h: Learn how to recognize byte order on SunOS.
12228fc75dbcSMartin Mares	* lib/i386-ports.c: Split OS-dependent I/O port access from i386-ports.c.
12238fc75dbcSMartin Mares	* lib/i386-io-linux.h: Linux specific part.
12248fc75dbcSMartin Mares	* lib/i386-io-hurd.h: GNU/Hurd specific part.
12258fc75dbcSMartin Mares	* lib/i386-io-sunos.h: SunOS specific part.
12268fc75dbcSMartin Mares
12279739916eSMartin Mares2003-12-26  Martin Mares  <[email protected]>
12289739916eSMartin Mares
12299739916eSMartin Mares	* lib/header.h (PCI_*_MASK): Cast to pciaddr_t explicitly.
12309739916eSMartin Mares
12319739916eSMartin Mares	* lib/pci.h: Types declared in <sys/types.h> should be usable on all
12329739916eSMartin Mares	platforms we currently support, so kill the forest of #ifdef's and
12339739916eSMartin Mares	use them in all cases.
12349739916eSMartin Mares
12359739916eSMartin Mares	* lib/pci.h: Use ULONG_MASK to decide whether we should use long
12369739916eSMartin Mares	or long long to represent a 64-bit address. Killed HAVE_LONG_ADDRESS.
12379739916eSMartin Mares	Define format strings for addresses, port numbers and IRQ numbers
12389739916eSMartin Mares	directly in pci.h.
12399739916eSMartin Mares
12409739916eSMartin Mares	* lib/proc.c (proc_scan): Use PCIADDR_T_FMT for scanf'ing addresses.
12419739916eSMartin Mares
124280459c65SMartin Mares2003-12-26  Marco Gerards  <[email protected]>
124380459c65SMartin Mares
124480459c65SMartin Mares	Added support for the GNU Hurd (cleaned up by Martin Mares):
124580459c65SMartin Mares
124680459c65SMartin Mares	* lib/configure [GNU]: Use the i386 ports for configuration access.
124780459c65SMartin Mares	* lib/i386-ports.c: Don't call iopl() on the Hurd.
124880459c65SMartin Mares	* lib/pci.h [OS_GNU]: Include <sys/types.h> and use it for defining
124980459c65SMartin Mares	u8 to u32.
125080459c65SMartin Mares
1251a85769a8SMartin Mares2003-12-26  Martin Mares  <[email protected]>
1252a85769a8SMartin Mares
12537dacd9c8SMartin Mares	* lspci.c (show_pcix_bridge, show_pcix_nobridge): Don't forget to call
12547dacd9c8SMartin Mares	config_fetch() to ensure that the registers have been read. Thanks to
12557dacd9c8SMartin Mares	Bill Wood <[email protected]> for the patch.
12567dacd9c8SMartin Mares
12577dacd9c8SMartin Mares	* lspci.c: Ensure that failure of config_fetch() is handled correctly
12587dacd9c8SMartin Mares	at all places.
12597dacd9c8SMartin Mares
12604063c31cSMartin Mares	* lspci.man: There was one more explicit reference to /usr/share/pci.ids.
12614063c31cSMartin Mares	Changed to @SHAREDIR@. Patch from Maciej W. Rozycki <[email protected]>.
12624063c31cSMartin Mares
12633fe8a38dSMartin Mares	* setpci.c (main): Better error messages.
12643fe8a38dSMartin Mares
12655f5b1a7bSMartin Mares	* setpci.c (ex_op): The demo mode should disable only writing, not reading.
12665f5b1a7bSMartin Mares
12675f5b1a7bSMartin Mares	* setpci.man: The documentation was inconsistent on what should -D do.
12685f5b1a7bSMartin Mares	Document the new behaviour.
1269b251f40bSMartin Mares
127091e37a49SMartin Mares	* pciutils.h, common.c, setpci.c: Introduced a NONRET macro encapsulating
127191e37a49SMartin Mares	the GCC specific __attribute__((noreturn)) and killed the hack with
127291e37a49SMartin Mares	redefining __attribute__ on non-GCC compilers.
127391e37a49SMartin Mares
12744afd29d3SMartin Mares	* Makefile: Added missing dependencies. Parallel builds work now.
12754afd29d3SMartin Mares	Problem reported by Andreas Haumer <[email protected]>, but I chose
12764afd29d3SMartin Mares	a different fix.
12774afd29d3SMartin Mares
1278b0f1a03bSMartin Mares	* Makefile (MANDIR): Use `:=' instead of `=' to avoid executing the shell
1279b0f1a03bSMartin Mares	command every time $(MANDIR) is referenced.
1280b0f1a03bSMartin Mares
1281b7fd8e19SMartin Mares	* lspci.c (main): The error message for `lspci -s' incorrectly mentioned
1282b7fd8e19SMartin Mares	a `-f' switch. Reported by Steve Finney <[email protected]>.
1283b7fd8e19SMartin Mares
128405bb10a2SMartin Mares	* lib/generic.c: Removed memory leak in pci_generic_bus_scan().
128505bb10a2SMartin Mares	Reported by Gary Parnes <[email protected]>.
128605bb10a2SMartin Mares
1287a832f6f1SMartin Mares	* Replaced obsolete syntax of __attribute__((unused)) in the middle of
1288a832f6f1SMartin Mares	parameter declarations (which is no longer supported by GCC 3.1) by the
1289a832f6f1SMartin Mares	current syntax (attribute at the end). Thanks to [email protected]
1290a832f6f1SMartin Mares	for reporting this problem.
1291a832f6f1SMartin Mares
1292a85769a8SMartin Mares	* Removed CVS $Id$ tags from all files.
1293a85769a8SMartin Mares
1294a85769a8SMartin Mares	* Makefile: Added some more warnings.
1295a85769a8SMartin Mares
1296b7351143SMartin Mares	* setpci.c: Cleaned up mask/value code.
1297b7351143SMartin Mares
1298b7351143SMartin Mares2003-12-08 Thayne Harbaugh <[email protected]>
1299b7351143SMartin Mares
1300b7351143SMartin Mares	* setpci.c: Individual bits to be set can be specified as <value>:<mask>.
1301b7351143SMartin Mares
13022a5d5cf9SMartin Mares2003-11-29  Martin Mares  <[email protected]>
13032a5d5cf9SMartin Mares
13042a5d5cf9SMartin Mares	* Imported the pciutils sources to my Arch repository. Good-bye, CVS.
13052a5d5cf9SMartin Mares
1306d772ef15SMartin Mares2003-01-04  Martin Mares  <[email protected]>
1307d772ef15SMartin Mares
13081b95f396SMartin Mares	* Released as 2.1.11.
13091b95f396SMartin Mares
1310c83293ebSMartin Mares	* Makefile: Changed configuration of installation directories --
1311c83293ebSMartin Mares	all paths are now set at the top of the Makefile instead of being
1312c83293ebSMartin Mares	scattered between the installation rules. The default installation
1313c83293ebSMartin Mares	now goes always to /usr/local regardless of the OS as most distributions
1314c83293ebSMartin Mares	already contain some version of pciutils and we don't want custom
1315c83293ebSMartin Mares	installations to interfere with the default ones.
1316c83293ebSMartin Mares
1317c83293ebSMartin Mares	* Makefile: Removed a couple of ancient install hacks: we no longer
1318c83293ebSMartin Mares	try to avoid overwriting a newer pci.ids file (users are now expected
1319c83293ebSMartin Mares	to use update-ids) and we don't try to remove /etc/pci.ids (a long time
1320c83293ebSMartin Mares	has passed since the last version which used it).
1321c83293ebSMartin Mares
1322e2875dcdSMartin Mares	* Makefile: Paths to pci.ids in man pages automatically get the right path.
1323e2875dcdSMartin Mares
13241b95f396SMartin Mares	* Added the update-ids utility.
13250138a2a7SMartin Mares
1326d772ef15SMartin Mares	* lib: Removed partially implemented "syscall" access method which will
1327d772ef15SMartin Mares	probably never be needed.
1328d772ef15SMartin Mares
1329eb620239SMartin Mares2002-12-27  Martin Mares  <[email protected]>
1330eb620239SMartin Mares
1331130090bdSMartin Mares	* lib/nbsd-libpci.c: Cleaned up and hopefully made it endian safe.
1332130090bdSMartin Mares
1333eb620239SMartin Mares	* lib/generic.c (pci_generic_scan_bus): Added work-around for devices with
1334eb620239SMartin Mares	discontiguous numbering of functions. This is already present in the Linux
1335eb620239SMartin Mares	kernel for several years, but I forgot to update pciutils as well.
1336eb620239SMartin Mares
1337848b4347SMartin Mares2002-12-26  Martin Mares  <[email protected]>
1338848b4347SMartin Mares
1339579b19ffSMartin Mares	* lib/header.h, lspci.c: Dump AGP3 flags and speeds.
1340579b19ffSMartin Mares
1341579b19ffSMartin Mares	* lib/pci.h, Makefile: Removed HAVE_OWN_HEADER_H. Always use our own header,
1342579b19ffSMartin Mares	there is no reason to prefer the kernel version.
1343579b19ffSMartin Mares
1344579b19ffSMartin Mares	* lib/proc.c (proc_scan): Don't forget to initialize hdrtype.
1345579b19ffSMartin Mares
1346848b4347SMartin Mares	* Added preliminary version of NetBSD support by Quentin Garnier
1347848b4347SMartin Mares	<[email protected]>.
1348848b4347SMartin Mares
1349f0952474SMartin Mares2002-04-06  Martin Mares  <[email protected]>
1350f0952474SMartin Mares
1351f0952474SMartin Mares	* lspci.c: Mention "-xxx" in the help.
1352f0952474SMartin Mares
1353d2f666f1SMartin Mares2002-03-30  Martin Mares  <[email protected]>
1354d2f666f1SMartin Mares
13559bd44bb0SMartin Mares	* Released as 2.1.10.
13569bd44bb0SMartin Mares
1357a33d0eb7SMartin Mares	* Removed pci.ids from the CVS as they are now maintained separately.
1358a33d0eb7SMartin Mares	They are still included in the tarball, but if you are building	pciutils
1359a33d0eb7SMartin Mares	from CVS sources or you want to get a newer ID file than the one distributed,
1360a33d0eb7SMartin Mares	just use "make update-ids" to download the most recent snapshot from
1361a33d0eb7SMartin Mares	pciids.sf.net.
1362a33d0eb7SMartin Mares
1363a33d0eb7SMartin Mares	* Makefile, README: Updated accordingly.
1364a33d0eb7SMartin Mares
1365a33d0eb7SMartin Mares	* Makefile: Added a couple of maintenance targets.
1366a33d0eb7SMartin Mares
1367a33d0eb7SMartin Mares	* maint/*: Maintainer's utilities now reside here (present only in CVS,
1368a33d0eb7SMartin Mares	not in the tarball).
1369a33d0eb7SMartin Mares
1370d2f666f1SMartin Mares	* lib/names.c (parse_name_list): End-of-line comments are no longer
1371d2f666f1SMartin Mares	supported. Hashes are now perfectly valid in all names and they start
1372d2f666f1SMartin Mares	a comment only at the start of the line.
1373d2f666f1SMartin Mares
1374ee551b73SMartin Mares2002-03-26  Martin Mares  <[email protected]>
1375ee551b73SMartin Mares
137607159913SMartin Mares	* README: Rewritten.
137707159913SMartin Mares
1378ee551b73SMartin Mares	* Makefile: When the currently installed pci.ids file is newer than
1379ee551b73SMartin Mares	the version to be installed, don't overwrite it. Suggested by
1380ee551b73SMartin Mares	Jean Delvare <[email protected]>.
1381ee551b73SMartin Mares
1382bc7b1d62SMartin Mares2002-03-24  Martin Mares  <[email protected]>
1383bc7b1d62SMartin Mares
13845f5e6f64SMartin Mares	* lspci.c (show_pcix_bridge): Added PCI-X capability display.
13855f5e6f64SMartin Mares	Contributed by Jeff Garzik <[email protected]>.
13865f5e6f64SMartin Mares
13875f5e6f64SMartin Mares	* lib/header.h: Added PCI-X stuff. Again by Jeff.
13885f5e6f64SMartin Mares
13895f5e6f64SMartin Mares	* Makefile (CFLAGS): -Werror is gone.
13905f5e6f64SMartin Mares
1391a1052f16SMartin Mares	* lspci.c (format_agp_rate): Fixed AGP rate reporting.
1392a1052f16SMartin Mares
1393bc7b1d62SMartin Mares	* lib/filter.c (pci_filter_parse_slot): Allow bus 0xff, slot 0x1f and
1394bc7b1d62SMartin Mares	function 7.
1395bc7b1d62SMartin Mares
1396bc7b1d62SMartin Mares	* lib/names.c (pci_lookup_name): When printing unknown subsystem vendor
1397bc7b1d62SMartin Mares	or device hexadecimally, don't confuse it with chip vendor/device ID.
1398bc7b1d62SMartin Mares	First reported by Marc Boucher <[email protected]>.
1399bc7b1d62SMartin Mares
1400f793990cSMartin Mares2001-11-04  Martin Mares  <[email protected]>
1401f793990cSMartin Mares
1402ee551b73SMartin Mares	* Released as 2.1.9.
1403ee551b73SMartin Mares
1404f793990cSMartin Mares	* pci.ids: Synced with the PCI ID Repository at SourceForge
1405f793990cSMartin Mares	(http://pciids.sourceforge.net/).
1406f793990cSMartin Mares
14071d174e56SMartin Mares2000-08-25  Martin Mares  <[email protected]>
14081d174e56SMartin Mares
14091d174e56SMartin Mares	* pci.ids: Updated ID's, synced with kernel 2.4.0-test7.
14101d174e56SMartin Mares
141165b4327eSMartin Mares2000-06-13  Martin Mares  <[email protected]>
141265b4327eSMartin Mares
141365b4327eSMartin Mares	* Makefile (uninstall): Fixed.
141465b4327eSMartin Mares
141565b4327eSMartin Mares	* pci.ids: ID updates.
141665b4327eSMartin Mares
14174a219d5fSMartin Mares2000-05-20  Martin Mares  <[email protected]>
14184a219d5fSMartin Mares
14194a219d5fSMartin Mares	* Released as 2.1.8.
14204a219d5fSMartin Mares
14214a219d5fSMartin Mares	* pci.ids: ID updates.
14224a219d5fSMartin Mares
14234a219d5fSMartin Mares	* lspci.c (show_verbose): Min/max latency is now printed in nanoseconds.
14244a219d5fSMartin Mares
14254a219d5fSMartin Mares2000-05-04  Martin Mares  <[email protected]>
14264a219d5fSMartin Mares
14274a219d5fSMartin Mares	* lspci.c (show_verbose): If the header type doesn't match device
14284a219d5fSMartin Mares	class, just print a warning and still use the header type, assuming
14294a219d5fSMartin Mares	bogus class info.
14304a219d5fSMartin Mares
143110c90662SMartin Mares2000-05-01  Martin Mares  <[email protected]>
143210c90662SMartin Mares
143372b9b690SMartin Mares	* lspci.c (show_pm): Updated according to PCI PM specs 1.1.
143472b9b690SMartin Mares
143510c90662SMartin Mares	* pci.ids: Updated Contemporary Control ARCnet card entries.
143610c90662SMartin Mares
143710c90662SMartin Mares	* pci.ids: Synchronized class list with latest PCI SIG documents.
143810c90662SMartin Mares
1439a239ade6SMartin Mares2000-04-29  Martin Mares  <[email protected]>
1440a239ade6SMartin Mares
1441a239ade6SMartin Mares	* lib/names.c (pci_lookup_name): Fixed the cheat.
1442a239ade6SMartin Mares
1443a239ade6SMartin Mares	* lib/internal.h: Moved UNUSED/inline hacks above all other declarations.
1444a239ade6SMartin Mares
1445a239ade6SMartin Mares	* pci.ids: Various ID updates.
1446a239ade6SMartin Mares
14472c83b860SMartin Mares2000-04-21  Martin Mares  <[email protected]>
14482c83b860SMartin Mares
14492c83b860SMartin Mares	* Released as 2.1.7.
14502c83b860SMartin Mares
14512c83b860SMartin Mares	* pciutils.spec: Added German description.
14522c83b860SMartin Mares
14532c83b860SMartin Mares	* lib/names.c (pci_lookup_name): Added a cheat for case that subsystem ID's
14542c83b860SMartin Mares	are the same as device ID and just output subsystem name according to
14552c83b860SMartin Mares	device name.
14562c83b860SMartin Mares
14572c83b860SMartin Mares	* lib/proc.c: Use UNUSED instead of __attribute__((unused)).
14582c83b860SMartin Mares
14592c83b860SMartin Mares	* lib/pci.h: Added the correct typedefs for AIX.
14602c83b860SMartin Mares
14612c83b860SMartin Mares	* lib/generic.c (pci_generic_scan_bus): Export.
14622c83b860SMartin Mares
14632c83b860SMartin Mares	* lib/configure: Detect AIX. Use "echo '...\c'" instead of
14642c83b860SMartin Mares	"echo -n" if the shell isn't bash.
14652c83b860SMartin Mares
14662c83b860SMartin Mares	* lspci.c: Avoid using alloca() if not compiled by GCC.
14672c83b860SMartin Mares	(insert_dev): Avoid returning a void value.
14682c83b860SMartin Mares
14692c83b860SMartin Mares	* Makefile: Choose which install utility to use according to
14702c83b860SMartin Mares	OS type. Also use `-o' instead of `-or' in find arguments.
14712c83b860SMartin Mares	Part of the AIX port.
14722c83b860SMartin Mares
14732c83b860SMartin Mares	* lib/aix-device.c: Added AIX low-level interface. Contributed
14742c83b860SMartin Mares	by Dave Johnson <[email protected]>, thanks a lot!
14752c83b860SMartin Mares
14762c83b860SMartin Mares	* pci.ids: Few new ID's.
14772c83b860SMartin Mares
14782c83b860SMartin Mares	* pciutils.h, lib/internal.h: Redefine __attribute__ and inline
14792c83b860SMartin Mares	when not compiled by GCC.
14802c83b860SMartin Mares
1481c1a828daSMartin Mares2000-04-17  Martin Mares  <[email protected]>
1482c1a828daSMartin Mares
1483c1a828daSMartin Mares	* Released as 2.1.6.
1484c1a828daSMartin Mares
1485c1a828daSMartin Mares	* pci.ids: Added a large batch of ID's contributed by Gunther
1486c1a828daSMartin Mares	Mayer <[email protected]> and synced the
1487c1a828daSMartin Mares	list with the 2.3.99pre6 kernel.
1488c1a828daSMartin Mares
1489e91dd3abSMartin MaresThu Mar  9 13:11:39 2000  Martin Mares  <[email protected]>
1490e91dd3abSMartin Mares
1491a80b79a9SMartin Mares	* lib/example.c: Added a simple example of how to use
1492a80b79a9SMartin Mares	the library.
1493a80b79a9SMartin Mares
149489984232SMartin Mares	* lspci.man, setpci.man: Revealed --version. Well spotted
149589984232SMartin Mares	by Adam Sulmicki.
149689984232SMartin Mares
1497e91dd3abSMartin Mares	* pci.ids: Added lots of new ID's and synced with 2.3.50.
1498e91dd3abSMartin Mares
149978d9c5e2SMartin MaresTue Feb 15 00:16:21 2000  Martin Mares  <[email protected]>
150078d9c5e2SMartin Mares
150178d9c5e2SMartin Mares	* Released as 2.1.5.
150278d9c5e2SMartin Mares
150378d9c5e2SMartin Mares	* pciutils.spec: Updated spec file from Andreas Jaeger. Now using
150478d9c5e2SMartin Mares	%{_mandir} to find the right location to install manual pages to.
150578d9c5e2SMartin Mares
150678d9c5e2SMartin Mares	* pci.ids: New ID's.
150778d9c5e2SMartin Mares
150878d9c5e2SMartin Mares	* setpci.c (main): Don't crash when `-s' or `-d' is given with
150978d9c5e2SMartin Mares	no argument.
151078d9c5e2SMartin Mares
1511f8141ae2SMartin MaresMon Jan 24 20:04:11 2000  Andreas Jaeger  <[email protected]>
1512f8141ae2SMartin Mares
1513f8141ae2SMartin Mares	* lib/i386-ports.c: Include <asm/io.h> only on systems without
1514f8141ae2SMartin Mares	glibc.
1515f8141ae2SMartin Mares
1516f8141ae2SMartin MaresMon Jan 24 11:24:43 2000  Martin Mares  <[email protected]>
1517f8141ae2SMartin Mares
1518f8141ae2SMartin Mares	* Makefile: Modified to work with the Linux FHS brain-damaged idea
1519f8141ae2SMartin Mares	of putting man pages to /usr/share/man. Now we choose either /usr/man
1520f8141ae2SMartin Mares	or /usr/share/man depending on which one exists.
1521f8141ae2SMartin Mares
152259e76e8bSMartin MaresSun Jan 23 10:52:34 2000  Martin Mares  <[email protected]>
152359e76e8bSMartin Mares
152459e76e8bSMartin Mares	* pci.ids: Synced with Linux 2.3.40.
152559e76e8bSMartin Mares
152659e76e8bSMartin Mares	* Released as version 2.1.4.
152759e76e8bSMartin Mares
15282dfd48cdSMartin MaresThu Jan 20 11:08:32 2000  Martin Mares  <[email protected]>
15292dfd48cdSMartin Mares
15302715403fSMartin Mares	* lspci.c (scan_device): Fixed bug in reading of cardbus extensions.
15312715403fSMartin Mares
153281077814SMartin Mares	* lib/proc.c: pread/pwrite fixed again, this time on libc5 :(
153381077814SMartin Mares
153481077814SMartin Mares	* lspci.c (format_agp_rate): Better formatting of AGP rates.
153581077814SMartin Mares
153681077814SMartin Mares	* pci.ids: New ID's.
153781077814SMartin Mares
15382dfd48cdSMartin Mares	* lib/configure: Added configuration for ia64 (the same as for Alpha).
15392dfd48cdSMartin Mares	Patch from Stephane Eranian <[email protected]>.
15402dfd48cdSMartin Mares
15415a258860SMartin MaresThu Jan 13 23:01:52 2000  Martin Mares  <[email protected]>
15425a258860SMartin Mares
15435a258860SMartin Mares	* Released as version 2.1.3.
15445a258860SMartin Mares
15455a258860SMartin Mares	* pci.ids: New ID's.
15465a258860SMartin Mares
15475a258860SMartin Mares	* lspci.c: Alpha IO_FORMAT fix by Andrea Arcangeli.
15485a258860SMartin Mares
15495a258860SMartin Mares	* lib/access.c: Corrected order of access methods -- it's wonderful how
15505a258860SMartin Mares	long could such a bug remain unspotted. Thanks go to Andreas Schockenhoff.
15515a258860SMartin Mares
15520c047bbeSMartin MaresSat Dec 11 23:34:48 1999  Martin Mares  <[email protected]>
15530c047bbeSMartin Mares
15540c047bbeSMartin Mares	* Released as version 2.1.2.
15550c047bbeSMartin Mares
15560c047bbeSMartin Mares	* lib/names.c (pci_lookup_name): Fixed printing of unknown subsystem ID's.
15570c047bbeSMartin Mares
155833bc28a5SMartin MaresSat Dec  4 13:11:03 1999  Martin Mares  <[email protected]>
155933bc28a5SMartin Mares
156039231205SMartin Mares	* Released as version 2.1.1.
156139231205SMartin Mares
156233bc28a5SMartin Mares	* pci.ids: Several new ID's.
156333bc28a5SMartin Mares
156433bc28a5SMartin Mares	* setpci.c (exec_op): Don't forget to increment address after writing
156533bc28a5SMartin Mares	single value, so that `30.b=12,34,56,78' works as expected. Reported
156633bc28a5SMartin Mares	by Petr Soucek <[email protected]>.
156733bc28a5SMartin Mares
15688d047897SMartin MaresWed Nov  3 10:24:38 1999  Martin Mares  <[email protected]>
15698d047897SMartin Mares
15708d047897SMartin Mares	* lspci.c (show_terse): If prog-if is zero, but it's present in the
15718d047897SMartin Mares	ID list, show it.
15728d047897SMartin Mares
15736afc6538SMartin MaresSat Oct 30 11:06:35 1999  Martin Mares  <[email protected]>
15746afc6538SMartin Mares
15756afc6538SMartin Mares	* Released as version 2.1.
15766afc6538SMartin Mares
15776afc6538SMartin Mares	* pci.ids: Synced to devlist.h in 2.3.24 kernel. Merged in
15786afc6538SMartin Mares	lots of contributed entries.
15796afc6538SMartin Mares
15808f756113SMartin MaresThu Oct 14 10:40:12 1999  Dave Jones    <[email protected]>
15818f756113SMartin Mares
15828f756113SMartin Mares	* pci.ids: Added lots of subsystem definitions.
15838f756113SMartin Mares
1584d4798a32SMartin MaresSat Oct  9 14:32:28 1999  Martin Mares  <[email protected]>
1585d4798a32SMartin Mares
1586d4798a32SMartin Mares	* setpci.man: Better example.
1587d4798a32SMartin Mares
1588d4798a32SMartin Mares	* lspci.c: Resolve prog-if names.
1589d4798a32SMartin Mares
1590d4798a32SMartin Mares	* lib/names.c: Adapted to new pci.ids syntax.
1591d4798a32SMartin Mares
1592d4798a32SMartin Mares	* pci.ids: Reorganized the pci.ids file. Subsystems are listed
1593d4798a32SMartin Mares	under devices, classes can optionally contain prog-if information.
1594d4798a32SMartin Mares	New ID's, as usually.
1595d4798a32SMartin Mares
1596e306e911SMartin MaresWed Sep 22 09:45:24 1999  Martin Mares  <[email protected]>
1597e306e911SMartin Mares
1598e306e911SMartin Mares	* pci.ids: New ID's. As usually.
1599e306e911SMartin Mares
1600e306e911SMartin Mares	* lspci.c (show_htype1, show_htype2): Don't show `closed' bridge windows
1601e306e911SMartin Mares	unless we're vvvery verbose.
1602e306e911SMartin Mares
1603e306e911SMartin MaresMon Sep 20 11:22:54 1999  Martin Mares  <[email protected]>
1604e306e911SMartin Mares
1605e306e911SMartin Mares	* lspci.c (show_htype2): Don't forget a TAB before the "I/O window" line.
1606e306e911SMartin Mares
1607e64a576cSMartin MaresTue Sep 14 09:31:01 1999  Martin Mares  <[email protected]>
1608e64a576cSMartin Mares
1609e64a576cSMartin Mares	* pci.ids: New ID's. Again.
1610e64a576cSMartin Mares
1611c36c0862SMartin MaresThu Aug  5 17:45:42 1999  Martin Mares  <[email protected]>
1612c36c0862SMartin Mares
1613c36c0862SMartin Mares	* lspci.c (show_size): Don't show size if it's zero (usually
1614c36c0862SMartin Mares	due to bus-centric mode being enabled).
1615c36c0862SMartin Mares
16161ca42433SMartin MaresTue Jul 20 13:25:09 1999  Martin Mares  <[email protected]>
16171ca42433SMartin Mares
1618168b4f46SMartin Mares	* lib/pci.h: Types are OS dependent.
1619168b4f46SMartin Mares
1620168b4f46SMartin Mares	* lib/internal.h: Byte order hacks are OS dependent.
1621168b4f46SMartin Mares
1622168b4f46SMartin Mares	* lib/configure: Recognize FreeBSD. Also set OS_XXX according to the OS.
1623168b4f46SMartin Mares
1624168b4f46SMartin Mares	* lib/Makefile, lib/access.c: Added fbsd-device target.
1625168b4f46SMartin Mares
1626168b4f46SMartin Mares	* pci.ids: Added an entry for PLX 9080 bridges with subsystem ID
1627168b4f46SMartin Mares	incorrectly set to device ID.
1628168b4f46SMartin Mares
1629168b4f46SMartin Mares	* README: Added a note that we support FreeBSD.
1630168b4f46SMartin Mares
1631168b4f46SMartin Mares	* Makefile (PREFIX, ROOT): Set it depending on the OS.
1632168b4f46SMartin Mares	(%.8): Grrr, BSD date is not able to convert date formats the same way
1633168b4f46SMartin Mares	as GNU date does. Use sed instead.
1634168b4f46SMartin Mares	(install): Use `-c' when calling install.
1635168b4f46SMartin Mares
1636168b4f46SMartin Mares	* lib/fbsd-device.c: Added FreeBSD /dev/pci access module contributed
1637168b4f46SMartin Mares	by Jari Kirma <[email protected]>.
1638168b4f46SMartin Mares
1639bc6346dfSMartin Mares	* lib/proc.c: Rewrote the pread/pwrite things once again. Use pread
1640bc6346dfSMartin Mares	and pwrite only when we are certain it's safe (i.e., glibc 2.1
1641bc6346dfSMartin Mares	on all architectures or any libc on a i386 where we really know
1642bc6346dfSMartin Mares	how to use syscalls directly). In all other cases, emulate it
1643bc6346dfSMartin Mares	with lseek/read/write.
1644bc6346dfSMartin Mares
16451ca42433SMartin Mares	* pci.ids: Some more IDs.
16461ca42433SMartin Mares
16471ca42433SMartin MaresMon Jul 19 14:10:36 1999  Martin Mares  <[email protected]>
16481ca42433SMartin Mares
16491ca42433SMartin Mares	* pci.ids: Added IDs of parallel port controller cards as sent
16501ca42433SMartin Mares	by Tim Waugh <[email protected]>.
16511ca42433SMartin Mares
1652e95c8373SMartin MaresWed Jul  7 00:55:48 1999  Martin Mares  <[email protected]>
1653e95c8373SMartin Mares
1654e95c8373SMartin Mares	* lib/proc.c (proc_scan): HAVE_LONG_ADDRESS instead of HAVE_64BIT_ADDRESS.
1655e95c8373SMartin Mares
1656e95c8373SMartin Mares	* lspci.c: ADDR_FORMAT now depends on both HAVE_64BIT_ADDRESS and
1657e95c8373SMartin Mares	HAVE_LONG_ADDRESS.
1658e95c8373SMartin Mares
1659e95c8373SMartin Mares	* lib/configure: HAVE_64BIT_ADDRESS now doesn't imply that the addresses
1660e95c8373SMartin Mares	are represented as long long. Introduced a new flag HAVE_LONG_ADDRESS
1661e95c8373SMartin Mares	to indicate this. Both Sparc architectures now use both 64BIT_ADDRESS
1662e95c8373SMartin Mares	and LONG_ADDRESS since they have 32-bit userland, but don't set LONG_ADDRESS
1663e95c8373SMartin Mares	on Alpha.
1664e95c8373SMartin Mares
1665e95c8373SMartin Mares	* lspci.c (show_msi): Added dumping of the MSI capability.
1666e95c8373SMartin Mares	(show_slotid): The same for SlotID capability.
1667e95c8373SMartin Mares	(show_caps): Seperated capability dumping, because it should
1668e95c8373SMartin Mares	be used for both htype0 and htype1. Even PCI 2.2 doesn't mention
1669e95c8373SMartin Mares	layout of htype2, so I'm a bit unsure about it wrt capabilities
1670e95c8373SMartin Mares	-- they at least have to live somewhere else since address 0x34
1671e95c8373SMartin Mares	is already defined differently in htype2.
1672e95c8373SMartin Mares
1673e95c8373SMartin Mares	* lib/header.h (PCI_STATUS_UDF): Marked as obsolete (PCI 2.2).
1674e95c8373SMartin Mares	(PCI_BASE_ADDRESS_MEM_TYPE_1M): Ditto.
1675e95c8373SMartin Mares	(PCI_CAP_ID_*): Added some new capabilities defined in PCI 2.2.
1676e95c8373SMartin Mares
1677e95c8373SMartin Mares	* lspci.c (show_htype0): Mask out lowest 2 bits from all capability pointers
1678e95c8373SMartin Mares	(required by the PCI 2.2 specs).
1679e95c8373SMartin Mares
1680e95c8373SMartin MaresMon Jul  5 12:45:19 1999  Martin Mares  <[email protected]>
1681e95c8373SMartin Mares
1682e95c8373SMartin Mares	* lspci.c (show_size): Added new function for dumping of region sizes.
1683e95c8373SMartin Mares	(show_rom): Added. Now correctly dumps unassigned ROM addresses, disabled
1684e95c8373SMartin Mares	ROMs et cetera.
1685e95c8373SMartin Mares
1686e95c8373SMartin Mares	* lib/pci.h (struct pci_dev): known_fields moved to the public part
1687e95c8373SMartin Mares	of the structure.
1688e95c8373SMartin Mares
1689e95c8373SMartin Mares	* Added support for region sizes. Needs support in the kernel, because
1690e95c8373SMartin Mares	sizes have to be scanned before drivers initialize yourself. pci_fill_info()
1691e95c8373SMartin Mares	now returns a bitmask of what fields were really read.
1692e95c8373SMartin Mares
169382ce97c9SMartin MaresMon Jun 28 18:37:51 1999  Dave Jones    <[email protected]>
169482ce97c9SMartin Mares
169582ce97c9SMartin Mares	* Makefile:
169682ce97c9SMartin Mares	  Added `uninstall' target - removes all traces of pciutils.
169782ce97c9SMartin Mares	* pci.ids:
169882ce97c9SMartin Mares	  - Lots of cleanups in the ATI, S3, Adaptec vendors.
169982ce97c9SMartin Mares	  - Changed Compaq QVision 1280/p definitions, as it's not possible
170082ce97c9SMartin Mares	    to determine the revision from the device ID.
170182ce97c9SMartin Mares	  - Same for the Tseng ET4000.
170282ce97c9SMartin Mares	    The id's said I had a rev C, when it was actually a rev B.
170382ce97c9SMartin Mares	  - Removed some unnecessary strings
170482ce97c9SMartin Mares	    `PCI'. Unless it's an AGP card, it should be obvious that it's PCI.
170582ce97c9SMartin Mares	    `Ethernet card'. This should be determined from config space.
170682ce97c9SMartin Mares	  - Lots of other new vendors & devices
170782ce97c9SMartin Mares	  - Other additional small cleanups.
170882ce97c9SMartin Mares
17097bed2d83SMartin MaresMon Jun 21 22:11:10 1999  Martin Mares  <[email protected]>
17107bed2d83SMartin Mares
17117bed2d83SMartin Mares	* lib/names.c (pci_lookup_name): When device ID lookup
17127bed2d83SMartin Mares	fails, return hexadecimal device ID instead of vendor ID.
17137bed2d83SMartin Mares	Well spotted by Axel Bodemann <[email protected]>,
17147bed2d83SMartin Mares	I've just extended the fix to subsystem ID's.
17157bed2d83SMartin Mares
17165ba3a475SMartin MaresThu Jun 17 19:48:21 1999  Martin Mares  <[email protected]>
17175ba3a475SMartin Mares
17185ba3a475SMartin Mares	* lspci.c (show_agp): Bug fix from Petr Vandrovec
17195ba3a475SMartin Mares	<[email protected]>. The command register was displayed
17205ba3a475SMartin Mares	incorrectly.
17215ba3a475SMartin Mares
17225ba3a475SMartin MaresWed Jun  2 22:42:44 1999  Martin Mares  <[email protected]>
17235ba3a475SMartin Mares
17245ba3a475SMartin Mares	* lib/proc.c (SYS_pread, SYS_pwrite): Use hard-coded
17255ba3a475SMartin Mares	numbers if not supplied by the libc.
17265ba3a475SMartin Mares
172755c815b5SMartin MaresWed May 19 13:24:39 1999  Martin Mares  <[email protected]>
172855c815b5SMartin Mares
172955c815b5SMartin Mares	* Released the whole package as version 2.0.
173055c815b5SMartin Mares
173155c815b5SMartin MaresFri May 14 22:42:02 1999  Martin Mares  <[email protected]>
173255c815b5SMartin Mares
173355c815b5SMartin Mares	* pci.ids: Added several new ID's contributed by people
173455c815b5SMartin Mares	on the linux-pci list.
173555c815b5SMartin Mares
1736dec16943SMartin MaresMon Apr 19 15:21:08 1999  Jakub Jelinek  <[email protected]>
1737dec16943SMartin Mares
1738dec16943SMartin Mares	* lspci.c: Display I/O addresses correctly on sparc64.
1739dec16943SMartin Mares	* lib/header.h: Ditto.
1740dec16943SMartin Mares
1741dec16943SMartin Mares	* lib/configure: On sparc set HAVE_64BIT* as well, we want
1742dec16943SMartin Mares	a binary which works on both 32bit and 64bit SPARCs.
1743dec16943SMartin Mares
1744e33c9c7aSMartin MaresSun Apr 18 21:14:58 1999  Martin Mares  <[email protected]>
1745e33c9c7aSMartin Mares
1746e33c9c7aSMartin Mares	* lspci.c, lib/proc.c: Alpha compilation fixes from Matthew Jacob
1747e33c9c7aSMartin Mares	<[email protected]>.
1748e33c9c7aSMartin Mares
1749e33c9c7aSMartin Mares	* pci.ids: A lot of updates from Adam J. Richter <[email protected]>.
1750e33c9c7aSMartin Mares
1751f3395cc5SMartin MaresSun Feb 28 22:26:21 1999  Martin Mares  <[email protected]>
1752f3395cc5SMartin Mares
1753f3395cc5SMartin Mares	* lspci.c (do_map_bus): Don't dump functions 1--7 if not flagged
1754f3395cc5SMartin Mares	as a multi-function device, because several single-function devices
1755f3395cc5SMartin Mares	don't decode the function bits at all.
1756f3395cc5SMartin Mares
1757f3395cc5SMartin MaresSun Feb 14 23:48:22 1999  Martin Mares  <[email protected]>
1758f3395cc5SMartin Mares
1759f3395cc5SMartin Mares	* Makefile (install): Don't use "-o root -g root" for installation
1760f3395cc5SMartin Mares	since it breaks on machines where programs are not installed by root.
1761f3395cc5SMartin Mares	Reported by Richard Gooch <[email protected]>
1762f3395cc5SMartin Mares
1763f3395cc5SMartin MaresTue Feb  9 15:54:39 1999  Martin Mares  <[email protected]>
1764f3395cc5SMartin Mares
1765f3395cc5SMartin Mares	* lspci.c (show_bases): Use new address masking macros and pciaddr_t.
1766f3395cc5SMartin Mares
1767f3395cc5SMartin Mares	* lib/pci.h: Using pciaddr_t for bus addresses, which are 32-bit
1768f3395cc5SMartin Mares	or 64-bit depending on CPU.
1769f3395cc5SMartin Mares
1770f3395cc5SMartin Mares	* lib/pci.h (PCI_ADDR_MEM_MASK): Added macros for address masks
1771f3395cc5SMartin Mares	according to bus address width.
1772f3395cc5SMartin Mares
17731c31d620SMartin MaresThu Jan 28 20:54:16 1999  Martin Mares  <[email protected]>
17741c31d620SMartin Mares
17751c31d620SMartin Mares	* Released as 1.99.4.
17761c31d620SMartin Mares
17771c31d620SMartin Mares	* lspci.c: Capability list parser now recognizes both AGP
17781c31d620SMartin Mares	registers and PCI Power Management registers (the latter
17791c31d620SMartin Mares	is mainly guesswork based on DEC/Intel 21153 bridge specs
17801c31d620SMartin Mares	since I don't have the PCI Power Management document).
17811c31d620SMartin Mares
17821c31d620SMartin Mares	* lspci.c: Replaced numerous occurences of (x & flag) ? '+' : '-'
17831c31d620SMartin Mares	by FLAG macro.
17841c31d620SMartin Mares
17851c31d620SMartin Mares	* lspci.c: Added bridge checks to bus mapping code.
17861c31d620SMartin Mares
17871812a795SMartin MaresWed Jan 27 14:59:16 1999  Martin Mares  <[email protected]>
17881812a795SMartin Mares
17891812a795SMartin Mares	* lspci.c: Implemented bus mapping mode (-M).
17901812a795SMartin Mares
17911812a795SMartin Mares	* lspci.c (scan_devices): Split to scan_devices() and scan_device().
17921812a795SMartin Mares	(show): Split to show() and show_device().
17931812a795SMartin Mares
17941812a795SMartin Mares	* lib/access.c (pci_init): When a->method == PCI_ACCESS_AUTO,
17951812a795SMartin Mares	set it to the real access method afterwards.
17961812a795SMartin Mares
17971812a795SMartin MaresMon Jan 25 23:46:13 1999  Martin Mares  <[email protected]>
17981812a795SMartin Mares
17991812a795SMartin Mares	* lib/generic.c (pci_generic_fill_info): If in buscentric mode,
18001812a795SMartin Mares	don't check PCI_COMMAND for I/O and memory enables.
18011812a795SMartin Mares
1802f6c86928SMartin MaresMon Jan 25 21:28:49 1999  Martin Mares  <[email protected]>
1803f6c86928SMartin Mares
1804f6c86928SMartin Mares	* Makefile: Added target `release' which substitutes new version
1805f6c86928SMartin Mares	number to .spec, .lsm and README. Also rewrote target `dist'.
1806f6c86928SMartin Mares
1807f6c86928SMartin Mares	* Released as 1.99.3.
1808f6c86928SMartin Mares
1809b5137411SMartin MaresSun Jan 24 22:10:36 1999  Martin Mares  <[email protected]>
1810b5137411SMartin Mares
1811d6b297d0SMartin Mares	* lib/header.h: Until kernel adopts new layout of PCI
1812d6b297d0SMartin Mares	includes (i.e., separate declaration of header structure,
1813d6b297d0SMartin Mares	functions and device IDs), which is not going to happen
1814d6b297d0SMartin Mares	before 2.3, we'll use our own definiton of the header.
1815d6b297d0SMartin Mares
1816b5137411SMartin Mares	* lspci.c (show_verbose): Display `Cap' flag in device status.
1817b5137411SMartin Mares
1818b5137411SMartin Mares	* lspci.c (show_htype0): Display capability lists whereever
1819b5137411SMartin Mares	available. The only capability name we recognize now is `AGP'.
1820b5137411SMartin Mares	Unfortunately, capabilities are stored in device-dependent
1821b5137411SMartin Mares	portion of the configuration space and are thus available
1822b5137411SMartin Mares	only to root unless you read a dump.
1823b5137411SMartin Mares
1824b5137411SMartin Mares	* lspci.c (scan_devices): Use cache instead of buffering.
1825b5137411SMartin Mares
1826b5137411SMartin Mares	* lib/buffer.c: Removed (obsoleted by the cache).
1827b5137411SMartin Mares
1828b5137411SMartin Mares	* lib/access.c: Added general caching mechanism.
1829b5137411SMartin Mares
183081ce358dSMartin MaresSat Jan 23 21:30:54 1999  Martin Mares  <[email protected]>
183181ce358dSMartin Mares
183281ce358dSMartin Mares	* pci.ids: Added few devices.
183381ce358dSMartin Mares
1834727ce158SMartin MaresFri Jan 22 19:29:31 1999  Martin Mares  <[email protected]>
1835727ce158SMartin Mares
1836727ce158SMartin Mares	* Version string is now defined in top-level Makefile, exported
1837727ce158SMartin Mares	to the configure script and also substituted to man pages.
1838727ce158SMartin Mares
1839727ce158SMartin Mares	* lspci.c (show_bases): Rewrote displaying of 64-bit addresses.
1840727ce158SMartin Mares	(show_verbose): Rewrote interrupt display logic.
1841727ce158SMartin Mares
1842727ce158SMartin Mares	* lib/i386-ports.c: Include sys/io.h only on glibc systems.
1843727ce158SMartin Mares
1844727ce158SMartin Mares	* lib/configure: Rewrote detection of Linux versions. Now it
1845727ce158SMartin Mares	works on 2.0 kernels (only with direct/dump access, of course).
1846727ce158SMartin Mares
1847727ce158SMartin Mares	* lib/internal.h: New bytesex macros using <asm/byteorder.h>
1848727ce158SMartin Mares	whenever available.
1849727ce158SMartin Mares
1850727ce158SMartin Mares	* lib/proc.c (proc_read, proc_write): Distinguish between short
1851727ce158SMartin Mares	read/write and real errors.
1852727ce158SMartin Mares
1853727ce158SMartin Mares	* lspci.c (show_htype{0,1}): Always use d->dev->rom_base_addr since
1854727ce158SMartin Mares	libpci respects buscentric mode automatically.
1855727ce158SMartin Mares
1856727ce158SMartin Mares	* lspci.c (show_hex_dump): For CardBus bridges, print out 128
1857727ce158SMartin Mares	bytes of header (the whole standard part).
1858727ce158SMartin Mares
1859727ce158SMartin Mares	* common.c: pcilib options are now all uppercase. Also moved
1860727ce158SMartin Mares	PCI access debugging option here.
1861727ce158SMartin Mares
1862727ce158SMartin Mares	* Released as 1.99.2.
1863727ce158SMartin Mares
1864727ce158SMartin MaresWed Jan 20 22:50:35 1999  Martin Mares  <[email protected]>
1865727ce158SMartin Mares
1866727ce158SMartin Mares	* Wrote configure script and rewrote Makefiles.
1867727ce158SMartin Mares
1868727ce158SMartin Mares	* Removed few unused variables.
1869727ce158SMartin Mares
1870727ce158SMartin MaresWed Jan 20 12:21:56 1999  Martin Mares  <[email protected]>
1871727ce158SMartin Mares
1872727ce158SMartin Mares	* common.c: Moved several functions used in both setpci and lspci
1873727ce158SMartin Mares	here. This includes parsing of libpci-related options.
1874727ce158SMartin Mares
1875727ce158SMartin Mares	* More library tweaks.
1876727ce158SMartin Mares
1877727ce158SMartin Mares	* filter.c, names.c: Moved to library.
1878727ce158SMartin Mares
1879727ce158SMartin Mares	* setpci: Rewritten to use the library.
1880727ce158SMartin Mares
1881727ce158SMartin Mares	* Released as 1.99.1.
1882727ce158SMartin Mares
1883727ce158SMartin MaresTue Jan 19 23:00:12 1999  Martin Mares  <[email protected]>
1884727ce158SMartin Mares
1885727ce158SMartin Mares	* lspci.c (scan_devices): For cardbus bridges, read first 128
1886727ce158SMartin Mares	bytes of config space to get full standard header.
1887727ce158SMartin Mares
1888727ce158SMartin Mares	* Makefile (CFLAGS): Removed "-Wno-unused".
1889727ce158SMartin Mares
1890727ce158SMartin Mares	* Started the "New Generation" branch and introduced the
1891727ce158SMartin Mares	PCI library.
1892727ce158SMartin Mares
1893727ce158SMartin Mares	* lspci: Rewritten to use the library.
1894727ce158SMartin Mares
18956ece6bc6SMartin MaresTue Jan 19 22:24:08 1999  Martin Mares  <[email protected]>
18966ece6bc6SMartin Mares
18976ece6bc6SMartin Mares	* Released as version 1.10.
18986ece6bc6SMartin Mares
18996ece6bc6SMartin MaresMon Jan 18 08:51:17 1999  Martin Mares  <[email protected]>
19006ece6bc6SMartin Mares
19016ece6bc6SMartin Mares	* lspci.8, setpci.8: Miscellaneous fixes as suggested by
19026ece6bc6SMartin Mares	Dag Wieers <[email protected]>.
19036ece6bc6SMartin Mares
19041212dd6dSMartin MaresSun Nov 29 20:05:56 1998  Martin Mares  <[email protected]>
19051212dd6dSMartin Mares
19061212dd6dSMartin Mares	* pciutils.spec (Name): Update from Krzysztof G. Baranowski.
19071212dd6dSMartin Mares
1908d38471fdSMartin MaresSun Nov 22 10:49:56 1998  Martin Mares  <[email protected]>
1909d38471fdSMartin Mares
1910d38471fdSMartin Mares	* Makefile, pciutils.h: Moved pci.ids to /usr/share.
1911d38471fdSMartin Mares
1912d38471fdSMartin Mares	* Released as version 1.09.
1913d38471fdSMartin Mares
1914371f605bSMartin MaresWed Nov 18 15:47:05 1998  Martin Mares  <[email protected]>
1915371f605bSMartin Mares
1916371f605bSMartin Mares	* lspci.c (show_htype1): Fixed displaying of prefetchable memory behind
1917371f605bSMartin Mares	bridge. Thanks to Petr Vandrovec <[email protected]> for bug report.
1918371f605bSMartin Mares
191910be47abSMartin MaresFri Oct 23 18:59:19 1998  Martin Mares  <[email protected]>
192010be47abSMartin Mares
192110be47abSMartin Mares	* setpci.c: Don't include <syscall-list.h> with glibc >= 2.1.
192210be47abSMartin Mares
1923472bd340SMartin MaresMon Oct 19 21:53:30 1998  Martin Mares  <[email protected]>
1924472bd340SMartin Mares
1925472bd340SMartin Mares	* Released as version 1.08.
1926472bd340SMartin Mares
1927472bd340SMartin Mares	* setpci.c: glibc 2.1.x already defines pread() and pwrite().
1928472bd340SMartin Mares
1929472bd340SMartin Mares	* lspci.8: Changed warning about lspci -xxx.
1930472bd340SMartin Mares
1931472bd340SMartin Mares	* lspci.c: Require "-xxx" for full configuration space dump, so that
1932472bd340SMartin Mares	it's impossible to crash the machine by single typo.
1933472bd340SMartin Mares
1934472bd340SMartin Mares	* specs: Added (courtesy of Krzysztof G. Baranowski <[email protected]>).
1935472bd340SMartin Mares
1936072c77e5SMartin MaresWed Sep  9 12:03:24 1998  Martin Mares  <[email protected]>
1937072c77e5SMartin Mares
1938072c77e5SMartin Mares	* lspci.c (show_bases): Better displaying of unassigned and
1939072c77e5SMartin Mares	disabled bases. Thanks to Gabriel Paubert <[email protected]>
1940072c77e5SMartin Mares	for an idea.
1941072c77e5SMartin Mares
1942b7554856SMartin MaresWed Sep  2 10:58:01 1998  Martin Mares  <[email protected]>
1943b7554856SMartin Mares
1944b7554856SMartin Mares	* setpci.c (pread): Recognize glibc 1.99 numbered as 2.0 on the PPC.
1945b7554856SMartin Mares	(thanks to Geert Uytterhoeven for finding this out)
1946b7554856SMartin Mares
1947ce503b7fSMartin MaresFri Jul 17 10:43:30 1998  Martin Mares  <[email protected]>
1948ce503b7fSMartin Mares
1949ce503b7fSMartin Mares	* lspci.c (show_verbose): Print subsystem ID using the new resolver.
1950ce503b7fSMartin Mares	(show_machine): Print subsystem ID.
1951ce503b7fSMartin Mares
1952ce503b7fSMartin Mares	* names.c: New name resolution engine supporting subsystem IDs.
1953ce503b7fSMartin Mares
1954ce503b7fSMartin Mares	* Released as version 1.07.
1955ce503b7fSMartin Mares
195696e4f295SMartin MaresWed Jul 15 15:37:21 1998  Martin Mares  <[email protected]>
195796e4f295SMartin Mares
195896e4f295SMartin Mares	* lspci.c (show_htype2 etc.): Displaying of CardBus headers.
195996e4f295SMartin Mares	(show_bases): Honor the `cnt' argument.
196096e4f295SMartin Mares	(grow_tree): Parse CardBus headers in tree mode as well.
196196e4f295SMartin Mares
196296e4f295SMartin Mares	* pci.h: Updated CardBus header field description. I still don't
196396e4f295SMartin Mares	have the CardBus standard available, but OZ6832 specs contain
196496e4f295SMartin Mares	full description of all header fields supported by the chip.
196596e4f295SMartin Mares
19666ae3650aSMartin MaresTue Jun  9 22:53:59 1998  Martin Mares  <[email protected]>
19676ae3650aSMartin Mares
1968304f9a0bSMartin Mares	* Released as 1.06.
1969304f9a0bSMartin Mares
19706ae3650aSMartin Mares	* names.c (parse_name_list): Killed an unused variable.
19716ae3650aSMartin Mares
19726ae3650aSMartin Mares	* setpci.c (pread, pwrite): Define SYS_(pread|pwrite) as __NR_\1
19736ae3650aSMartin Mares	if they are not defined by glibc (needed for glibc built on older
19746ae3650aSMartin Mares	kernels). Ugly.
19756ae3650aSMartin Mares
19766ae3650aSMartin Mares	* setpci.c (exec_op): Fixed error messages. Thanks, Steve!
19776ae3650aSMartin Mares
19784b88a6b8SMartin MaresMon Jun  8 10:59:22 1998  Martin Mares  <[email protected]>
19794b88a6b8SMartin Mares
19804b88a6b8SMartin Mares	* Released as 1.05.
19814b88a6b8SMartin Mares
19824b88a6b8SMartin Mares	* setpci.c: Problems with pread()/pwrite() with glibc on Alpha
19834b88a6b8SMartin Mares	should be gone. Again thanks to Steve for bug report.
19844b88a6b8SMartin Mares
19854b88a6b8SMartin Mares	* filter.c (filter_parse_slot): Fixed ":x" type filters.
19864b88a6b8SMartin Mares
19874b88a6b8SMartin Mares	* pci.ids: Killed duplicate entry. Thanks to Stephen Williams
19884b88a6b8SMartin Mares	<[email protected]> for reporting this.
19894b88a6b8SMartin Mares
19904b88a6b8SMartin MaresSun Jun  7 19:27:51 1998  Martin Mares  <[email protected]>
19914b88a6b8SMartin Mares
19924b88a6b8SMartin Mares	* lspci.c (main), setpci.c (main): Implemented "--version".
19934b88a6b8SMartin Mares
19944b88a6b8SMartin Mares	* Released as 1.04.
19954b88a6b8SMartin Mares
19964b88a6b8SMartin Mares	* pciutils.h (PCIUTILS_VERSION): Added version string.
19974b88a6b8SMartin Mares
19984b88a6b8SMartin Mares	* filter.c, names.c: Extraneous #include <linux/pci.h> removed.
19994b88a6b8SMartin Mares	Thanks to Geert Uytterhoeven <[email protected]>
20004b88a6b8SMartin Mares	for bug report.
20014b88a6b8SMartin Mares
20029b306998SMartin MaresThu May 28 14:45:58 1998  Martin Mares  <[email protected]>
20039b306998SMartin Mares
20049b306998SMartin Mares	* pci.ids: More updates from Jens Maurer.
20059b306998SMartin Mares
2006b372672fSMartin MaresWed Apr 22 10:00:39 1998  Martin Mares  <[email protected]>
2007b372672fSMartin Mares
2008b372672fSMartin Mares	* pci.ids: Updates from Jens Maurer.
2009b372672fSMartin Mares
2010b2c9b373SMartin MaresSun Apr 19 11:14:25 1998  Martin Mares  <[email protected]>
2011b2c9b373SMartin Mares
2012b372672fSMartin Mares	* Released as 1.03.
2013b372672fSMartin Mares
2014b2c9b373SMartin Mares	* setpci.8: Written.
2015b2c9b373SMartin Mares
2016b2c9b373SMartin Mares	* setpci.c: Finished.
2017b2c9b373SMartin Mares
2018b2c9b373SMartin Mares	* lspci.c: Now able to fetch expansion ROM base from kernel device list
2019b2c9b373SMartin Mares	and print it if not in buscentric mode.
2020b2c9b373SMartin Mares
2021e4842ff3SMartin MaresTue Mar 31 23:11:57 1998  Martin Mares  <[email protected]>
2022e4842ff3SMartin Mares
2023e4842ff3SMartin Mares	* setpci.c: Added.
2024e4842ff3SMartin Mares
2025e4842ff3SMartin MaresSun Mar 22 15:39:08 1998  Martin Mares  <[email protected]>
2026e4842ff3SMartin Mares
2027e4842ff3SMartin Mares	* lspci.8: Updated the documentation.
2028e4842ff3SMartin Mares
2029e4842ff3SMartin Mares	* lspci.c: Modified to use the new filtering mechanism (options -f and -d).
2030e4842ff3SMartin Mares
2031e4842ff3SMartin Mares	* filter.c: Introduced new generic device filter.
2032e4842ff3SMartin Mares
2033008407bdSMartin MaresThu Mar 19 17:03:48 1998  Martin Mares  <[email protected]>
2034008407bdSMartin Mares
2035008407bdSMartin Mares	* lspci.c (grow_tree, show_tree_dev, print_it): Fixed displaying
2036008407bdSMartin Mares	of PCI-to-PCI bridges in the tree format.
2037008407bdSMartin Mares
20380a33d0ecSMartin MaresSun Feb 15 10:12:25 1998  Martin Mares  <[email protected]>
20390a33d0ecSMartin Mares
20400a33d0ecSMartin Mares	* lspci.c (show_machine): Added non-verbose mode of machine-readable
20410a33d0ecSMartin Mares	dump.
20420a33d0ecSMartin Mares
20430a33d0ecSMartin Mares	* pci.ids: Updates from Jens Maurer.
20440a33d0ecSMartin Mares
20450a33d0ecSMartin Mares	* Released as version 1.02.
20460a33d0ecSMartin Mares
20470a33d0ecSMartin MaresThu Feb 12 16:53:28 1998  Martin Mares  <[email protected]>
20480a33d0ecSMartin Mares
20490a33d0ecSMartin Mares	* lspci.c: Added a "-m" switch for dumping machine-readable
20500a33d0ecSMartin Mares	configuration data (requested by Bjoern Kriews <[email protected]>).
20510a33d0ecSMartin Mares
2052fb38eee8SMartin MaresMon Feb  9 13:17:43 1998  Martin Mares  <[email protected]>
2053fb38eee8SMartin Mares
2054fb38eee8SMartin Mares	* Makefile, pciutils.h: Include local pci.h instead of <linux/pci.h>
2055fb38eee8SMartin Mares	if available. This should avoid all problems with official kernel
2056fb38eee8SMartin Mares	not synchronized to newer PCI code in CVS -- standard distribution
2057fb38eee8SMartin Mares	of pciutils now contains pci.h from current CVS kernel, pciutils
2058fb38eee8SMartin Mares	in CVS contain no pci.h and use the correct kernel include.
2059fb38eee8SMartin Mares
2060fb38eee8SMartin Mares	* Makefile: Fixed installation path for man pages.
2061fb38eee8SMartin Mares
20622f48f637SMartin MaresSat Feb  7 15:15:46 1998  Martin Mares  <[email protected]>
20632f48f637SMartin Mares
20642f48f637SMartin Mares	* README: Updated.
20652f48f637SMartin Mares
20662f48f637SMartin Mares	* lspci.8: Created a man page.
20672f48f637SMartin Mares
20682f48f637SMartin Mares	* Releasing as version 1.0.
20692f48f637SMartin Mares
20702f48f637SMartin MaresTue Feb  3 20:56:00 1998  Martin Mares  <[email protected]>
20712f48f637SMartin Mares
20722f48f637SMartin Mares	* Makefile: Recognize architecture by calling uname and pass it as ARCH_xxx
20732f48f637SMartin Mares	to all the C sources. This should eliminate problems with 32-bit compilers
20742f48f637SMartin Mares	on sparc64.
20752f48f637SMartin Mares
20762f48f637SMartin Mares	* lspci.c (show_verbose): Recognize CardBus bridge header type.
20772f48f637SMartin Mares	(show_htype2): Stub routine.
20782f48f637SMartin Mares	(scan_config): Write sensible error message if the kernel denies reading of
20792f48f637SMartin Mares	upper part of the PCI config space.
2080