xref: /pciutils/ChangeLog (revision 2b1451eb)
1*2b1451ebSMartin Mares2018-07-12  Martin Mares <[email protected]>
2*2b1451ebSMartin Mares
3*2b1451ebSMartin Mares	* Released as 3.6.1.
4*2b1451ebSMartin Mares
5*2b1451ebSMartin Mares	* Fixed compilation issues on Linux systems with MUSL libc.
6*2b1451ebSMartin Mares
7b3fb64ceSMartin Mares2018-06-30  Martin Mares <[email protected]>
8b3fb64ceSMartin Mares
9b3fb64ceSMartin Mares	* Released as 3.6.0.
10b3fb64ceSMartin Mares
11b3fb64ceSMartin Mares	* BARs reported by the OS, but not set on the device itself are
12b3fb64ceSMartin Mares	  reliably marked with "[virtual]".
13b3fb64ceSMartin Mares
14b3fb64ceSMartin Mares	* Library: Introduced a generic mechanism of string properties. This
15b3fb64ceSMartin Mares	  avoids lots of special cases and makes ABI compatibility easier.
16b3fb64ceSMartin Mares
17b3fb64ceSMartin Mares	* On Linux systems with OpenFirmware, report corresponding device tree nodes
18b3fb64ceSMartin Mares	  as device properties.
19b3fb64ceSMartin Mares
20b3fb64ceSMartin Mares	* VPD decoder knows several non-standard extensions.
21b3fb64ceSMartin Mares
22b3fb64ceSMartin Mares	* When PCIe link speed is less than the maximum supported by the
23b3fb64ceSMartin Mares	  device, it is explicitly marked as "downgraded".
24b3fb64ceSMartin Mares
25b3fb64ceSMartin Mares	* Several new capabilities are not decoded yet, but at least their
26b3fb64ceSMartin Mares	  names are printed.
27b3fb64ceSMartin Mares
28b3fb64ceSMartin Mares	* The Null capability is easily decoded.
29b3fb64ceSMartin Mares
30b3fb64ceSMartin Mares	* Formatting of several capabilities was cleaned up.
31b3fb64ceSMartin Mares
32b3fb64ceSMartin Mares	* The VGA16 bit in the bridge control register is now supported.
33b3fb64ceSMartin Mares
34b3fb64ceSMartin Mares	* Added a port to SylixOS. Thanks to YuJian Gong for contribution.
35b3fb64ceSMartin Mares
36b3fb64ceSMartin Mares	* Added a port to DOS/DJGPP. Thanks to Rudolf Marek for contribution.
37b3fb64ceSMartin Mares
38b3fb64ceSMartin Mares	* The order in which back-ends are probed was decoupled from the
39b3fb64ceSMartin Mares	  internal back-end IDs. This helps, because new back-ends must have
40b3fb64ceSMartin Mares	  their ID allocated at the end to keep the ABI, but they might need
41b3fb64ceSMartin Mares	  to be proved earlier.
42b3fb64ceSMartin Mares
43b3fb64ceSMartin Mares	* The fbsd-device back-end should work again.
44b3fb64ceSMartin Mares
45b3fb64ceSMartin Mares	* Fixed a couple of bugs. Most notably, DeviceName was not printed.
46b3fb64ceSMartin Mares
47b3fb64ceSMartin Mares	* As usually, updated pci.ids to the current snapshot of the database.
48b3fb64ceSMartin Mares
49b72f3827SMartin Mares2017-11-17  Martin Mares <[email protected]>
50b72f3827SMartin Mares
51b72f3827SMartin Mares	* Released as 3.5.6.
52b72f3827SMartin Mares
53b72f3827SMartin Mares	* Improvements of the FreeBSD back-end: read-only access for non-root,
54b72f3827SMartin Mares	  support DragonFly BSD, support extended config space.
55b72f3827SMartin Mares
56b72f3827SMartin Mares	* MN VPD keyword is decoded correctly.
57b72f3827SMartin Mares
58b72f3827SMartin Mares	* As usually, updated pci.ids to the current snapshot of the database.
59b72f3827SMartin Mares
60dfd15a80SMartin Mares2017-07-05  Martin Mares <[email protected]>
61dfd15a80SMartin Mares
62dfd15a80SMartin Mares	* Released as 3.5.5.
63dfd15a80SMartin Mares
64dfd15a80SMartin Mares	* Better decoding of AER capability.
65dfd15a80SMartin Mares
66dfd15a80SMartin Mares	* "Slot Implemented" flag is decoded for PCI/PCI-X to PCIe bridges.
67dfd15a80SMartin Mares
68dfd15a80SMartin Mares	* Minor fixes of decoding other capabilities.
69dfd15a80SMartin Mares
70dfd15a80SMartin Mares	* As usually, updated pci.ids to the current snapshot of the database.
71dfd15a80SMartin Mares
729f9e373bSMartin Mares2017-02-25  Martin Mares <[email protected]>
739f9e373bSMartin Mares
749f9e373bSMartin Mares	* Released as 3.5.4.
759f9e373bSMartin Mares
769f9e373bSMartin Mares	* Previous version broke compilation on systems, for which lib/types.h
779f9e373bSMartin Mares	  did not provide a 64-bit integer type. It is provided everywhere now.
789f9e373bSMartin Mares
792ee7d45aSMartin Mares2017-02-15  Martin Mares <[email protected]>
802ee7d45aSMartin Mares
812ee7d45aSMartin Mares	* Released as 3.5.3.
822ee7d45aSMartin Mares
832ee7d45aSMartin Mares	* When lspci looks for Linux kernel modules, it uses the default
842ee7d45aSMartin Mares	  path to module directory provided by libkmod. Previously,
852ee7d45aSMartin Mares	  it tried to construct the path explicitly, which need not
862ee7d45aSMartin Mares	  work on all systems.
872ee7d45aSMartin Mares
882ee7d45aSMartin Mares	* Improved formatting of memory and I/O ranges behind a bridge.
892ee7d45aSMartin Mares
902ee7d45aSMartin Mares	* PCIe link capabilities now display GEN4 speed (16GT/s).
912ee7d45aSMartin Mares
922ee7d45aSMartin Mares	* PCIe device capabilities now show bits related to atomic operations.
932ee7d45aSMartin Mares	  Thanks to Satanand Burla for a patch.
942ee7d45aSMartin Mares
952ee7d45aSMartin Mares	* As usually, updated pci.ids to the current snapshot of the database.
962ee7d45aSMartin Mares
974a190235SMartin Mares2016-10-03  Martin Mares <[email protected]>
984a190235SMartin Mares
994a190235SMartin Mares	* Released as 3.5.2.
1004a190235SMartin Mares
1014a190235SMartin Mares	* The L1 power management capability is now decoded more
1024a190235SMartin Mares	  thoroughly. Thanks to Rajat Jain for the patch.
1034a190235SMartin Mares
1044a190235SMartin Mares	* The table of configuration registers used by setpci
1054a190235SMartin Mares	  had a bug in the definition of SUBSYSTEM_VENDOR_ID.
1064a190235SMartin Mares
1072f8b8f9fSMartin Mares2016-05-22  Martin Mares <[email protected]>
1082f8b8f9fSMartin Mares
1092f8b8f9fSMartin Mares	* Released as 3.5.1.
1102f8b8f9fSMartin Mares
1112f8b8f9fSMartin Mares	* Fixed symbol versioning of pci_init().
1122f8b8f9fSMartin Mares
113ab6ed5fdSMartin Mares2016-05-19  Martin Mares <[email protected]>
114ab6ed5fdSMartin Mares
115ab6ed5fdSMartin Mares	* Released as 3.5.0.
116ab6ed5fdSMartin Mares
117ab6ed5fdSMartin Mares	* New capabilities decoded: Downstream Port Containment,
118ab6ed5fdSMartin Mares	  Precision Time Measurement. Thanks to Keith Busch and
119ab6ed5fdSMartin Mares	  Jonathan Yong.
120ab6ed5fdSMartin Mares
121ab6ed5fdSMartin Mares	* Domain numbers extended to 31 bits. This will be used by the
122ab6ed5fdSMartin Mares	  Linux kernel on some machines in near future.
123ab6ed5fdSMartin Mares
124ab6ed5fdSMartin Mares	* Enhanced allocation regions are now decoded on Linux.
125ab6ed5fdSMartin Mares
126ab6ed5fdSMartin Mares	* The NetBSD back-end supports PCIe extended configuration space.
127ab6ed5fdSMartin Mares
128ab6ed5fdSMartin Mares	* Updated pci.ids to the current snapshot of the database.
129ab6ed5fdSMartin Mares
13037c9315cSMartin Mares2016-01-03  Martin Mares <[email protected]>
13137c9315cSMartin Mares
13237c9315cSMartin Mares	* Released as 3.4.1.
13337c9315cSMartin Mares
13437c9315cSMartin Mares	* New capabilities decoded: Process Address Space, Page Request
13537c9315cSMartin Mares	  Interface, Enhanced Allocation. Thanks to David Daney and
13637c9315cSMartin Mares	  David Woodhouse.
13737c9315cSMartin Mares
13837c9315cSMartin Mares	* DevCap SlotPowerLimit is now decoded for all components with
13937c9315cSMartin Mares	  upstream ports.
14037c9315cSMartin Mares
14137c9315cSMartin Mares	* Database mirror at SourceForge moved to GitHub.
14237c9315cSMartin Mares
14337c9315cSMartin Mares	* Updated pci.ids to the current snapshot of the database.
14437c9315cSMartin Mares
145508c53ebSMartin Mares2015-09-14  Martin Mares <[email protected]>
146508c53ebSMartin Mares
147508c53ebSMartin Mares	* Released as 3.4.0.
148508c53ebSMartin Mares
149508c53ebSMartin Mares	* On Linux, we report NUMA nodes of devices.
150508c53ebSMartin Mares
151508c53ebSMartin Mares	* The sysfs back-end does not die on read errors
152508c53ebSMartin Mares	  of optional attributes. Instead, a warning is produced.
153508c53ebSMartin Mares
154508c53ebSMartin Mares	* Fixed several minor bugs.
155508c53ebSMartin Mares
156508c53ebSMartin Mares	* Updated pci.ids to the current snapshot of the database.
157508c53ebSMartin Mares
158949f4469SMartin Mares2015-04-09  Martin Mares <[email protected]>
159949f4469SMartin Mares
160949f4469SMartin Mares	* Released as 3.3.1.
161949f4469SMartin Mares
162949f4469SMartin Mares	* Removed hacks for backward compatibility with Linux libc5,
163949f4469SMartin Mares	  which were breaking newer non-glibc Linux systems. Thanks
164949f4469SMartin Mares	  to Felix Janda.
165949f4469SMartin Mares
166949f4469SMartin Mares	* Display VirtIO vendor-specific capability. Patch by Gerd
167949f4469SMartin Mares	  Hoffmann.
168949f4469SMartin Mares
169949f4469SMartin Mares	* Fixed memory leak in name cache.
170949f4469SMartin Mares
1713bc4dd2cSMartin Mares	* Updated pci.ids to the current snapshot of the database.
1723bc4dd2cSMartin Mares
173f14d4d87SMartin Mares2014-11-10  Martin Mares <[email protected]>
174f14d4d87SMartin Mares
1751481a1caSMartin Mares	* Released as 3.3.0.
1761481a1caSMartin Mares	  (celebrating a one-year anniversary of the previous version :))
17728617b24SMartin Mares
17828617b24SMartin Mares	* Device names exported by BIOS are displayed on Linux.
17928617b24SMartin Mares
18028617b24SMartin Mares	* On Linux systems, HWDB is used to look up device names
18128617b24SMartin Mares	  when our ID database gives no match. (More precisely,
18228617b24SMartin Mares	  HWDB is consulted after local pci.ids, but before using
18328617b24SMartin Mares	  network to query online pci.ids.) Thanks to Tom Gundersen
18428617b24SMartin Mares	  for the initial patch.
18528617b24SMartin Mares
18628617b24SMartin Mares	* Added experimental back-end for OS X / Darwin. Thanks to
18728617b24SMartin Mares	  Richard Yao for providing it.
18828617b24SMartin Mares
189afb881ccSMartin Mares	* Filters now support matching by device class. Original
190afb881ccSMartin Mares	  patch by Matthew Wilcox, wrappers for ABI compatibility
191afb881ccSMartin Mares	  by me.
192afb881ccSMartin Mares
19328617b24SMartin Mares	* Interrupt Pin and Interrupt Line registers are displayed
19428617b24SMartin Mares	  for bridge devices, too.
19528617b24SMartin Mares
19628617b24SMartin Mares	* Several portability bugs have been fixed.
19728617b24SMartin Mares
19828617b24SMartin Mares	* Several typos have been fixed. Also, use of questionable
19928617b24SMartin Mares	  constructs in man pages has been reduced.
20028617b24SMartin Mares
20128617b24SMartin Mares	* PCIe link capabilities now include the ASPMOptComp bit.
20228617b24SMartin Mares
20328617b24SMartin Mares	* The "CRS Software Visibility" bit is now decoded properly.
20428617b24SMartin Mares
20528617b24SMartin Mares	* Updated pci.ids to the current snapshot of the database.
20628617b24SMartin Mares
207dc49926aSMartin Mares2013-11-10  Martin Mares <[email protected]>
208dc49926aSMartin Mares
209dc49926aSMartin Mares	* Released as 3.2.1.
210dc49926aSMartin Mares
211dc49926aSMartin Mares	* CardBus bridge capabilities are displayed.
212dc49926aSMartin Mares
213dc49926aSMartin Mares	* PCIe L1 PM substates are decoded.
214dc49926aSMartin Mares
215dc49926aSMartin Mares	* Various bugs were fixed in decoding of PCIe capabilities.
216dc49926aSMartin Mares
217dc49926aSMartin Mares	* The sysfs back-end does not spit out unnecessary warnings when
218dc49926aSMartin Mares	  empty slots report only a partial device address. This actually
219dc49926aSMartin Mares	  happens on IBM pSeries.
220dc49926aSMartin Mares
221dc49926aSMartin Mares	* Updated pci.ids to the today's snapshot of the database.
222dc49926aSMartin Mares
2236a4909eeSMartin Mares2013-04-19  Martin Mares <[email protected]>
2246a4909eeSMartin Mares
2256a4909eeSMartin Mares	* Released as 3.2.0.
2266a4909eeSMartin Mares
2276a4909eeSMartin Mares	* On newer Linux systems, we use libkmod to look up kernel modules
22869a77b5cSMartin Mares	  (modules.pcimap no longer exists). To facilitate this, libpci
2296a4909eeSMartin Mares	  is able to look up module aliases in sysfs.
2306a4909eeSMartin Mares
2316a4909eeSMartin Mares	* Various minor bug fixes.
2326a4909eeSMartin Mares
2336a4909eeSMartin Mares	* Updated pci.ids to the today's snapshot of the database.
2346a4909eeSMartin Mares
23527c0f3acSMartin Mares2012-06-25  Martin Mares <[email protected]>
23627c0f3acSMartin Mares
23727c0f3acSMartin Mares	* Released as 3.1.10.
23827c0f3acSMartin Mares
23927c0f3acSMartin Mares	* Decoding of LTR/OBFF in PCIe capabilities.
24027c0f3acSMartin Mares
24127c0f3acSMartin Mares	* Various minor bug fixes.
24227c0f3acSMartin Mares
24327c0f3acSMartin Mares	* Updated pci.ids to the today's snapshot of the database.
24427c0f3acSMartin Mares
24568e5ff17SMartin Mares2012-01-14  Martin Mares <[email protected]>
24668e5ff17SMartin Mares
24768e5ff17SMartin Mares	* Released as 3.1.9.
24868e5ff17SMartin Mares
24968e5ff17SMartin Mares	* Updated README.
25068e5ff17SMartin Mares
2516a4909eeSMartin Mares	* Wherever we mention the PCI ID database, we now refer to
25268e5ff17SMartin Mares	  http://pci-ids.ucw.cz/ and the sf.net site is mentioned only
25368e5ff17SMartin Mares	  as a mirror. This includes update-pciids.
25468e5ff17SMartin Mares
25568e5ff17SMartin Mares	* Decode PCIe Gen 3 speeds and link status fields.
25668e5ff17SMartin Mares
25768e5ff17SMartin Mares	* Various minor bug fixes.
25868e5ff17SMartin Mares
25968e5ff17SMartin Mares	* Updated pci.ids to the today's snapshot of the database.
26068e5ff17SMartin Mares
261a70dab15SMartin Mares2011-10-02  Martin Mares <[email protected]>
262a70dab15SMartin Mares
263a70dab15SMartin Mares	* Released as 3.1.8.
264a70dab15SMartin Mares
265a70dab15SMartin Mares	* More capabilities: Transaction Processing Hints, Latency Tolerance
266a70dab15SMartin Mares	Reporting. Thanks to Jesse Barnes.
267a70dab15SMartin Mares
268a70dab15SMartin Mares	* Added BeOS and Haiku ports. Contributed by Francois Revol.
269a70dab15SMartin Mares
270a70dab15SMartin Mares	* pciutils.pc now uses Libs.private properly.
271a70dab15SMartin Mares
272a70dab15SMartin Mares	* When we format a name and it does not fit in the buffer, we truncate
273a70dab15SMartin Mares	it instead of returning "buffer too small" instead. This works on all
274a70dab15SMartin Mares	platforms with sane (i.e., C99-compatible) snprintf().
275a70dab15SMartin Mares
276a70dab15SMartin Mares	* Various minor bug fixes.
277a70dab15SMartin Mares
278a70dab15SMartin Mares	* Updated pci.ids to the today's snapshot of the database.
279a70dab15SMartin Mares
2806bc2bc1cSMartin Mares2010-01-31  Martin Mares <[email protected]>
2816bc2bc1cSMartin Mares
2826bc2bc1cSMartin Mares	* Released as 3.1.7.
2836bc2bc1cSMartin Mares
2846bc2bc1cSMartin Mares	* Minor improvements and bug fixes in decoding of the Virtual Channel
2856bc2bc1cSMartin Mares	capability.
2866bc2bc1cSMartin Mares
287e3a052daSMartin Mares2010-01-24  Martin Mares <[email protected]>
288e3a052daSMartin Mares
289e3a052daSMartin Mares	* Released as 3.1.6.
290e3a052daSMartin Mares
291e3a052daSMartin Mares	* More capabilities decoded: Virtual Channel (except arbitration
292e3a052daSMartin Mares	tables), Root Complex Link, Vendor-Specific (header only), SATA HBA.
293e3a052daSMartin Mares
294e3a052daSMartin Mares	* All extended capabilities have their version displayed (-vv or more).
295e3a052daSMartin Mares
2969978b6fdSMartin Mares2010-01-19  Martin Mares <[email protected]>
2979978b6fdSMartin Mares
2989978b6fdSMartin Mares	* Released as 3.1.5.
2999978b6fdSMartin Mares
3009978b6fdSMartin Mares	* Updated pci.ids to the today's snapshot of the database.
3019978b6fdSMartin Mares
3029978b6fdSMartin Mares	* When scanning extended capabilities, properly mask the lowest 2 bits,
3039978b6fdSMartin Mares	  which are currently reserved. This avoids unaligned access errors on
3049978b6fdSMartin Mares	  broken hardware (see tests/broken-ecaps).
3059978b6fdSMartin Mares
3069978b6fdSMartin Mares	* Large bar sizes are displayed in human-readable format (with units).
3079978b6fdSMartin Mares	  Thanks to Matthew Wilcox.
3089978b6fdSMartin Mares
3099978b6fdSMartin Mares	* Physical slot information is displayed correctly for multi-function cards.
3109978b6fdSMartin Mares	  Fixed by Matthew Wilcox.
3119978b6fdSMartin Mares
3129978b6fdSMartin Mares	* Fixed a couple of typos everywhere.
3139978b6fdSMartin Mares
3149978b6fdSMartin Mares	* Library: Fixed bugs in freeing of capabilities.
3159978b6fdSMartin Mares
3169978b6fdSMartin Mares	* Windows back-end compiles again.
3179978b6fdSMartin Mares
318c67775bcSMartin Mares2009-08-14  Martin Mares <[email protected]>
319c67775bcSMartin Mares
320ebb9bc54SMartin Mares	* Released as 3.1.4.
321ebb9bc54SMartin Mares	  (sorry that I have missed 22/7 and released it later :-))
322c67775bcSMartin Mares
323c67775bcSMartin Mares	* Updated pci.ids to the today's snapshot of the database.
324c67775bcSMartin Mares
325c67775bcSMartin Mares	* Fixed memory and file descriptor leak in the dump back-end.
326c67775bcSMartin Mares
327c67775bcSMartin Mares	* The SR-IOV capability decoder now prints the VF BAR's.
328c67775bcSMartin Mares	Patch by Chris Wright, cleaned up by me.
329c67775bcSMartin Mares
330c67775bcSMartin Mares	* On request of certain company's lawyers, we now include a copy
331c67775bcSMartin Mares	of the GPL with our package. It seems that the pciutils are getting
332c67775bcSMartin Mares	mature if the most important bug of the month was this one ;-)
333c67775bcSMartin Mares
33410df48cbSMartin Mares2009-07-04  Martin Mares <[email protected]>
33510df48cbSMartin Mares
33610df48cbSMartin Mares	* Released as 3.1.3.
33710df48cbSMartin Mares
33810df48cbSMartin Mares	* Updated pci.ids to the current snapshot of the database.
33910df48cbSMartin Mares
34010df48cbSMartin Mares	* The VPD parser now reports unknown and vendor-defined items
34110df48cbSMartin Mares	properly. It also stops on any item in unknown format, avoiding long
34210df48cbSMartin Mares	output on bogus VPD data. Thanks to Ben Hutchings and Matthew Wilcox.
34310df48cbSMartin Mares
34410df48cbSMartin Mares	* The MSI-X table size now matches the spec. Thanks to Michael S.
34510df48cbSMartin Mares	Tsirkin.
34610df48cbSMartin Mares
34710df48cbSMartin Mares	* The Power Management capability now includes the soft reset bit.
34810df48cbSMartin Mares	Thanks to Yu Zhao.
34910df48cbSMartin Mares
35010df48cbSMartin Mares	* Decoding of the Advanced Features capability has been added.
35110df48cbSMartin Mares	Thanks to Yu Zhao.
35210df48cbSMartin Mares
35310df48cbSMartin Mares	* The whole package compiles on GNU/kFreeBSD again.
35410df48cbSMartin Mares
35510df48cbSMartin Mares	The following patches have been contributed by Matthew Wilcox:
35610df48cbSMartin Mares
35710df48cbSMartin Mares	* The procfs back-end is able to cope with /proc/bus/pci
35810df48cbSMartin Mares	containing names with domains, which occur on sparc64 and
35910df48cbSMartin Mares	possibly other architectures due to a kernel bug.
36010df48cbSMartin Mares
36110df48cbSMartin Mares	* The sysfs back-end no longer complains when a slot address
36210df48cbSMartin Mares	is missing, which happens with old versions of Linux fakephp.
36310df48cbSMartin Mares
36410df48cbSMartin Mares	* The Device Serial Number capability is printed in the right
36510df48cbSMartin Mares	byte order.
36610df48cbSMartin Mares
36710df48cbSMartin Mares	* The MSI and MSI-X capabilities are printed in a prettier way.
36810df48cbSMartin Mares
36910df48cbSMartin Mares	* The tree output mode (`lspci -t') shows domain numbers only
37010df48cbSMartin Mares	at the root, which makes the output more compact.
37110df48cbSMartin Mares
37210df48cbSMartin Mares	* Updated documentation on the bus mapping mode (`lspci -M').
37310df48cbSMartin Mares
37434683007SMartin Mares2009-02-01  Martin Mares <[email protected]>
37534683007SMartin Mares
37634683007SMartin Mares	* Released as 3.1.2.
37734683007SMartin Mares
37834683007SMartin Mares	* Fixed another silly bug in the command-line parser of setpci.
37934683007SMartin Mares
380f6523e28SMartin Mares2009-01-30  Martin Mares <[email protected]>
381f6523e28SMartin Mares
382f6523e28SMartin Mares	* Released as 3.1.1.
383f6523e28SMartin Mares
384f6523e28SMartin Mares	* Updated pci.ids to the current snapshot of the database.
385f6523e28SMartin Mares
386f6523e28SMartin Mares	* The configure script now sets LC_ALL to avoid being fooled by
387f6523e28SMartin Mares	locale-dependent behavior of `tr'.
388f6523e28SMartin Mares
389f6523e28SMartin Mares	* The command-line parser of setpci did sometimes segfault on invalid
390f6523e28SMartin Mares	input. Thanks to Andreas Wiese for a fix.
391f6523e28SMartin Mares
392db557900SMartin Mares2009-01-18  Martin Mares <[email protected]>
393db557900SMartin Mares
394db557900SMartin Mares	* Released as 3.1.0.
395db557900SMartin Mares
396af358b08SMartin Mares	* Updated pci.ids to the current snapshot of the database.
397af358b08SMartin Mares
398db557900SMartin Mares	* The Cygwin backend now works on Windows Vista. Thanks to Jonathan
399db557900SMartin Mares	Kotta.
400db557900SMartin Mares
401db557900SMartin Mares	* Fixed a bug in decoding of the SR-IOV capability. Patch by Yu Zhao.
402db557900SMartin Mares
403db557900SMartin Mares	* Details of some PCIe capabilities are displayed only with -vv.
404db557900SMartin Mares
405db557900SMartin Mares	* When a BAR is reported by the OS, but not by the device (i.e.,
406db557900SMartin Mares	it is marked as [virtual] in lspci), the [disabled] flag is
407db557900SMartin Mares	suppressed, because it does not make sense in such cases.
408db557900SMartin Mares	Patch by Yu Zhao.
409db557900SMartin Mares
4102b31207aSMartin Mares2008-12-13  Martin Mares <[email protected]>
4112b31207aSMartin Mares
4122b31207aSMartin Mares	* The source code of lspci has been split to multiple files, hopefully
4132b31207aSMartin Mares	making it easier to maintain.
4142b31207aSMartin Mares
4152b31207aSMartin Mares	* The library and lspci now know about physical slot names. So far,
4162b31207aSMartin Mares	they are provided by the sysfs back-end only. Thanks go to Alex Chiang.
4172b31207aSMartin Mares
4182b31207aSMartin Mares	* When a device has the VPD (Vital Product Data) capability and the
4192b31207aSMartin Mares	VPD data are supplied by the OS, they are decoded and printed in the
4202b31207aSMartin Mares	verbose mode. This currently works only on Linux with the sysfs
4212b31207aSMartin Mares	back-end. Thanks to Ben Hutchings of Solarflare for the patch.
4222b31207aSMartin Mares
4232b31207aSMartin Mares	* `setpci --version' now works properly.
4242b31207aSMartin Mares
4254d4325f8SMartin Mares	* `setpci --dumpregs' prints a table of all known names of
4262b31207aSMartin Mares	registers and capabilities. This replaces the table of registers
4272b31207aSMartin Mares	in the setpci man page.
4282b31207aSMartin Mares
4292b31207aSMartin Mares	* The dry-run mode of setpci gives better feedback.
4302b31207aSMartin Mares
4312b31207aSMartin Mares	* The setpci utility is now able to address registers stored in PCI
4322b31207aSMartin Mares	capabilities (actually it allows a more general form of relative
4332b31207aSMartin Mares	addressing).
4342b31207aSMartin Mares
4352b31207aSMartin Mares	* The library has gained functions for working with PCI capabilities.
4362b31207aSMartin Mares
4372b31207aSMartin Mares	* Address Translation Services capability is now decoded. Patch by
4382b31207aSMartin Mares	Yu Zhao.
4392b31207aSMartin Mares
440b282435dSMartin Mares2008-11-09  Martin Mares <[email protected]>
441b282435dSMartin Mares
442b282435dSMartin Mares	* Released as 3.0.3.
443b282435dSMartin Mares
444b282435dSMartin Mares	* `lspci -k' now displays the subsystem ID, too. This makes `-k'
445b282435dSMartin Mares	show everything needed to identify the device and the available
446b282435dSMartin Mares	drivers, which was called for by many users.
447b282435dSMartin Mares
448b282435dSMartin Mares	* Fixed spelling of MSI. Patch by Matthew Wilcox.
449b282435dSMartin Mares
450b282435dSMartin Mares	* Better support for cross-compilation. Thanks to Alon Bar-Lev
451b282435dSMartin Mares	for the patch.
452b282435dSMartin Mares
453b282435dSMartin Mares	* Fixed printing of the AER capability. Patch by Max Asbock.
454b282435dSMartin Mares
455b282435dSMartin Mares	* HT 1.02 capabilities are decoded as HT 1.03. Suggested by
456b282435dSMartin Mares	Carl-Daniel Hailfinger.
457b282435dSMartin Mares
458b282435dSMartin Mares	* Fixed Cygwin build. Thanks to Steve Elliott for reporting the bug.
459b282435dSMartin Mares
460b282435dSMartin Mares	* Updated pci.ids to the current snapshot of the database.
461b282435dSMartin Mares
462daf2ef4eSMartin Mares2008-09-19  Martin Mares <[email protected]>
463daf2ef4eSMartin Mares
464daf2ef4eSMartin Mares	* Released as 3.0.2.
465daf2ef4eSMartin Mares
466daf2ef4eSMartin Mares	* Fixed a minor bug in the configure script, which caused warnings
467daf2ef4eSMartin Mares	about redefinition of symbols during compilation.
468daf2ef4eSMartin Mares
46938254178SMartin Mares2008-09-11  Martin Mares <[email protected]>
47038254178SMartin Mares
47138254178SMartin Mares	* Released as 3.0.1.
47238254178SMartin Mares
47338254178SMartin Mares	* Updated pci.ids to the most recent snapshot.
47438254178SMartin Mares
47538254178SMartin Mares	* Added a Cygwin port. Patch by Christopher Voltz, ported to the
47638254178SMartin Mares	current tree by Martin Mares.
47738254178SMartin Mares
47838254178SMartin Mares	* Worked around compatibility problems with various default settings
47938254178SMartin Mares	of wget (we have to set --no-timestamping explicitly). Thanks to Ville
48038254178SMartin Mares	Skytta for pointing that out.
48138254178SMartin Mares
48238254178SMartin Mares	* Fixed printing of MSI capabilities. Thanks to Matthew Wilcox for
48338254178SMartin Mares	a patch.
48438254178SMartin Mares
48538254178SMartin Mares	* Added decoding of several PCI-X capabilities: device/link/slot 2,
48638254178SMartin Mares	Advanced Error Reporting, Access Control Services, Alternative Routing-ID,
48738254178SMartin Mares	Single Root I/O Virtualization. Thanks to Yu Zhao for patches.
48838254178SMartin Mares
48938254178SMartin Mares	* Fixed bug in filters which caused them to refuse vendor/device ID 0xffff.
49038254178SMartin Mares
49138254178SMartin Mares	* README: The linux-pci mailing list has moved to [email protected].
49238254178SMartin Mares
49338254178SMartin Mares	* Fixed several build problems: builds without PCI_USE_DNS on Linux
49438254178SMartin Mares	and with PCI_USE_DNS on Solaris and *BSD. Static library mode also
49538254178SMartin Mares	compiles again on old versions of GCC.
49638254178SMartin Mares
497cec9f7e7SMartin Mares2008-04-10  Martin Mares <[email protected]>
498cec9f7e7SMartin Mares
499cec9f7e7SMartin Mares	* Released as 3.0.0.
500cec9f7e7SMartin Mares
501cec9f7e7SMartin Mares	* Updated API and ABI version.
502cec9f7e7SMartin Mares
503cd2f6a34SMartin Mares2008-02-20  Martin Mares <[email protected]>
504cd2f6a34SMartin Mares
505cd2f6a34SMartin Mares	* Released as 2.99.1-alpha2.
506cd2f6a34SMartin Mares
507cd2f6a34SMartin Mares	* Changed the default domain for the DNS resolver.
508cd2f6a34SMartin Mares
509165a50cbSMartin Mares2008-02-18  Martin Mares <[email protected]>
510165a50cbSMartin Mares
511165a50cbSMartin Mares	* Released as 2.99.1-alpha1.
512623234ecSMartin Mares
513a1fca487SMartin Mares	* The makefile system has been reworked. All configuration settings
514a1fca487SMartin Mares	are now passed to the configure script in environment variables,
515a1fca487SMartin Mares	allowing for easy tweaking in the top-level Makefile. All control
516a1fca487SMartin Mares	knobs are now described in the README.
517a1fca487SMartin Mares
518a1fca487SMartin Mares	* The libpci can be built as a shared library with properly restricted
519a1fca487SMartin Mares	symbol exports. Use `make SHARED=yes' to enable that or `make SHARED=local'
520a1fca487SMartin Mares	for a local testing build (with hardwired paths to the library, so that
521a1fca487SMartin Mares	it does not need installation).
522a1fca487SMartin Mares
523a1fca487SMartin Mares	* The example program has been moved from lib/example.c to the top-level
524a1fca487SMartin Mares	directory, because it should be built exactly as the other utilities
525a1fca487SMartin Mares	are. It has been also improved slightly to educate better.
526a1fca487SMartin Mares
527623234ecSMartin Mares	* The i386-ports method is enabled on Linux/x86_64 as well.
528623234ecSMartin Mares
529ae27e293SMartin Mares2008-02-13  Martin Mares <[email protected]>
530ae27e293SMartin Mares
531ae27e293SMartin Mares	* Released as 2.2.10-net2.
532ae27e293SMartin Mares
533ae27e293SMartin Mares	* Support for resolving of PCI ID's using DNS together with a local
534ae27e293SMartin Mares	cache of resolved entries has been added. See the `-q' and `-Q' options
535ae27e293SMartin Mares	of lspci.
536ae27e293SMartin Mares
537ae27e293SMartin Mares	* The library now has a generic system of settable parameters, which
538ae27e293SMartin Mares	also include settings of the DNS resolver and cache. An `-O' option
539ae27e293SMartin Mares	has been added to lspci and setpci to allow setting of these options.
540ae27e293SMartin Mares
541ae27e293SMartin Mares	* Configuration of the access methods are now specified by the new
542ae27e293SMartin Mares	parameter system, replacing the pci_access->method_params array.
543ae27e293SMartin Mares
544ae27e293SMartin Mares	* Access methods now also have sensible names and help texts and it
545ae27e293SMartin Mares	is possible to look up method ID by a name.
546ae27e293SMartin Mares
547ae27e293SMartin Mares	* An `-A' switch has been added to both lspci and setpci, allowing to
548ae27e293SMartin Mares	select an arbitrary access method. The `-P' switch (configure proc
549ae27e293SMartin Mares	backend) has been removed as it is no longer needed and I do not know
550ae27e293SMartin Mares	any its user.
551ae27e293SMartin Mares
552ae27e293SMartin Mares	* Several source files have been split for better maintainability
553ae27e293SMartin Mares	(most notably the resolving of ID's).
554ae27e293SMartin Mares
555ae27e293SMartin Mares	* Man pages and help texts have been updated. A new man page `pcilib(7)'
556ae27e293SMartin Mares	has been added and description of library options has been moved there.
557ae27e293SMartin Mares
558ae27e293SMartin Mares	* When an unknown device ID is encountered, we print `Device <id>'
559ae27e293SMartin Mares	instead of `Unknown device <id>'. It uses less space and it also
560ae27e293SMartin Mares	should reduce the number of inexperienced users complaining that
561ae27e293SMartin Mares	the device is not supported by the OS. To lookup up OS drivers,
562ae27e293SMartin Mares	use the `-k' option.
563ae27e293SMartin Mares
564ae27e293SMartin Mares	* PCI_LIB_VERSION has been bumped to 0x020299.
565ae27e293SMartin Mares
566ae27e293SMartin Mares	* Makefile: stripping of the binaries during installation can be
567ae27e293SMartin Mares	overridden by the STRIP variable.
568ae27e293SMartin Mares
569ae27e293SMartin Mares	* lib/types.h: We use the integer types from <stdint.h> if the
570ae27e293SMartin Mares	compiler claims C99 support.
571ae27e293SMartin Mares
5720fc3bd18SMartin Mares2008-02-11  Martin Mares <[email protected]>
5730fc3bd18SMartin Mares
5742466b14bSMartin Mares	* Released as 2.2.10.
5752466b14bSMartin Mares
5766add52f5SMartin Mares	* lspci.c, setpci.c: Cleaned up the list of options.
5776add52f5SMartin Mares
5780fc3bd18SMartin Mares	* lib/names.c: Fix displaying of errors reported by zlib.
5790fc3bd18SMartin Mares	Previously, the buffer containing the error message had
5800fc3bd18SMartin Mares	been deallocated by gzclose() before the message was printed.
5810fc3bd18SMartin Mares
582d26b5378SMartin Mares2008-01-07  Martin Mares <[email protected]>
583d26b5378SMartin Mares
584d26b5378SMartin Mares	* update-pciids.sh: Added quiet mode (-q). Clean up uncompressed
585d26b5378SMartin Mares	files left by previous versions of the pciutils. Patch by Mike
586d26b5378SMartin Mares	Frysinger.
587d26b5378SMartin Mares
588d26b5378SMartin Mares	* update-pciids.man: Mention the -q switch.
589d26b5378SMartin Mares
590dc01dd60SMartin Mares2007-11-29  Martin Mares <[email protected]>
591dc01dd60SMartin Mares
592dc01dd60SMartin Mares	* lib/dump.c: Squashed compiler warnings about code with
593dc01dd60SMartin Mares	no effect (there really were surplus *'s).
594dc01dd60SMartin Mares
59511339c0dSMartin Mares2007-11-06  Martin Mares <[email protected]>
59611339c0dSMartin Mares
59713463566SMartin Mares	* Released as 2.2.9.
59813463566SMartin Mares
59911339c0dSMartin Mares	* lspci.c: Added a new switch `-k' which requests printing
60011339c0dSMartin Mares	of information on kernel drivers attached to each device
60111339c0dSMartin Mares	and on kernel modules reporting the ability to handle the
60211339c0dSMartin Mares	device. So far, this is supported only on Linux with the
60311339c0dSMartin Mares	sysfs back-end, so it is implemented internally in the lspci
60411339c0dSMartin Mares	instead of the libpci. Thanks to Anicka <[email protected]>
60511339c0dSMartin Mares	for help.
60611339c0dSMartin Mares
6073de798bdSMartin Mares2007-10-19  Martin Mares <[email protected]>
6083de798bdSMartin Mares
6096cdb9d93SMartin Mares	* Makefile, lib/Makefile: Moved -lz from LDFLAGS to LDLIBS.
6106cdb9d93SMartin Mares	Also added an explicit pattern rule for linking to make sure
6116cdb9d93SMartin Mares	that LDLIBS is used on all platforms. Thanks to Dan Nicholson
6126cdb9d93SMartin Mares	for the suggestion.
6136cdb9d93SMartin Mares
6146cdb9d93SMartin Mares2007-10-19  Martin Mares <[email protected]>
6156cdb9d93SMartin Mares
616a404b115SMartin Mares	* Released as 2.2.8.
617a404b115SMartin Mares
6183de798bdSMartin Mares	* pci.ids: Revised class codes to match Conventional PCI 3.0 specs.
6193de798bdSMartin Mares	Added a couple of new ones, renumbered `ADMA continuous operation'
6203de798bdSMartin Mares	prog-if to 0x30 (even the old SATA Class Code ECN doesn't mention
6213de798bdSMartin Mares	0x40) and renumbered the satellite communication controllers.
6223de798bdSMartin Mares
6232d2c4810SMartin Mares	* lib/header.h: Include `PCI hot-plug' and `Secure device'
624f7c76ec5SMartin Mares	capabilities from PCI 3.0 specs. Also added `SATA HBA' and
625f7c76ec5SMartin Mares	`Advanced features' caps from various ECN's.
6262d2c4810SMartin Mares
627fa2273caSMartin Mares	* lspci.c: All known capabilities have at least their name displayed
628fa2273caSMartin Mares	now. When we are unable to decode them completely, we signalize it
629fa2273caSMartin Mares	with a `<?>' mark.
630fa2273caSMartin Mares
631fa2273caSMartin Mares	* lspci.man: Document `<?>' and also mention that extended config
632fa2273caSMartin Mares	space is currently available only with the linux_sysfs back-end.
633fa2273caSMartin Mares
63431c9bb28SMartin Mares	* lspci.c: Decode the Debug port capability (per EHCI 0.96 spec).
63531c9bb28SMartin Mares
636a387042eSMartin Mares	* lspci.c: Big code cleanup: re-arranged functions in the code,
637a387042eSMartin Mares	renamed everything related to capabilities to cap_* and
638a387042eSMartin Mares	all options except verbose to opt_*.
639a387042eSMartin Mares
6409c79fcc4SMartin Mares2007-10-14  Martin Mares <[email protected]>
6419c79fcc4SMartin Mares
6429c79fcc4SMartin Mares	* lib/[fno]bsd-*: Removed extraneous braces.
6439c79fcc4SMartin Mares
644d5b4cd14SMartin Mares2007-10-12  Martin Mares <[email protected]>
645d5b4cd14SMartin Mares
646d5b4cd14SMartin Mares	* Capability loop detection introduced 2.2.7 did not work
647d5b4cd14SMartin Mares	  properly with extended capabilities. Fixed.
648d5b4cd14SMartin Mares
649594de878SMartin Mares2007-10-05  Martin Mares <[email protected]>
650594de878SMartin Mares
6518a23eadcSMartin Mares	* Released as 2.2.7.
6528a23eadcSMartin Mares
653594de878SMartin Mares	* lspci.c (show_caps, show_ext_caps): Detect and report loops in
654594de878SMartin Mares	capability lists.
655594de878SMartin Mares
6568a23eadcSMartin Mares	* lspci.c, lib/header.h: Finished decoding of the PCI Express
6578a23eadcSMartin Mares	capability. The extended capabilities remain undecoded for now,
6588a23eadcSMartin Mares	but at least the list of them has been updated to reflect the
6598a23eadcSMartin Mares	current PCI Express 2.0 spec.
6608a23eadcSMartin Mares
6618a23eadcSMartin Mares	* lspci.c, lib/header.h: Decode new bits of traditional registers
6628a23eadcSMartin Mares	as defined by PCIE / PCI-X. This includes discard timers in the bridge
6638a23eadcSMartin Mares	control register and INTx enable/status in device control/status
6648a23eadcSMartin Mares	registers.
6658a23eadcSMartin Mares
6668a23eadcSMartin Mares	* lib/fbsd-device.c: Support domains on new FreeBSD's. Contributed
6678a23eadcSMartin Mares	by Marius Strobl.
6688a23eadcSMartin Mares
66999091df9SMartin Mares2007-09-12  Hasso Tepper <[email protected]>
67099091df9SMartin Mares
67199091df9SMartin Mares	* Extended the fbsd-device backend to run on Dragonfly BSD.
67299091df9SMartin Mares
67399091df9SMartin Mares	* lspci.c: alloca() is declared in <stdlib.h> on BSD's, not <alloca.h>.
67499091df9SMartin Mares
67509156b3bSMartin Mares2007-09-03  Martin Mares <[email protected]>
67609156b3bSMartin Mares
67709156b3bSMartin Mares	* Resurrected the Windows port, including cross-compilation by MinGW.
67809156b3bSMartin Mares	Patch by Samuel Bronson <[email protected]>.
67909156b3bSMartin Mares
680325a3c50SMartin Mares2007-08-31  Martin Mares <[email protected]>
681325a3c50SMartin Mares
682325a3c50SMartin Mares	* Makefile, lib/Makefile: `ar' and `ranlib' can be overriden to allow
683325a3c50SMartin Mares	cross-compilation.
684325a3c50SMartin Mares
685a2322147SMartin Mares2007-08-27  Martin Mares  <[email protected]>
686a2322147SMartin Mares
687a2322147SMartin Mares	* lib/names.c (pci_open): When calling gzopen(), use "rb" file mode
688a2322147SMartin Mares	instead of "r". This is needed on DOS systems, where this function
689a2322147SMartin Mares	somewhat illogically uses the binary flag for the compressed file
690a2322147SMartin Mares	instead of the decompressed stream inside, where binariness really
691a2322147SMartin Mares	matters.
692a2322147SMartin Mares
6934f2c5b94SMartin Mares2007-08-14  Martin Mares  <[email protected]>
6944f2c5b94SMartin Mares
6954f2c5b94SMartin Mares	* lspci.c (show_ht): Added decoding of Hypertransport MSI mapping capability,
6964f2c5b94SMartin Mares	based on a patch by Jason Gunthorpe.
6974f2c5b94SMartin Mares
6984f2c5b94SMartin Mares	* tests/cap-MSI-mapping: Added a test case. I plan to add test cases
6994f2c5b94SMartin Mares	(which are dumps of config space) for all new features.
7004f2c5b94SMartin Mares
7010d7f5331SMartin Mares2007-06-20  Martin Mares  <[email protected]>
7020d7f5331SMartin Mares
7037cebe481SMartin Mares	* Released as 2.2.6.
7047cebe481SMartin Mares
7050d7f5331SMartin Mares	* Makefile: Added an "install-lib" target. Thanks to Dan Nicholson
7060d7f5331SMartin Mares	for a patch.
7070d7f5331SMartin Mares
7087cebe481SMartin Mares	* Makefile, lib/Makefile: Generate and install pkg-config file
7097cebe481SMartin Mares	for libpci. Again by Dan Nicholson.
7107cebe481SMartin Mares
7110d7f5331SMartin Mares2007-06-20  Thomas Schwinge  <[email protected]>
7120d7f5331SMartin Mares
7130d7f5331SMartin Mares	* lib/i386-io-hurd.h: Rewritten for new Hurd kernels.
7140d7f5331SMartin Mares
7156e4a45edSMartin Mares2007-05-04  Martin Mares  <[email protected]>
7166e4a45edSMartin Mares
71755c89179SMartin Mares	* Released as 2.2.5.
71855c89179SMartin Mares
7196e4a45edSMartin Mares	* pci.ids: Updated to the current snapshot of the database.
7206e4a45edSMartin Mares
721d0b07542SMartin Mares2007-02-14  Martin Mares  <[email protected]>
722d0b07542SMartin Mares
723d0b07542SMartin Mares	* lspci.c (show_express): Added PCI/PCI-X to PCI-Express Bridge type.
724d0b07542SMartin Mares	Patch by Mark Glines.
725d0b07542SMartin Mares
7263df35926SMartin Mares2007-02-09  Martin Mares  <[email protected]>
7273df35926SMartin Mares
7283df35926SMartin Mares	* pci.ids: Updated to the current snapshot of the database.
7293df35926SMartin Mares
730e49ed044SMartin Mares2007-02-06  Martin Mares  <[email protected]>
731e49ed044SMartin Mares
7321ac3a99dSMartin Mares	* Replaced bzero() by memset() everywhere, it's better to lose a tiny
7331ac3a99dSMartin Mares	bit of readability than maintain hacks to make it work on various systems.
7341ac3a99dSMartin Mares
735b0eb18ccSMartin Mares	* lib/configure: tr on Solaris is a bit weird and it requires `[A-Z]'
736b0eb18ccSMartin Mares	instead of `A-Z'. Fortunately, the extra brackets don't hurt otherwise.
737b0eb18ccSMartin Mares
738e49ed044SMartin Mares	* lib/types.h, lib/configure: Solaris should use <stdint.h> to get precise
739e49ed044SMartin Mares	integer types.
740e49ed044SMartin Mares
7419de2768cSMartin Mares2007-02-04  Martin Mares  <[email protected]>
7429de2768cSMartin Mares
7439de2768cSMartin Mares	* lspci.c: alloca() needs <alloca.h>.
7449de2768cSMartin Mares
745d19394dbSMartin Mares2006-09-17  Martin Mares  <[email protected]>
746d19394dbSMartin Mares
747d19394dbSMartin Mares	* lib/dump.c: Fixed a couple of bugs in the dump backend which caused
748d19394dbSMartin Mares	devices with domains or with extended config space to be read incorrectly.
749d19394dbSMartin Mares	Also, dumps with partial lines are allowed now.
750d19394dbSMartin Mares
751934e7e36SMartin Mares2006-09-10  Martin Mares  <[email protected]>
752934e7e36SMartin Mares
753f09856deSMartin Mares	* pci.ids: Updated to the current database snapshot.
754f09856deSMartin Mares
755934e7e36SMartin Mares	* lspci.c (scan_device): If an error occurs when reading the standard config
756934e7e36SMartin Mares	header of a device, report it and ignore the device and return with exit
757934e7e36SMartin Mares	code 2 at the end.
758934e7e36SMartin Mares
759b2055313SMartin Mares2006-09-09  Martin Mares  <[email protected]>
760b2055313SMartin Mares
761fb260653SMartin Mares	* Released as 2.2.4.
762fb260653SMartin Mares
7631865e2ddSMartin Mares	* maint/release: Remind the maintainer about the current PCI_LIB_VERSION.
7641865e2ddSMartin Mares
765028dffb2SMartin Mares	* lib/pci.h: Updated PCI_LIB_VERSION.
766028dffb2SMartin Mares
76713081e57SMartin Mares	* lspci.c (show_machine): In the `-m' mode, do proper shell escaping
76813081e57SMartin Mares	if the fields printed contain quotes or backslashes.
76913081e57SMartin Mares
7703fd6b4d2SMartin Mares	* lspci.c (show_machine): Added a `-vmm' mode, which removes the misuse
7713fd6b4d2SMartin Mares	of the `Device' tag for two different purposes.
7723fd6b4d2SMartin Mares
773840d09aeSMartin Mares	* Makefile: Moved all system-dependent decisions to lib/configure,
774840d09aeSMartin Mares	since config.mk is included in the top-level Makefile anyway.
775840d09aeSMartin Mares
7762100f710SMartin Mares	* lib/configure: When configuring for Linux, ignore the kernel version
7772100f710SMartin Mares	and always build all access methods.
7782100f710SMartin Mares
7793e9c7a18SMartin Mares	* Makefile (CFLAGS): Removed -Winline, it's not needed and triggers
7803e9c7a18SMartin Mares	at many non-interesting places with gcc 3.4.
7813e9c7a18SMartin Mares
78294db5c82SMartin Mares	* Whitespace cleanup of all source files.
78394db5c82SMartin Mares
784cc062b4aSMartin Mares	* The pci.ids file can be stored compressed if zlib is available.
785cc062b4aSMartin Mares	Added transparent decompression to lib/names.c, modified update-pciids.sh
786cc062b4aSMartin Mares	to keep the file compressed if applicable, updated Makefiles.
787cc062b4aSMartin Mares	Based on a patch by Matthew Wilcox, but all the bugs are mine.
788cc062b4aSMartin Mares
789f4ddb8d3SMartin Mares	* Makefile, README: Allow installation to be done to a different directory
790f4ddb8d3SMartin Mares	from the one we will eventually be placed in by setting DESTDIR.
791f4ddb8d3SMartin Mares	Patch by Matthew Wilcox.
792f4ddb8d3SMartin Mares
79316e37012SMartin Mares	* Added .gitignore files.
79416e37012SMartin Mares
795c7f5314dSMartin Mares	* Makefile (clean): Clean *.orig, too.
796c7f5314dSMartin Mares
797afebde01SMartin Mares	* Cleaned up usage of `char' and `byte'.
798afebde01SMartin Mares
799fd54ccebSMartin Mares	* lib/header.h: PCI_CLASS_DOCKING_OTHER should be 0x0a80, not 0x0a01.
800fd54ccebSMartin Mares
801b2055313SMartin Mares	* lib/header.h: Added PCI_CLASS_xxx constants for all classes currently
802b2055313SMartin Mares	defined in the pci.ids file.
803b2055313SMartin Mares
8044254d153SMartin Mares2006-08-01  Martin Mares  <[email protected]>
8054254d153SMartin Mares
8064254d153SMartin Mares	* lib/i386-io-hurd.h: Fixed a silly typo.
8074254d153SMartin Mares
8081c5cc9b5SMartin Mares2006-07-30  Martin Mares  <[email protected]>
8091c5cc9b5SMartin Mares
81038a9e3c3SMartin Mares	* lib/Makefile: Added a missing rule for obsd-device.o.
81138a9e3c3SMartin Mares
812c7ddfa3eSMartin Mares	* lspci.c, lib/header.h: Added support for MSI per-vector masking.
813c7ddfa3eSMartin Mares	Contributed by Petr Vandrovec.
814c7ddfa3eSMartin Mares
815248a04f8SMartin Mares	* lspci.c, lib/header.h: Added support for the `bridge subsystem ID'
816248a04f8SMartin Mares	capability. Contributed by Petr Vandrovec.
817248a04f8SMartin Mares
818f29dcc87SMartin Mares	* lspci.c (show_htype1): Fixed bug in printing of 64-bit prefetchable
819f29dcc87SMartin Mares	memory windows. Fix by Petr Vandrovec.
820f29dcc87SMartin Mares
8218eab3bffSMartin Mares	* maint/release.pm: Exclude .git directory from releases.
8228eab3bffSMartin Mares
823d305d704SMartin Mares	* lib/i386-ports.c, lib/i386-io-*: Report failures during port access
824d305d704SMartin Mares	initialization by a->warn() instead of calling printf() or perror()
825d305d704SMartin Mares	directly.
826d305d704SMartin Mares
8279007a292SMartin Mares	* lib/i386-ports.c, lib/i386-io-*: Moved the logic which keeps track of
8289007a292SMartin Mares	the port access state to generic code.
8299007a292SMartin Mares
830bd20d5b5SMartin Mares	* lib/i386-io-hurd.h: Ask the kernel for I/O port access appropriately.
831bd20d5b5SMartin Mares	Contributed by Thomas Schwinge and Samuel Thibault.
832bd20d5b5SMartin Mares
83373750606SMartin Mares	* lib/i386-ports.c: Define _GNU_SOURCE, it's needed by the Hurd module.
83473750606SMartin Mares
835d71daa45SMartin Mares	* lib/header.h: Whitespace cleanups.
836d71daa45SMartin Mares
8371c5cc9b5SMartin Mares	* lib/i386-io-windows.h: Fixed indentation and spelling.
8381c5cc9b5SMartin Mares
8391c5cc9b5SMartin Mares	* README.Windows: Mention that WinIO.dll is needed and where to get it.
8401c5cc9b5SMartin Mares
841c2b144efSMartin Mares2006-06-27  Martin Mares  <[email protected]>
842c2b144efSMartin Mares
84314d4f989SMartin Mares	* lib/Makefile, Makefile: Added rules for building and cleaning the example.
84414d4f989SMartin Mares
84514d4f989SMartin Mares	* lib/example.c: Show how to use PCI_FILL_CLASS and used another register
84614d4f989SMartin Mares	for demonstrating the config space accesses. The example is still very
84714d4f989SMartin Mares	incomplete, though.
84814d4f989SMartin Mares
849c2b144efSMartin Mares	* lib/pci.h, lib/generic.c: Added PCI_FILL_CLASS.
850c2b144efSMartin Mares
851c2b144efSMartin Mares	* lib/sysfs.c: Fetch device ID and class from sysfs, because they can
852c2b144efSMartin Mares	be modified by kernel fixups.
853c2b144efSMartin Mares
854c2b144efSMartin Mares	* lspci.c: Use PCI_FILL_CLASS. Thanks to Matthew Willcox for the patch.
855c2b144efSMartin Mares
856bc2eed2dSMartin Mares2006-06-03  Martin Mares  <[email protected]>
857bc2eed2dSMartin Mares
858bc2eed2dSMartin Mares	* lspci.c: Introduced the -nn switch. Thanks to David N. Welton
859bc2eed2dSMartin Mares	for the idea.
860bc2eed2dSMartin Mares
861bc2eed2dSMartin Mares	* lib/names.c (pci_lookup_name): Introduced PCI_LOOKUP_MIXED and
862bc2eed2dSMartin Mares	cleaned up the name selection code.
863bc2eed2dSMartin Mares
864c72eeddeSMartin Mares	* lib/names.c (pci_lookup_name): If PCI_LOOKUP_NO_NUMBERS is given,
865c72eeddeSMartin Mares	pci_access->numeric_ids is ignored.
866c72eeddeSMartin Mares
867c72eeddeSMartin Mares	* lib/names.c (pci_lookup_name): When class is identified and
868c72eeddeSMartin Mares	subclass isn't, display class name and subclass number.
869c72eeddeSMartin Mares
8702f294d4bSMartin Mares2006-05-31  Martin Mares  <[email protected]>
8712f294d4bSMartin Mares
8722f294d4bSMartin Mares	* setpci.c (main): Don't crash when an invalid width is specified.
8732f294d4bSMartin Mares
87481afa98cSMartin Mares	* lspci.c, setpci.c, common.c: die() now uses the right program
87581afa98cSMartin Mares	name when printing an error message.
87681afa98cSMartin Mares
8770ac282f2SMartin Mares2006-05-19  Martin Mares  <[email protected]>
8780ac282f2SMartin Mares
8790ac282f2SMartin Mares	* README: Mention the public GIT tree.
8800ac282f2SMartin Mares
8810ac282f2SMartin Mares	* README: Updated the list of ports.
8820ac282f2SMartin Mares
883d1058e9dSMartin Mares2006-05-10  Martin Mares  <[email protected]>
884d1058e9dSMartin Mares
885d1058e9dSMartin Mares	* lib/configure, lib/fbsd-device.c: Added support for GNU/kFreeBSD.
886d1058e9dSMartin Mares	Thanks to Petr Salinger for the patch.
887d1058e9dSMartin Mares
888abf8d505SMartin Mares2006-05-05  Martin Mares  <[email protected]>
889abf8d505SMartin Mares
8902ae2d1aeSMartin Mares	* Released as 2.2.3.
8912ae2d1aeSMartin Mares
8922ae2d1aeSMartin Mares	* lspci.c (scan_device): The -D switch didn't work as intended
8932ae2d1aeSMartin Mares	in -m mode.
8942ae2d1aeSMartin Mares
8952ae2d1aeSMartin Mares2006-05-05  Martin Mares  <[email protected]>
8962ae2d1aeSMartin Mares
8971d5cf727SMartin Mares	* Released as 2.2.2.
8981d5cf727SMartin Mares
8998a830168SMartin Mares	* pci.ids: Updated to the current database snapshot.
9008a830168SMartin Mares
901b6359063SMartin Mares	* lib/obsd-device.c (and other files in lib/*): Added OpenBSD
902b6359063SMartin Mares	interface by Matthieu Herrb <[email protected]>, based on
903b6359063SMartin Mares	the existing FreeBSD interface.
904b6359063SMartin Mares
905abf8d505SMartin Mares	* Moved pciutils to a GIT repository, which now contains merged
906abf8d505SMartin Mares	history from both CVS and Arch. Good bye, TLA!
907abf8d505SMartin Mares
9086ac70402SMartin Mares2006-03-21  Martin Mares  <[email protected]>
9096ac70402SMartin Mares
9102a124daeSMartin Mares	* lspci.c (show_slot_name): Avoid the previous changes in default
9112a124daeSMartin Mares	display of domain name when in machine-readable mode. However, `-D'
9122a124daeSMartin Mares	forces domain display even there.
9132a124daeSMartin Mares
9146ac70402SMartin Mares	* lspci.man: Added a warning on -m being the only format, which is
9156ac70402SMartin Mares	guaranteed to be stable between lspci versions.
9166ac70402SMartin Mares
9171bbdea17SMartin Mares2006-03-13  Martin Mares  <[email protected]>
9181bbdea17SMartin Mares
919af61eb25SMartin Mares	* lspci.man: Documented the -D switch.
920af61eb25SMartin Mares
921af61eb25SMartin Mares	* lspci.c (show_slot_name, scan_device): If there are multiple PCI
922af61eb25SMartin Mares	domains or if the `-D' switch is used, show the domain number for
923af61eb25SMartin Mares	all devices.
924af61eb25SMartin Mares
9257a61b93cSMartin Mares	* lspci.c (show_verbose): Report cache line size in bytes.
9267a61b93cSMartin Mares
9271bbdea17SMartin Mares	* update-pciids.sh: Use curl if available. Patch by Matthew Wilcox.
9281bbdea17SMartin Mares
9290e78ef8aSMartin Mares2006-01-04  Martin Mares  <[email protected]>
9300e78ef8aSMartin Mares
9310e78ef8aSMartin Mares	* lspci.c (show_express_link): Fixed decoding of link status register.
9320e78ef8aSMartin Mares	Thanks to Roland Dreier for his report.
9330e78ef8aSMartin Mares
934e6859953SMartin Mares2005-12-12  Martin Mares  <[email protected]>
935e6859953SMartin Mares
936e6859953SMartin Mares	* lib/nbsd-libpci.c: If libpci is used by an ordinary user, allow
937e6859953SMartin Mares	at least read-only access. Patch by Pavel Celeda <[email protected]>.
938e6859953SMartin Mares
939e6859953SMartin Mares	* Makefile: Corrected library path on NetBSD.
940e6859953SMartin Mares
941a99c0d69SMartin Mares2005-11-26  Martin Mares  <[email protected]>
942a99c0d69SMartin Mares
943e4af70c6SMartin Mares	* Released as 2.2.1.
944e4af70c6SMartin Mares
945a99c0d69SMartin Mares	* lspci.c (show_machine): Subsystem vendors were printed incorrectly
946a99c0d69SMartin Mares	in machine-readable modes. Thanks to Pavel Celeda for a bug report.
947a99c0d69SMartin Mares
948f23fd3fcSMartin Mares2005-10-11  Martin Mares  <[email protected]>
949f23fd3fcSMartin Mares
950f23fd3fcSMartin Mares	* lspci.c (new_bus): Fixed a memory leak. Thanks to Paul Sangree for reporting it.
951f23fd3fcSMartin Mares
95215296723SMartin Mares2005-09-21  Martin Mares  <[email protected]>
95315296723SMartin Mares
95415296723SMartin Mares	* Released as 2.2.0.
95515296723SMartin Mares
95640b6d93fSMartin Mares	* pci.ids: Updated copyright header.
95740b6d93fSMartin Mares
95815296723SMartin Mares	* lib/sysfs.c (sysfs_get_resources): Removed warning about unsupported
95915296723SMartin Mares	64-bit addresses, they are now always supported.
96015296723SMartin Mares
96115296723SMartin Mares	* lspci.c (show_bases): Corrected printing of 64-bit addresses
96215296723SMartin Mares	in bus-centric mode.
96315296723SMartin Mares
96415296723SMartin Mares	* lib/configure: Enable 64-bit addresses on all Linux systems.
96515296723SMartin Mares
96615296723SMartin Mares	* lib/types.h: Don't pad 64-bit addresses to 16 xigits, only to 8 if they
96715296723SMartin Mares	are shorter.
96815296723SMartin Mares
969224707baSMartin Mares2005-09-11  Martin Mares  <[email protected]>
970224707baSMartin Mares
971224707baSMartin Mares	* Released as 2.1.99-test11.
972224707baSMartin Mares
973224707baSMartin Mares	* lspci.c: Removed unnecessary trailing zeros in pci_lookup_name() calls.
974224707baSMartin Mares
975aeaca5d3SMartin Mares2005-09-10  Martin Mares  <[email protected]>
976aeaca5d3SMartin Mares
977224707baSMartin Mares	* Released as 2.1.99-test10.
978224707baSMartin Mares
97963e6f2e0SMartin Mares	* pci.ids: Synchronized with the current database snapshot.
98063e6f2e0SMartin Mares
981043ebdeeSMartin Mares	* update-pciids.sh: Changed the default URL for downloading pci.ids
982043ebdeeSMartin Mares	to http://pciids.sourceforge.net/v2.2/pci.ids.
983043ebdeeSMartin Mares
984043ebdeeSMartin Mares	* lib/pci.h (PCI_LIB_VERSION): Added version identifier.
985043ebdeeSMartin Mares
986aeaca5d3SMartin Mares	* lib/names.c: Rewritten the name database module almost from scratch.
987aeaca5d3SMartin Mares	Everything is much cleaner and there are hopefully no more memory leaks;
988aeaca5d3SMartin Mares	pci_lookup_name() now uses varargs in a backward compatible fashion.
989aeaca5d3SMartin Mares	Introduced PCI_LOOKUP_NO_NUMBERS.
990aeaca5d3SMartin Mares
991aeaca5d3SMartin Mares	The new code supports subsystem entries not tied to a specific device.
992aeaca5d3SMartin Mares	I had to extend the format of pci.ids in order to support it, so I have
993aeaca5d3SMartin Mares	extended the idea of the "C" (class) blocks and introduced "S" blocks
994aeaca5d3SMartin Mares	for subsystems. To avoid doing more incompatible changes in the future,
995aeaca5d3SMartin Mares	the parser skips unknown single-letter blocks without reporting errors.
996aeaca5d3SMartin Mares
997121c76c9SMartin Mares2005-08-23  Martin Mares  <[email protected]>
998121c76c9SMartin Mares
99954e13765SMartin Mares	* Released as 2.1.99-test9.
100054e13765SMartin Mares
100154e13765SMartin Mares	* Makefile (OPT): Removed -fomit-frame-pointer, it's default in recent
100254e13765SMartin Mares	gcc versions when optimizing anyway.
100354e13765SMartin Mares
100454e13765SMartin Mares	* Made the path to pci.ids customizable and independent on the SHAREDIR.
100554e13765SMartin Mares	Just override IDSDIR in the top-level Makefile.
100654e13765SMartin Mares
100754e13765SMartin Mares	* pci.ids: Synchronized with the current database snapshot.
100854e13765SMartin Mares
100984d437d6SMartin Mares	* lspci.man, setpci.man: Improved the man pages. Documented all access
101084d437d6SMartin Mares	methods and which operations are privileged.
101184d437d6SMartin Mares
101284d437d6SMartin Mares	* lspci.c: Another rewrite of config register caching, now also including
101384d437d6SMartin Mares	lots of internal checks. It should be now perfectly able to cope with
101484d437d6SMartin Mares	portions of the configuration space being inaccessible, for example
101584d437d6SMartin Mares	due to insufficient access rights.
101684d437d6SMartin Mares
10173b8bf739SMartin Mares	* lspci.c (show_pcix_nobridge, show_pcix_bridge): Cleaned up dumping of PCI-X
10183b8bf739SMartin Mares	capabilities. Includes partial support for PCI-X 2.0 (probably incomplete
10193b8bf739SMartin Mares	as I haven't seen the spec).
10203b8bf739SMartin Mares
10213b8bf739SMartin Mares	* lspci.c: Quell warnings about unused parameters.
10223b8bf739SMartin Mares
102384d437d6SMartin Mares	* lspci.c: Removed C++ comments.
102484d437d6SMartin Mares
10253b8bf739SMartin Mares	* lib/header.h: Merged definitions of extended capabilities and some new
10263b8bf739SMartin Mares	PCI-X capability bits from linux-2.6.11/include/pci.h.
10273b8bf739SMartin Mares
10283b8bf739SMartin Mares	* lspci.c (show_caps): Try to scan extended capabilities only if the
10293b8bf739SMartin Mares	device has either PCI-X or PCI Express capability in its normal capability
10303b8bf739SMartin Mares	list.
10313b8bf739SMartin Mares
1032f7821e53SMartin Mares	* lib/dump.c (dump_init): Reading of dumps works again. The dump reader
1033f7821e53SMartin Mares	now also remembers how much data it has read and refuses attempts to
1034f7821e53SMartin Mares	access more than that.
1035ea4e5f5dSMartin Mares
103646ea554dSMartin Mares	* setpci.man, lspci.c, README: prefer spelling "buses" over "busses".
103746ea554dSMartin Mares
10388afaab22SMartin Mares	* lspci.c: If alloca() is not available, use xmalloc(), not malloc().
10398afaab22SMartin Mares
1040121c76c9SMartin Mares	* lib/configure: Added x86_64 on Linux.
1041121c76c9SMartin Mares
1042c1c2c30eSMartin Mares2005-08-22  Martin Mares  <[email protected]>
1043c1c2c30eSMartin Mares
1044b9ca9147SMartin Mares	* lib/filter.c (pci_filter_parse_slot): Fixed parsing of domain filters.
1045b9ca9147SMartin Mares	Thanks to Matthew Wilcox for bug report.
1046b9ca9147SMartin Mares
1047c1c2c30eSMartin Mares	* lspci.c: Corrected spelling of "Hz" (it was "hz" at several places).
1048b9ca9147SMartin Mares	Thanks to Krzysztof Oledzki for pointing that out.
1049c1c2c30eSMartin Mares
105026542a0bSMartin Mares2004-08-19  Martin Mares  <[email protected]>
105126542a0bSMartin Mares
105226542a0bSMartin Mares	* pciutils.spec (%attr): Setting attributes for /sbin/* is an anachronism,
105326542a0bSMartin Mares	because pciutils by default install to /usr/sbin. Update.
105426542a0bSMartin Mares
10556aa54f1bSMartin Mares2004-08-13  Martin Mares  <[email protected]>
10566aa54f1bSMartin Mares
1057aabb0a92SMartin Mares	* Released as 2.1.99-test8.
1058aabb0a92SMartin Mares
1059f31412d1SMartin Mares	* lib/types.h, lib/pci.h, lib/sysdep.h: `byte' and `word' are
1060f31412d1SMartin Mares	no longer exported to the outside world.
1061f31412d1SMartin Mares
1062ee7d8384SMartin Mares	* README.Windows: Updated.
1063ee7d8384SMartin Mares
1064ee7d8384SMartin Mares	* maint/release: Substitute version number in win32/config.h.
1065ee7d8384SMartin Mares
1066ee7d8384SMartin Mares	* win32/config.h: Added.
1067ee7d8384SMartin Mares
1068ee7d8384SMartin Mares	* lib/sysdep.h (bzero, strcasecmp): are macros on Windows.
1069ee7d8384SMartin Mares
1070ee7d8384SMartin Mares	* compat/getopt.[ch]: Added copies of getopt.[ch] from the GNU
1071ee7d8384SMartin Mares	C library for use on systems where the default libraries lack
1072ee7d8384SMartin Mares	proper getopt. Currently used by the Windows port.
1073ee7d8384SMartin Mares
1074ee7d8384SMartin Mares	* lib/sysdep.h, lib/types.h: Updates of the Windows port from
1075ee7d8384SMartin Mares	Alexander Stock.
1076ee7d8384SMartin Mares
1077489233b4SMartin Mares	* lib/types.h: If PCI_HAVE_Uxx_TYPES is defined, libpci doesn't define
1078489233b4SMartin Mares	its own u8, u16, u32, byte and word types and uses what the user
1079489233b4SMartin Mares	has supplied instead. With this change, all namespace clashes should
1080489233b4SMartin Mares	be gone.
1081489233b4SMartin Mares
1082489233b4SMartin Mares	* Makefile, lib/Makefile: Updated dependencies.
1083489233b4SMartin Mares
1084489233b4SMartin Mares	* pciutils.h: Include lib/sysdep.h and move NONRET et al. there.
1085489233b4SMartin Mares
1086489233b4SMartin Mares	* lib/sysdep.h: No need to include <sys/types.h> on FreeBSD, because
1087489233b4SMartin Mares	it is included unconditionally in lib/types.h.
1088489233b4SMartin Mares
1089489233b4SMartin Mares	* Moved system-dependent stuff from lib/internal.h to lib/sysdep.h,
1090489233b4SMartin Mares	which is also used by the utilities. Also moved type declarations
1091489233b4SMartin Mares	from lib/pci.h to lib/types.h.
1092489233b4SMartin Mares
1093489233b4SMartin Mares	* All files: Prepend a "PCI_" prefix in front of all configuration
1094489233b4SMartin Mares	defines to avoid namespace clashes. CAVEAT: If there is any libpci
1095489233b4SMartin Mares	application using the (undocumented) defines, it has to be updated.
1096489233b4SMartin Mares
1097489233b4SMartin Mares	* lib/Makefile: Killed HAVE_OWN_HEADER_H, since we stopped sharing
1098489233b4SMartin Mares	headers with the kernel a couple of years ago.
1099489233b4SMartin Mares
11009bb4b4eaSMartin Mares	* lib/sysfs.c (sysfs_get_resources): We have 7 resources, not 6.
11019bb4b4eaSMartin Mares
11026aa54f1bSMartin Mares	* lspci.c (show_rom): Use the same logic for printing disabled
11036aa54f1bSMartin Mares	or unassigned ROM's as we do in show_bases() for the other BAR's.
11046aa54f1bSMartin Mares
11056aa54f1bSMartin Mares	* lib/generic.c (pci_generic_fill_info): Better reaction to
11066aa54f1bSMartin Mares	invalid 64-bit addresses. Also d->hdrtype should not include
11076aa54f1bSMartin Mares	bit 7, which caused mysterious errors on multi-function devices.
11086aa54f1bSMartin Mares
11096aa54f1bSMartin Mares	* lib/generic.c (pci_generic_fill_info): Fill in base addresses
11106aa54f1bSMartin Mares	even if the regions are known to be disabled. It is the client's
11116aa54f1bSMartin Mares	job to interpret them. (And it is not a trivial job if you want
11126aa54f1bSMartin Mares	to do it correctly, since you need to check I/O and memory enables
11136aa54f1bSMartin Mares	on all upstream bridges, too.) However, it could be interesting to
11146aa54f1bSMartin Mares	introduce functions for interpreting the addresses and even for
11156aa54f1bSMartin Mares	mapping the regions and doing I/O on them.
11166aa54f1bSMartin Mares
111780e6c636SMartin Mares2004-07-30  Martin Mares  <[email protected]>
111880e6c636SMartin Mares
111980e6c636SMartin Mares	* lspci.c: HyperTransport improvements from Maciej.
112080e6c636SMartin Mares
1121d6324891SMartin Mares2004-07-11  Martin Mares  <[email protected]>
1122d6324891SMartin Mares
1123d6324891SMartin Mares	* lib/sysfs.c (sysfs_get_resources): Arguments now correspond
1124d6324891SMartin Mares	to the format string. [Patch by Bill Nottingham]
1125d6324891SMartin Mares
1126ec25b52dSMartin Mares2004-07-05  Martin Mares  <[email protected]>
1127ec25b52dSMartin Mares
1128362be683SMartin Mares	* Released as 2.1.99-test7.
1129362be683SMartin Mares
1130ec25b52dSMartin Mares	* lspci.c (config_fetch): Wanted to merge Matthew's bug fix, but
1131ec25b52dSMartin Mares	ended up with rewriting the fetching mechanism to be fully dynamic,
1132ec25b52dSMartin Mares	but avoid reading config space registers not explicitly requested.
1133ec25b52dSMartin Mares
1134ec25b52dSMartin Mares2004-06-29  Matthew Wilcox <[email protected]>
1135ec25b52dSMartin Mares
1136ec25b52dSMartin Mares	* lspci.c: More work on PCI Express dumping.
1137ec25b52dSMartin Mares
1138ec25b52dSMartin Mares	* lib/header.h: Updated PCI Express capability definitions.
1139ec25b52dSMartin Mares
1140ec25b52dSMartin Mares	* lib/proc.c (proc_read): Removed bogus warning.
1141ec25b52dSMartin Mares
1142ec25b52dSMartin Mares	* common.c (xrealloc): Introduced.
1143ec25b52dSMartin Mares
1144ec25b52dSMartin Mares	* lspci.man: Added -xxxx.
1145ec25b52dSMartin Mares
114609817437SMartin Mares2004-06-27  Martin Mares  <[email protected]>
114709817437SMartin Mares
1148d1fa27ebSMartin Mares	* Released as 2.1.99-test6.
1149d1fa27ebSMartin Mares
11504d67aa89SMartin Mares	* lspci.c (show_msix), lib/header.h: Added dumping of MSI-X cap.
11514d67aa89SMartin Mares	Patch by Roland Dreier <[email protected]>, cleaned up by me.
11524d67aa89SMartin Mares
11534d67aa89SMartin Mares	* lspci.c (show_pcix_nobridge, show_pcix_bridge): Handle config_fetch()
11544d67aa89SMartin Mares	failures.
11554d67aa89SMartin Mares
11564d67aa89SMartin Mares	* lib/header.h: Added PCI Express extended capabilities. Again by Matthew.
11574d67aa89SMartin Mares
11584d67aa89SMartin Mares	* lspci.c (show_express): Added dumping of PCI Express cap.
11594d67aa89SMartin Mares	Patch by Matthew Wilcox.
11604d67aa89SMartin Mares
11614d67aa89SMartin Mares	* lib/header.h: Added a list of PCI 3.0 capabilities and also details
11624d67aa89SMartin Mares	on PCI Express caps. Patch by Matthew Wilcox <[email protected]>.
11634d67aa89SMartin Mares
116409817437SMartin Mares	* lspci.c (check_root): Gone. No explicit checks for root are needed,
116509817437SMartin Mares	report correct errors reported by the libpci instead.
116609817437SMartin Mares
116709817437SMartin Mares	* lspci.c: Added dumping of the extended config space on "-xxxx".
116809817437SMartin Mares	Better caching of config registers.
116909817437SMartin Mares
117009817437SMartin Mares	* setpci.c (main): Allow access to whole 4096 bytes of the config space.
117109817437SMartin Mares
117209817437SMartin Mares	* lib/sysfs.c, lib/proc.c: Don't print error messages on short reads,
117309817437SMartin Mares	just return the appropriate error code.
117409817437SMartin Mares
117509817437SMartin Mares	* lib: Added support for extended (4096-byte) configuration space,
117609817437SMartin Mares	currently implemented only in Linux proc and sysfs access methods
117709817437SMartin Mares	and of course in the dump reader.
117809817437SMartin Mares
11790d656226SMartin Mares2004-05-29  Martin Mares  <[email protected]>
11800d656226SMartin Mares
1181c0eece92SMartin Mares	* Released as 2.1.99-test5.
1182c0eece92SMartin Mares
1183a2413560SMartin Mares	* lib/pci.h: Windows don't have the standard u_int* types.
1184a2413560SMartin Mares
1185a2413560SMartin Mares	* lib/internal.h: <sys/param.h> required on Windows for endianity
1186a2413560SMartin Mares	macros.
1187a2413560SMartin Mares
1188a2413560SMartin Mares	* lib/i386-ports.c: Connected i386-io-windows.h.
1189a2413560SMartin Mares
1190a2413560SMartin Mares	* lspci.c (check_root): geteuid() is not available on Windows.
1191a2413560SMartin Mares
1192a2413560SMartin Mares	* lib/i386-io-windows.h: Added Windows port contributed by Alexander
1193a2413560SMartin Mares	Stock <[email protected]>.
1194a2413560SMartin Mares
1195a2413560SMartin Mares	* lib/configure: Hopefully fixed SunOS port broken by various
1196a2413560SMartin Mares	changes to the configure script.
1197a2413560SMartin Mares
11980d656226SMartin Mares	* Makefile, lib/configure: Cross-compilation support, patch by Maciej.
11990d656226SMartin Mares
1200138c0385SMartin Mares2004-05-28  Martin Mares  <[email protected]>
1201138c0385SMartin Mares
12029f490382SMartin Mares	* Released as 2.1.99-test4.
12039f490382SMartin Mares
1204cce2caacSMartin Mares	* lspci.c (show_verbose): Header type 1 is probably legal for all
1205cce2caacSMartin Mares	types of bridges, not only for PCI-to-PCI bridges.
1206cce2caacSMartin Mares
1207b569ef09SMartin Mares	* lspci.c (format_agp_rate): Write "x16", not "x@".
1208b569ef09SMartin Mares	(show_agp): rate[] could overflow.
1209b569ef09SMartin Mares	Bugs reported by Jakub Bogusz <[email protected]>.
1210b569ef09SMartin Mares
1211bfc4fe7aSMartin Mares	* lspci.c (show_ht_*): Show HyperTransport capability with all its
1212bfc4fe7aSMartin Mares	details. Once again code by Maciej simplified (i.e., possibly broken)
1213bfc4fe7aSMartin Mares	by me.
1214bfc4fe7aSMartin Mares
1215bfc4fe7aSMartin Mares	* lib/header.h: Added declarations of HyperTransport capability.
1216bfc4fe7aSMartin Mares	Again thanks to Maciej.
1217bfc4fe7aSMartin Mares
1218138c0385SMartin Mares	* lspci.c: Decode all bits of the secondary status word in type 1 headers.
1219138c0385SMartin Mares	Thanks to Maciej W. Rozycki <[email protected]> for the patch.
1220138c0385SMartin Mares
12218fc75dbcSMartin Mares2003-12-27  Martin Mares  <[email protected]>
12228fc75dbcSMartin Mares
122381abd2a7SMartin Mares	* Released as 2.1.99-test3.
122481abd2a7SMartin Mares
12251f7c91ccSMartin Mares	* lspci.man, setpci.man: Document domains and correct spelling.
12261f7c91ccSMartin Mares
12271f7c91ccSMartin Mares	* lib/dump.c (dump_init): Added ability to read domain numbers.
12281f7c91ccSMartin Mares
122984c8d1bbSMartin Mares	* lspci.c: Devices in domains different from 0 have their slot number
12301f7c91ccSMartin Mares	printed as "<domain>:<bus>:<slot>.<func>". Tree view supports domains
12311f7c91ccSMartin Mares	as well.
123284c8d1bbSMartin Mares
123384c8d1bbSMartin Mares	* lib/filter.c: Slot filters understand domains.
123484c8d1bbSMartin Mares
123584c8d1bbSMartin Mares	* lib/generic.c: Mention the domain in slot numbers in all error messages.
123684c8d1bbSMartin Mares
123784c8d1bbSMartin Mares	* lib/internal.h: The #ifdef for Linux <asm/byteorder.h> was wrong.
123884c8d1bbSMartin Mares
123984c8d1bbSMartin Mares	* lib/access.c (pci_get_dev): Added support for domains.
124084c8d1bbSMartin Mares
124184c8d1bbSMartin Mares	* lib/sysfs.c (sysfs_scan): Read vendor and device ID from the config
124284c8d1bbSMartin Mares	registers (or to be precise, leave it for the generic parts of the pcilib
124384c8d1bbSMartin Mares	to do so) instead of reading them from the sysfs. It's faster this way.
124484c8d1bbSMartin Mares
124584c8d1bbSMartin Mares	* lspci.c (show_pcix): Don't touch pci_dev->hdrtype, it's an internal
124684c8d1bbSMartin Mares	variable. Better read it from the config registers (it's cached anyway).
124784c8d1bbSMartin Mares
124884c8d1bbSMartin Mares	* lib/sysfs.c (sysfs_scan), lib/proc.c (proc_scan): Don't read the hdrtype.
124984c8d1bbSMartin Mares	  lib/generic.c (pci_generic_fill_info): If hdrtype is -1 (unset), read it.
125084c8d1bbSMartin Mares	  Saves lots of unnecessary file accesses.
125184c8d1bbSMartin Mares
125211f7b31bSMartin Mares	* lib/pci.h (PCIADDR_PORT_FMT): Use %llx instead of %Lx, because the latter
125311f7b31bSMartin Mares	is not supported by all C libraries.
125411f7b31bSMartin Mares
125511f7b31bSMartin Mares	* Makefile: Always enter the lib directory (remember that we don't have
125611f7b31bSMartin Mares	full dependecies for the library in the top-level Makefile; hmmm, another
125711f7b31bSMartin Mares	thing to rewrite some day).
125811f7b31bSMartin Mares
125911f7b31bSMartin Mares	* lib/sysfs.c: Added Linux sysfs access method based on the patch
126011f7b31bSMartin Mares	written by Matthew Wilcox <[email protected]>.
126111f7b31bSMartin Mares
126211f7b31bSMartin Mares	* lib/proc.c: Renamed the access method name from "/proc/bus/pci" to "Linux-proc".
126311f7b31bSMartin Mares
126411f7b31bSMartin Mares	* lib/pread.h: The hacks to support pread on various versions
126511f7b31bSMartin Mares	of Linux libc moved there.
126611f7b31bSMartin Mares
126711f7b31bSMartin Mares	* lib/proc.c (proc_setup): The return value of snprintf() varies
126811f7b31bSMartin Mares	between glibc versions, so we need to check both for a negative
126911f7b31bSMartin Mares	values and for too large values.
127011f7b31bSMartin Mares
12714284af58SMartin Mares	* Removed last few references to the "Linux PCI Utilities", the
12724284af58SMartin Mares	package is pretty cross-platform now :)
12734284af58SMartin Mares
12744284af58SMartin Mares2003-12-27  Martin Mares  <[email protected]>
12754284af58SMartin Mares
1276ab12277eSMartin Mares	* Released as 2.1.99-test2.
1277ab12277eSMartin Mares
1278ab12277eSMartin Mares	* README, pciutils.lsm, pciutils.spec: Use @VERSION@ to make the
1279ab12277eSMartin Mares	release scripts insert the current version. "make release" is gone.
1280ab12277eSMartin Mares
1281ab12277eSMartin Mares	* maint/release, maint/release.pm: Added a new system of scripts for
1282ab12277eSMartin Mares	making releases including inter-version diffs etc.
1283ab12277eSMartin Mares
1284ab12277eSMartin Mares	* Makefile: Cleaned up.
1285ab12277eSMartin Mares
1286ab12277eSMartin Mares	* lib/fbsd-device.c: I patched another copy of this file by mistake,
1287ab12277eSMartin Mares	this time the version checks should be right.
1288ab12277eSMartin Mares
1289ab12277eSMartin Mares2003-12-27  Martin Mares  <[email protected]>
1290ab12277eSMartin Mares
12916d722cd6SMartin Mares	* Released as 2.1.99-test1.
12926d722cd6SMartin Mares
1293dd33246aSMartin Mares	* pciutils.h, common.c, lspci.man, setpci.man, lib/internal.h:
1294dd33246aSMartin Mares	Remove shadows of the syscall access method which was never
1295dd33246aSMartin Mares	implemented.
1296dd33246aSMartin Mares
129780b3121aSMartin Mares	* update-pciids.sh: Try to preserve permissions of the old file
129880b3121aSMartin Mares	if chmod supports --reference. Should close Debian Bug #223740.
129980b3121aSMartin Mares
13006aea909aSMartin Mares	* lib/proc.c (proc_setup): Increased path name length limit to 1024.
13016aea909aSMartin Mares	Thanks for Redhat and Mandrake for inspiration.
13026aea909aSMartin Mares
13036aea909aSMartin Mares	* lib/configure: Recognize ppc and ppc64, both have 64-bit addresses.
13046aea909aSMartin Mares	Grabbed from Redhat (Fedora) patches.
13056aea909aSMartin Mares
13066aea909aSMartin Mares2003-12-27  Martin Mares  <[email protected]>
13076aea909aSMartin Mares
1308f701ff47SMartin Mares	Merged bug fixes from Debian patches:
1309f701ff47SMartin Mares
1310f701ff47SMartin Mares	* lspci.c (show_verbose): "Cache Line Size" should be capitalized.
1311f701ff47SMartin Mares
1312f701ff47SMartin Mares	* lspci.c (show_pcix_nobridge): Added a missing newline.
1313f701ff47SMartin Mares
13142240db8cSMartin Mares	* lib/proc.c (proc_scan): When reading the header type, don't
13152240db8cSMartin Mares	forget to clear the topmost bit indicating that the device has
1316f701ff47SMartin Mares	multiple functions.
13172240db8cSMartin Mares
13182240db8cSMartin Mares2003-12-27  Martin Mares  <[email protected]>
13192240db8cSMartin Mares
132045902995SMartin Mares	Updated the FreeBSD port. Thanks to Samy Al Bahra <[email protected]>
132145902995SMartin Mares	for the patches:
132245902995SMartin Mares
132345902995SMartin Mares	* lib/Makefile: Add ${FREEBSD_SYS} to the include path if it's defined.
132445902995SMartin Mares	* lib/fbsd-device.c: Select the right set of system includes according
132545902995SMartin Mares	to __FreeBSD_version.
132645902995SMartin Mares
132745902995SMartin Mares2003-12-27  Martin Mares  <[email protected]>
132845902995SMartin Mares
13298fc75dbcSMartin Mares	Merged support for Solaris on i386 by Bill Moore <[email protected]>
13308fc75dbcSMartin Mares	and cleaned up:
13318fc75dbcSMartin Mares
13328fc75dbcSMartin Mares	* lib/configure: Recognize SunOS.
13338fc75dbcSMartin Mares	* lib/internal.h: Learn how to recognize byte order on SunOS.
13348fc75dbcSMartin Mares	* lib/i386-ports.c: Split OS-dependent I/O port access from i386-ports.c.
13358fc75dbcSMartin Mares	* lib/i386-io-linux.h: Linux specific part.
13368fc75dbcSMartin Mares	* lib/i386-io-hurd.h: GNU/Hurd specific part.
13378fc75dbcSMartin Mares	* lib/i386-io-sunos.h: SunOS specific part.
13388fc75dbcSMartin Mares
13399739916eSMartin Mares2003-12-26  Martin Mares  <[email protected]>
13409739916eSMartin Mares
13419739916eSMartin Mares	* lib/header.h (PCI_*_MASK): Cast to pciaddr_t explicitly.
13429739916eSMartin Mares
13439739916eSMartin Mares	* lib/pci.h: Types declared in <sys/types.h> should be usable on all
13449739916eSMartin Mares	platforms we currently support, so kill the forest of #ifdef's and
13459739916eSMartin Mares	use them in all cases.
13469739916eSMartin Mares
13479739916eSMartin Mares	* lib/pci.h: Use ULONG_MASK to decide whether we should use long
13489739916eSMartin Mares	or long long to represent a 64-bit address. Killed HAVE_LONG_ADDRESS.
13499739916eSMartin Mares	Define format strings for addresses, port numbers and IRQ numbers
13509739916eSMartin Mares	directly in pci.h.
13519739916eSMartin Mares
13529739916eSMartin Mares	* lib/proc.c (proc_scan): Use PCIADDR_T_FMT for scanf'ing addresses.
13539739916eSMartin Mares
135480459c65SMartin Mares2003-12-26  Marco Gerards  <[email protected]>
135580459c65SMartin Mares
135680459c65SMartin Mares	Added support for the GNU Hurd (cleaned up by Martin Mares):
135780459c65SMartin Mares
135880459c65SMartin Mares	* lib/configure [GNU]: Use the i386 ports for configuration access.
135980459c65SMartin Mares	* lib/i386-ports.c: Don't call iopl() on the Hurd.
136080459c65SMartin Mares	* lib/pci.h [OS_GNU]: Include <sys/types.h> and use it for defining
136180459c65SMartin Mares	u8 to u32.
136280459c65SMartin Mares
1363a85769a8SMartin Mares2003-12-26  Martin Mares  <[email protected]>
1364a85769a8SMartin Mares
13657dacd9c8SMartin Mares	* lspci.c (show_pcix_bridge, show_pcix_nobridge): Don't forget to call
13667dacd9c8SMartin Mares	config_fetch() to ensure that the registers have been read. Thanks to
13677dacd9c8SMartin Mares	Bill Wood <[email protected]> for the patch.
13687dacd9c8SMartin Mares
13697dacd9c8SMartin Mares	* lspci.c: Ensure that failure of config_fetch() is handled correctly
13707dacd9c8SMartin Mares	at all places.
13717dacd9c8SMartin Mares
13724063c31cSMartin Mares	* lspci.man: There was one more explicit reference to /usr/share/pci.ids.
13734063c31cSMartin Mares	Changed to @SHAREDIR@. Patch from Maciej W. Rozycki <[email protected]>.
13744063c31cSMartin Mares
13753fe8a38dSMartin Mares	* setpci.c (main): Better error messages.
13763fe8a38dSMartin Mares
13775f5b1a7bSMartin Mares	* setpci.c (ex_op): The demo mode should disable only writing, not reading.
13785f5b1a7bSMartin Mares
13795f5b1a7bSMartin Mares	* setpci.man: The documentation was inconsistent on what should -D do.
13805f5b1a7bSMartin Mares	Document the new behaviour.
1381b251f40bSMartin Mares
138291e37a49SMartin Mares	* pciutils.h, common.c, setpci.c: Introduced a NONRET macro encapsulating
138391e37a49SMartin Mares	the GCC specific __attribute__((noreturn)) and killed the hack with
138491e37a49SMartin Mares	redefining __attribute__ on non-GCC compilers.
138591e37a49SMartin Mares
13864afd29d3SMartin Mares	* Makefile: Added missing dependencies. Parallel builds work now.
13874afd29d3SMartin Mares	Problem reported by Andreas Haumer <[email protected]>, but I chose
13884afd29d3SMartin Mares	a different fix.
13894afd29d3SMartin Mares
1390b0f1a03bSMartin Mares	* Makefile (MANDIR): Use `:=' instead of `=' to avoid executing the shell
1391b0f1a03bSMartin Mares	command every time $(MANDIR) is referenced.
1392b0f1a03bSMartin Mares
1393b7fd8e19SMartin Mares	* lspci.c (main): The error message for `lspci -s' incorrectly mentioned
1394b7fd8e19SMartin Mares	a `-f' switch. Reported by Steve Finney <[email protected]>.
1395b7fd8e19SMartin Mares
139605bb10a2SMartin Mares	* lib/generic.c: Removed memory leak in pci_generic_bus_scan().
139705bb10a2SMartin Mares	Reported by Gary Parnes <[email protected]>.
139805bb10a2SMartin Mares
1399a832f6f1SMartin Mares	* Replaced obsolete syntax of __attribute__((unused)) in the middle of
1400a832f6f1SMartin Mares	parameter declarations (which is no longer supported by GCC 3.1) by the
1401a832f6f1SMartin Mares	current syntax (attribute at the end). Thanks to [email protected]
1402a832f6f1SMartin Mares	for reporting this problem.
1403a832f6f1SMartin Mares
1404a85769a8SMartin Mares	* Removed CVS $Id$ tags from all files.
1405a85769a8SMartin Mares
1406a85769a8SMartin Mares	* Makefile: Added some more warnings.
1407a85769a8SMartin Mares
1408b7351143SMartin Mares	* setpci.c: Cleaned up mask/value code.
1409b7351143SMartin Mares
1410b7351143SMartin Mares2003-12-08 Thayne Harbaugh <[email protected]>
1411b7351143SMartin Mares
1412b7351143SMartin Mares	* setpci.c: Individual bits to be set can be specified as <value>:<mask>.
1413b7351143SMartin Mares
14142a5d5cf9SMartin Mares2003-11-29  Martin Mares  <[email protected]>
14152a5d5cf9SMartin Mares
14162a5d5cf9SMartin Mares	* Imported the pciutils sources to my Arch repository. Good-bye, CVS.
14172a5d5cf9SMartin Mares
1418d772ef15SMartin Mares2003-01-04  Martin Mares  <[email protected]>
1419d772ef15SMartin Mares
14201b95f396SMartin Mares	* Released as 2.1.11.
14211b95f396SMartin Mares
1422c83293ebSMartin Mares	* Makefile: Changed configuration of installation directories --
1423c83293ebSMartin Mares	all paths are now set at the top of the Makefile instead of being
1424c83293ebSMartin Mares	scattered between the installation rules. The default installation
1425c83293ebSMartin Mares	now goes always to /usr/local regardless of the OS as most distributions
1426c83293ebSMartin Mares	already contain some version of pciutils and we don't want custom
1427c83293ebSMartin Mares	installations to interfere with the default ones.
1428c83293ebSMartin Mares
1429c83293ebSMartin Mares	* Makefile: Removed a couple of ancient install hacks: we no longer
1430c83293ebSMartin Mares	try to avoid overwriting a newer pci.ids file (users are now expected
1431c83293ebSMartin Mares	to use update-ids) and we don't try to remove /etc/pci.ids (a long time
1432c83293ebSMartin Mares	has passed since the last version which used it).
1433c83293ebSMartin Mares
1434e2875dcdSMartin Mares	* Makefile: Paths to pci.ids in man pages automatically get the right path.
1435e2875dcdSMartin Mares
14361b95f396SMartin Mares	* Added the update-ids utility.
14370138a2a7SMartin Mares
1438d772ef15SMartin Mares	* lib: Removed partially implemented "syscall" access method which will
1439d772ef15SMartin Mares	probably never be needed.
1440d772ef15SMartin Mares
1441eb620239SMartin Mares2002-12-27  Martin Mares  <[email protected]>
1442eb620239SMartin Mares
1443130090bdSMartin Mares	* lib/nbsd-libpci.c: Cleaned up and hopefully made it endian safe.
1444130090bdSMartin Mares
1445eb620239SMartin Mares	* lib/generic.c (pci_generic_scan_bus): Added work-around for devices with
1446eb620239SMartin Mares	discontiguous numbering of functions. This is already present in the Linux
1447eb620239SMartin Mares	kernel for several years, but I forgot to update pciutils as well.
1448eb620239SMartin Mares
1449848b4347SMartin Mares2002-12-26  Martin Mares  <[email protected]>
1450848b4347SMartin Mares
1451579b19ffSMartin Mares	* lib/header.h, lspci.c: Dump AGP3 flags and speeds.
1452579b19ffSMartin Mares
1453579b19ffSMartin Mares	* lib/pci.h, Makefile: Removed HAVE_OWN_HEADER_H. Always use our own header,
1454579b19ffSMartin Mares	there is no reason to prefer the kernel version.
1455579b19ffSMartin Mares
1456579b19ffSMartin Mares	* lib/proc.c (proc_scan): Don't forget to initialize hdrtype.
1457579b19ffSMartin Mares
1458848b4347SMartin Mares	* Added preliminary version of NetBSD support by Quentin Garnier
1459848b4347SMartin Mares	<[email protected]>.
1460848b4347SMartin Mares
1461f0952474SMartin Mares2002-04-06  Martin Mares  <[email protected]>
1462f0952474SMartin Mares
1463f0952474SMartin Mares	* lspci.c: Mention "-xxx" in the help.
1464f0952474SMartin Mares
1465d2f666f1SMartin Mares2002-03-30  Martin Mares  <[email protected]>
1466d2f666f1SMartin Mares
14679bd44bb0SMartin Mares	* Released as 2.1.10.
14689bd44bb0SMartin Mares
1469a33d0eb7SMartin Mares	* Removed pci.ids from the CVS as they are now maintained separately.
1470a33d0eb7SMartin Mares	They are still included in the tarball, but if you are building	pciutils
1471a33d0eb7SMartin Mares	from CVS sources or you want to get a newer ID file than the one distributed,
1472a33d0eb7SMartin Mares	just use "make update-ids" to download the most recent snapshot from
1473a33d0eb7SMartin Mares	pciids.sf.net.
1474a33d0eb7SMartin Mares
1475a33d0eb7SMartin Mares	* Makefile, README: Updated accordingly.
1476a33d0eb7SMartin Mares
1477a33d0eb7SMartin Mares	* Makefile: Added a couple of maintenance targets.
1478a33d0eb7SMartin Mares
1479a33d0eb7SMartin Mares	* maint/*: Maintainer's utilities now reside here (present only in CVS,
1480a33d0eb7SMartin Mares	not in the tarball).
1481a33d0eb7SMartin Mares
1482d2f666f1SMartin Mares	* lib/names.c (parse_name_list): End-of-line comments are no longer
1483d2f666f1SMartin Mares	supported. Hashes are now perfectly valid in all names and they start
1484d2f666f1SMartin Mares	a comment only at the start of the line.
1485d2f666f1SMartin Mares
1486ee551b73SMartin Mares2002-03-26  Martin Mares  <[email protected]>
1487ee551b73SMartin Mares
148807159913SMartin Mares	* README: Rewritten.
148907159913SMartin Mares
1490ee551b73SMartin Mares	* Makefile: When the currently installed pci.ids file is newer than
1491ee551b73SMartin Mares	the version to be installed, don't overwrite it. Suggested by
1492ee551b73SMartin Mares	Jean Delvare <[email protected]>.
1493ee551b73SMartin Mares
1494bc7b1d62SMartin Mares2002-03-24  Martin Mares  <[email protected]>
1495bc7b1d62SMartin Mares
14965f5e6f64SMartin Mares	* lspci.c (show_pcix_bridge): Added PCI-X capability display.
14975f5e6f64SMartin Mares	Contributed by Jeff Garzik <[email protected]>.
14985f5e6f64SMartin Mares
14995f5e6f64SMartin Mares	* lib/header.h: Added PCI-X stuff. Again by Jeff.
15005f5e6f64SMartin Mares
15015f5e6f64SMartin Mares	* Makefile (CFLAGS): -Werror is gone.
15025f5e6f64SMartin Mares
1503a1052f16SMartin Mares	* lspci.c (format_agp_rate): Fixed AGP rate reporting.
1504a1052f16SMartin Mares
1505bc7b1d62SMartin Mares	* lib/filter.c (pci_filter_parse_slot): Allow bus 0xff, slot 0x1f and
1506bc7b1d62SMartin Mares	function 7.
1507bc7b1d62SMartin Mares
1508bc7b1d62SMartin Mares	* lib/names.c (pci_lookup_name): When printing unknown subsystem vendor
1509bc7b1d62SMartin Mares	or device hexadecimally, don't confuse it with chip vendor/device ID.
1510bc7b1d62SMartin Mares	First reported by Marc Boucher <[email protected]>.
1511bc7b1d62SMartin Mares
1512f793990cSMartin Mares2001-11-04  Martin Mares  <[email protected]>
1513f793990cSMartin Mares
1514ee551b73SMartin Mares	* Released as 2.1.9.
1515ee551b73SMartin Mares
1516f793990cSMartin Mares	* pci.ids: Synced with the PCI ID Repository at SourceForge
1517f793990cSMartin Mares	(http://pciids.sourceforge.net/).
1518f793990cSMartin Mares
15191d174e56SMartin Mares2000-08-25  Martin Mares  <[email protected]>
15201d174e56SMartin Mares
15211d174e56SMartin Mares	* pci.ids: Updated ID's, synced with kernel 2.4.0-test7.
15221d174e56SMartin Mares
152365b4327eSMartin Mares2000-06-13  Martin Mares  <[email protected]>
152465b4327eSMartin Mares
152565b4327eSMartin Mares	* Makefile (uninstall): Fixed.
152665b4327eSMartin Mares
152765b4327eSMartin Mares	* pci.ids: ID updates.
152865b4327eSMartin Mares
15294a219d5fSMartin Mares2000-05-20  Martin Mares  <[email protected]>
15304a219d5fSMartin Mares
15314a219d5fSMartin Mares	* Released as 2.1.8.
15324a219d5fSMartin Mares
15334a219d5fSMartin Mares	* pci.ids: ID updates.
15344a219d5fSMartin Mares
15354a219d5fSMartin Mares	* lspci.c (show_verbose): Min/max latency is now printed in nanoseconds.
15364a219d5fSMartin Mares
15374a219d5fSMartin Mares2000-05-04  Martin Mares  <[email protected]>
15384a219d5fSMartin Mares
15394a219d5fSMartin Mares	* lspci.c (show_verbose): If the header type doesn't match device
15404a219d5fSMartin Mares	class, just print a warning and still use the header type, assuming
15414a219d5fSMartin Mares	bogus class info.
15424a219d5fSMartin Mares
154310c90662SMartin Mares2000-05-01  Martin Mares  <[email protected]>
154410c90662SMartin Mares
154572b9b690SMartin Mares	* lspci.c (show_pm): Updated according to PCI PM specs 1.1.
154672b9b690SMartin Mares
154710c90662SMartin Mares	* pci.ids: Updated Contemporary Control ARCnet card entries.
154810c90662SMartin Mares
154910c90662SMartin Mares	* pci.ids: Synchronized class list with latest PCI SIG documents.
155010c90662SMartin Mares
1551a239ade6SMartin Mares2000-04-29  Martin Mares  <[email protected]>
1552a239ade6SMartin Mares
1553a239ade6SMartin Mares	* lib/names.c (pci_lookup_name): Fixed the cheat.
1554a239ade6SMartin Mares
1555a239ade6SMartin Mares	* lib/internal.h: Moved UNUSED/inline hacks above all other declarations.
1556a239ade6SMartin Mares
1557a239ade6SMartin Mares	* pci.ids: Various ID updates.
1558a239ade6SMartin Mares
15592c83b860SMartin Mares2000-04-21  Martin Mares  <[email protected]>
15602c83b860SMartin Mares
15612c83b860SMartin Mares	* Released as 2.1.7.
15622c83b860SMartin Mares
15632c83b860SMartin Mares	* pciutils.spec: Added German description.
15642c83b860SMartin Mares
15652c83b860SMartin Mares	* lib/names.c (pci_lookup_name): Added a cheat for case that subsystem ID's
15662c83b860SMartin Mares	are the same as device ID and just output subsystem name according to
15672c83b860SMartin Mares	device name.
15682c83b860SMartin Mares
15692c83b860SMartin Mares	* lib/proc.c: Use UNUSED instead of __attribute__((unused)).
15702c83b860SMartin Mares
15712c83b860SMartin Mares	* lib/pci.h: Added the correct typedefs for AIX.
15722c83b860SMartin Mares
15732c83b860SMartin Mares	* lib/generic.c (pci_generic_scan_bus): Export.
15742c83b860SMartin Mares
15752c83b860SMartin Mares	* lib/configure: Detect AIX. Use "echo '...\c'" instead of
15762c83b860SMartin Mares	"echo -n" if the shell isn't bash.
15772c83b860SMartin Mares
15782c83b860SMartin Mares	* lspci.c: Avoid using alloca() if not compiled by GCC.
15792c83b860SMartin Mares	(insert_dev): Avoid returning a void value.
15802c83b860SMartin Mares
15812c83b860SMartin Mares	* Makefile: Choose which install utility to use according to
15822c83b860SMartin Mares	OS type. Also use `-o' instead of `-or' in find arguments.
15832c83b860SMartin Mares	Part of the AIX port.
15842c83b860SMartin Mares
15852c83b860SMartin Mares	* lib/aix-device.c: Added AIX low-level interface. Contributed
15862c83b860SMartin Mares	by Dave Johnson <[email protected]>, thanks a lot!
15872c83b860SMartin Mares
15882c83b860SMartin Mares	* pci.ids: Few new ID's.
15892c83b860SMartin Mares
15902c83b860SMartin Mares	* pciutils.h, lib/internal.h: Redefine __attribute__ and inline
15912c83b860SMartin Mares	when not compiled by GCC.
15922c83b860SMartin Mares
1593c1a828daSMartin Mares2000-04-17  Martin Mares  <[email protected]>
1594c1a828daSMartin Mares
1595c1a828daSMartin Mares	* Released as 2.1.6.
1596c1a828daSMartin Mares
1597c1a828daSMartin Mares	* pci.ids: Added a large batch of ID's contributed by Gunther
1598c1a828daSMartin Mares	Mayer <[email protected]> and synced the
1599c1a828daSMartin Mares	list with the 2.3.99pre6 kernel.
1600c1a828daSMartin Mares
1601e91dd3abSMartin MaresThu Mar  9 13:11:39 2000  Martin Mares  <[email protected]>
1602e91dd3abSMartin Mares
1603a80b79a9SMartin Mares	* lib/example.c: Added a simple example of how to use
1604a80b79a9SMartin Mares	the library.
1605a80b79a9SMartin Mares
160689984232SMartin Mares	* lspci.man, setpci.man: Revealed --version. Well spotted
160789984232SMartin Mares	by Adam Sulmicki.
160889984232SMartin Mares
1609e91dd3abSMartin Mares	* pci.ids: Added lots of new ID's and synced with 2.3.50.
1610e91dd3abSMartin Mares
161178d9c5e2SMartin MaresTue Feb 15 00:16:21 2000  Martin Mares  <[email protected]>
161278d9c5e2SMartin Mares
161378d9c5e2SMartin Mares	* Released as 2.1.5.
161478d9c5e2SMartin Mares
161578d9c5e2SMartin Mares	* pciutils.spec: Updated spec file from Andreas Jaeger. Now using
161678d9c5e2SMartin Mares	%{_mandir} to find the right location to install manual pages to.
161778d9c5e2SMartin Mares
161878d9c5e2SMartin Mares	* pci.ids: New ID's.
161978d9c5e2SMartin Mares
162078d9c5e2SMartin Mares	* setpci.c (main): Don't crash when `-s' or `-d' is given with
162178d9c5e2SMartin Mares	no argument.
162278d9c5e2SMartin Mares
1623f8141ae2SMartin MaresMon Jan 24 20:04:11 2000  Andreas Jaeger  <[email protected]>
1624f8141ae2SMartin Mares
1625f8141ae2SMartin Mares	* lib/i386-ports.c: Include <asm/io.h> only on systems without
1626f8141ae2SMartin Mares	glibc.
1627f8141ae2SMartin Mares
1628f8141ae2SMartin MaresMon Jan 24 11:24:43 2000  Martin Mares  <[email protected]>
1629f8141ae2SMartin Mares
1630f8141ae2SMartin Mares	* Makefile: Modified to work with the Linux FHS brain-damaged idea
1631f8141ae2SMartin Mares	of putting man pages to /usr/share/man. Now we choose either /usr/man
1632f8141ae2SMartin Mares	or /usr/share/man depending on which one exists.
1633f8141ae2SMartin Mares
163459e76e8bSMartin MaresSun Jan 23 10:52:34 2000  Martin Mares  <[email protected]>
163559e76e8bSMartin Mares
163659e76e8bSMartin Mares	* pci.ids: Synced with Linux 2.3.40.
163759e76e8bSMartin Mares
163859e76e8bSMartin Mares	* Released as version 2.1.4.
163959e76e8bSMartin Mares
16402dfd48cdSMartin MaresThu Jan 20 11:08:32 2000  Martin Mares  <[email protected]>
16412dfd48cdSMartin Mares
16422715403fSMartin Mares	* lspci.c (scan_device): Fixed bug in reading of cardbus extensions.
16432715403fSMartin Mares
164481077814SMartin Mares	* lib/proc.c: pread/pwrite fixed again, this time on libc5 :(
164581077814SMartin Mares
164681077814SMartin Mares	* lspci.c (format_agp_rate): Better formatting of AGP rates.
164781077814SMartin Mares
164881077814SMartin Mares	* pci.ids: New ID's.
164981077814SMartin Mares
16502dfd48cdSMartin Mares	* lib/configure: Added configuration for ia64 (the same as for Alpha).
16512dfd48cdSMartin Mares	Patch from Stephane Eranian <[email protected]>.
16522dfd48cdSMartin Mares
16535a258860SMartin MaresThu Jan 13 23:01:52 2000  Martin Mares  <[email protected]>
16545a258860SMartin Mares
16555a258860SMartin Mares	* Released as version 2.1.3.
16565a258860SMartin Mares
16575a258860SMartin Mares	* pci.ids: New ID's.
16585a258860SMartin Mares
16595a258860SMartin Mares	* lspci.c: Alpha IO_FORMAT fix by Andrea Arcangeli.
16605a258860SMartin Mares
16615a258860SMartin Mares	* lib/access.c: Corrected order of access methods -- it's wonderful how
16625a258860SMartin Mares	long could such a bug remain unspotted. Thanks go to Andreas Schockenhoff.
16635a258860SMartin Mares
16640c047bbeSMartin MaresSat Dec 11 23:34:48 1999  Martin Mares  <[email protected]>
16650c047bbeSMartin Mares
16660c047bbeSMartin Mares	* Released as version 2.1.2.
16670c047bbeSMartin Mares
16680c047bbeSMartin Mares	* lib/names.c (pci_lookup_name): Fixed printing of unknown subsystem ID's.
16690c047bbeSMartin Mares
167033bc28a5SMartin MaresSat Dec  4 13:11:03 1999  Martin Mares  <[email protected]>
167133bc28a5SMartin Mares
167239231205SMartin Mares	* Released as version 2.1.1.
167339231205SMartin Mares
167433bc28a5SMartin Mares	* pci.ids: Several new ID's.
167533bc28a5SMartin Mares
167633bc28a5SMartin Mares	* setpci.c (exec_op): Don't forget to increment address after writing
167733bc28a5SMartin Mares	single value, so that `30.b=12,34,56,78' works as expected. Reported
167833bc28a5SMartin Mares	by Petr Soucek <[email protected]>.
167933bc28a5SMartin Mares
16808d047897SMartin MaresWed Nov  3 10:24:38 1999  Martin Mares  <[email protected]>
16818d047897SMartin Mares
16828d047897SMartin Mares	* lspci.c (show_terse): If prog-if is zero, but it's present in the
16838d047897SMartin Mares	ID list, show it.
16848d047897SMartin Mares
16856afc6538SMartin MaresSat Oct 30 11:06:35 1999  Martin Mares  <[email protected]>
16866afc6538SMartin Mares
16876afc6538SMartin Mares	* Released as version 2.1.
16886afc6538SMartin Mares
16896afc6538SMartin Mares	* pci.ids: Synced to devlist.h in 2.3.24 kernel. Merged in
16906afc6538SMartin Mares	lots of contributed entries.
16916afc6538SMartin Mares
16928f756113SMartin MaresThu Oct 14 10:40:12 1999  Dave Jones    <[email protected]>
16938f756113SMartin Mares
16948f756113SMartin Mares	* pci.ids: Added lots of subsystem definitions.
16958f756113SMartin Mares
1696d4798a32SMartin MaresSat Oct  9 14:32:28 1999  Martin Mares  <[email protected]>
1697d4798a32SMartin Mares
1698d4798a32SMartin Mares	* setpci.man: Better example.
1699d4798a32SMartin Mares
1700d4798a32SMartin Mares	* lspci.c: Resolve prog-if names.
1701d4798a32SMartin Mares
1702d4798a32SMartin Mares	* lib/names.c: Adapted to new pci.ids syntax.
1703d4798a32SMartin Mares
1704d4798a32SMartin Mares	* pci.ids: Reorganized the pci.ids file. Subsystems are listed
1705d4798a32SMartin Mares	under devices, classes can optionally contain prog-if information.
1706d4798a32SMartin Mares	New ID's, as usually.
1707d4798a32SMartin Mares
1708e306e911SMartin MaresWed Sep 22 09:45:24 1999  Martin Mares  <[email protected]>
1709e306e911SMartin Mares
1710e306e911SMartin Mares	* pci.ids: New ID's. As usually.
1711e306e911SMartin Mares
1712e306e911SMartin Mares	* lspci.c (show_htype1, show_htype2): Don't show `closed' bridge windows
1713e306e911SMartin Mares	unless we're vvvery verbose.
1714e306e911SMartin Mares
1715e306e911SMartin MaresMon Sep 20 11:22:54 1999  Martin Mares  <[email protected]>
1716e306e911SMartin Mares
1717e306e911SMartin Mares	* lspci.c (show_htype2): Don't forget a TAB before the "I/O window" line.
1718e306e911SMartin Mares
1719e64a576cSMartin MaresTue Sep 14 09:31:01 1999  Martin Mares  <[email protected]>
1720e64a576cSMartin Mares
1721e64a576cSMartin Mares	* pci.ids: New ID's. Again.
1722e64a576cSMartin Mares
1723c36c0862SMartin MaresThu Aug  5 17:45:42 1999  Martin Mares  <[email protected]>
1724c36c0862SMartin Mares
1725c36c0862SMartin Mares	* lspci.c (show_size): Don't show size if it's zero (usually
1726c36c0862SMartin Mares	due to bus-centric mode being enabled).
1727c36c0862SMartin Mares
17281ca42433SMartin MaresTue Jul 20 13:25:09 1999  Martin Mares  <[email protected]>
17291ca42433SMartin Mares
1730168b4f46SMartin Mares	* lib/pci.h: Types are OS dependent.
1731168b4f46SMartin Mares
1732168b4f46SMartin Mares	* lib/internal.h: Byte order hacks are OS dependent.
1733168b4f46SMartin Mares
1734168b4f46SMartin Mares	* lib/configure: Recognize FreeBSD. Also set OS_XXX according to the OS.
1735168b4f46SMartin Mares
1736168b4f46SMartin Mares	* lib/Makefile, lib/access.c: Added fbsd-device target.
1737168b4f46SMartin Mares
1738168b4f46SMartin Mares	* pci.ids: Added an entry for PLX 9080 bridges with subsystem ID
1739168b4f46SMartin Mares	incorrectly set to device ID.
1740168b4f46SMartin Mares
1741168b4f46SMartin Mares	* README: Added a note that we support FreeBSD.
1742168b4f46SMartin Mares
1743168b4f46SMartin Mares	* Makefile (PREFIX, ROOT): Set it depending on the OS.
1744168b4f46SMartin Mares	(%.8): Grrr, BSD date is not able to convert date formats the same way
1745168b4f46SMartin Mares	as GNU date does. Use sed instead.
1746168b4f46SMartin Mares	(install): Use `-c' when calling install.
1747168b4f46SMartin Mares
1748168b4f46SMartin Mares	* lib/fbsd-device.c: Added FreeBSD /dev/pci access module contributed
1749168b4f46SMartin Mares	by Jari Kirma <[email protected]>.
1750168b4f46SMartin Mares
1751bc6346dfSMartin Mares	* lib/proc.c: Rewrote the pread/pwrite things once again. Use pread
1752bc6346dfSMartin Mares	and pwrite only when we are certain it's safe (i.e., glibc 2.1
1753bc6346dfSMartin Mares	on all architectures or any libc on a i386 where we really know
1754bc6346dfSMartin Mares	how to use syscalls directly). In all other cases, emulate it
1755bc6346dfSMartin Mares	with lseek/read/write.
1756bc6346dfSMartin Mares
17571ca42433SMartin Mares	* pci.ids: Some more IDs.
17581ca42433SMartin Mares
17591ca42433SMartin MaresMon Jul 19 14:10:36 1999  Martin Mares  <[email protected]>
17601ca42433SMartin Mares
17611ca42433SMartin Mares	* pci.ids: Added IDs of parallel port controller cards as sent
17621ca42433SMartin Mares	by Tim Waugh <[email protected]>.
17631ca42433SMartin Mares
1764e95c8373SMartin MaresWed Jul  7 00:55:48 1999  Martin Mares  <[email protected]>
1765e95c8373SMartin Mares
1766e95c8373SMartin Mares	* lib/proc.c (proc_scan): HAVE_LONG_ADDRESS instead of HAVE_64BIT_ADDRESS.
1767e95c8373SMartin Mares
1768e95c8373SMartin Mares	* lspci.c: ADDR_FORMAT now depends on both HAVE_64BIT_ADDRESS and
1769e95c8373SMartin Mares	HAVE_LONG_ADDRESS.
1770e95c8373SMartin Mares
1771e95c8373SMartin Mares	* lib/configure: HAVE_64BIT_ADDRESS now doesn't imply that the addresses
1772e95c8373SMartin Mares	are represented as long long. Introduced a new flag HAVE_LONG_ADDRESS
1773e95c8373SMartin Mares	to indicate this. Both Sparc architectures now use both 64BIT_ADDRESS
1774e95c8373SMartin Mares	and LONG_ADDRESS since they have 32-bit userland, but don't set LONG_ADDRESS
1775e95c8373SMartin Mares	on Alpha.
1776e95c8373SMartin Mares
1777e95c8373SMartin Mares	* lspci.c (show_msi): Added dumping of the MSI capability.
1778e95c8373SMartin Mares	(show_slotid): The same for SlotID capability.
1779e95c8373SMartin Mares	(show_caps): Seperated capability dumping, because it should
1780e95c8373SMartin Mares	be used for both htype0 and htype1. Even PCI 2.2 doesn't mention
1781e95c8373SMartin Mares	layout of htype2, so I'm a bit unsure about it wrt capabilities
1782e95c8373SMartin Mares	-- they at least have to live somewhere else since address 0x34
1783e95c8373SMartin Mares	is already defined differently in htype2.
1784e95c8373SMartin Mares
1785e95c8373SMartin Mares	* lib/header.h (PCI_STATUS_UDF): Marked as obsolete (PCI 2.2).
1786e95c8373SMartin Mares	(PCI_BASE_ADDRESS_MEM_TYPE_1M): Ditto.
1787e95c8373SMartin Mares	(PCI_CAP_ID_*): Added some new capabilities defined in PCI 2.2.
1788e95c8373SMartin Mares
1789e95c8373SMartin Mares	* lspci.c (show_htype0): Mask out lowest 2 bits from all capability pointers
1790e95c8373SMartin Mares	(required by the PCI 2.2 specs).
1791e95c8373SMartin Mares
1792e95c8373SMartin MaresMon Jul  5 12:45:19 1999  Martin Mares  <[email protected]>
1793e95c8373SMartin Mares
1794e95c8373SMartin Mares	* lspci.c (show_size): Added new function for dumping of region sizes.
1795e95c8373SMartin Mares	(show_rom): Added. Now correctly dumps unassigned ROM addresses, disabled
1796e95c8373SMartin Mares	ROMs et cetera.
1797e95c8373SMartin Mares
1798e95c8373SMartin Mares	* lib/pci.h (struct pci_dev): known_fields moved to the public part
1799e95c8373SMartin Mares	of the structure.
1800e95c8373SMartin Mares
1801e95c8373SMartin Mares	* Added support for region sizes. Needs support in the kernel, because
1802e95c8373SMartin Mares	sizes have to be scanned before drivers initialize yourself. pci_fill_info()
1803e95c8373SMartin Mares	now returns a bitmask of what fields were really read.
1804e95c8373SMartin Mares
180582ce97c9SMartin MaresMon Jun 28 18:37:51 1999  Dave Jones    <[email protected]>
180682ce97c9SMartin Mares
180782ce97c9SMartin Mares	* Makefile:
180882ce97c9SMartin Mares	  Added `uninstall' target - removes all traces of pciutils.
180982ce97c9SMartin Mares	* pci.ids:
181082ce97c9SMartin Mares	  - Lots of cleanups in the ATI, S3, Adaptec vendors.
181182ce97c9SMartin Mares	  - Changed Compaq QVision 1280/p definitions, as it's not possible
181282ce97c9SMartin Mares	    to determine the revision from the device ID.
181382ce97c9SMartin Mares	  - Same for the Tseng ET4000.
181482ce97c9SMartin Mares	    The id's said I had a rev C, when it was actually a rev B.
181582ce97c9SMartin Mares	  - Removed some unnecessary strings
181682ce97c9SMartin Mares	    `PCI'. Unless it's an AGP card, it should be obvious that it's PCI.
181782ce97c9SMartin Mares	    `Ethernet card'. This should be determined from config space.
181882ce97c9SMartin Mares	  - Lots of other new vendors & devices
181982ce97c9SMartin Mares	  - Other additional small cleanups.
182082ce97c9SMartin Mares
18217bed2d83SMartin MaresMon Jun 21 22:11:10 1999  Martin Mares  <[email protected]>
18227bed2d83SMartin Mares
18237bed2d83SMartin Mares	* lib/names.c (pci_lookup_name): When device ID lookup
18247bed2d83SMartin Mares	fails, return hexadecimal device ID instead of vendor ID.
18257bed2d83SMartin Mares	Well spotted by Axel Bodemann <[email protected]>,
18267bed2d83SMartin Mares	I've just extended the fix to subsystem ID's.
18277bed2d83SMartin Mares
18285ba3a475SMartin MaresThu Jun 17 19:48:21 1999  Martin Mares  <[email protected]>
18295ba3a475SMartin Mares
18305ba3a475SMartin Mares	* lspci.c (show_agp): Bug fix from Petr Vandrovec
18315ba3a475SMartin Mares	<[email protected]>. The command register was displayed
18325ba3a475SMartin Mares	incorrectly.
18335ba3a475SMartin Mares
18345ba3a475SMartin MaresWed Jun  2 22:42:44 1999  Martin Mares  <[email protected]>
18355ba3a475SMartin Mares
18365ba3a475SMartin Mares	* lib/proc.c (SYS_pread, SYS_pwrite): Use hard-coded
18375ba3a475SMartin Mares	numbers if not supplied by the libc.
18385ba3a475SMartin Mares
183955c815b5SMartin MaresWed May 19 13:24:39 1999  Martin Mares  <[email protected]>
184055c815b5SMartin Mares
184155c815b5SMartin Mares	* Released the whole package as version 2.0.
184255c815b5SMartin Mares
184355c815b5SMartin MaresFri May 14 22:42:02 1999  Martin Mares  <[email protected]>
184455c815b5SMartin Mares
184555c815b5SMartin Mares	* pci.ids: Added several new ID's contributed by people
184655c815b5SMartin Mares	on the linux-pci list.
184755c815b5SMartin Mares
1848dec16943SMartin MaresMon Apr 19 15:21:08 1999  Jakub Jelinek  <[email protected]>
1849dec16943SMartin Mares
1850dec16943SMartin Mares	* lspci.c: Display I/O addresses correctly on sparc64.
1851dec16943SMartin Mares	* lib/header.h: Ditto.
1852dec16943SMartin Mares
1853dec16943SMartin Mares	* lib/configure: On sparc set HAVE_64BIT* as well, we want
1854dec16943SMartin Mares	a binary which works on both 32bit and 64bit SPARCs.
1855dec16943SMartin Mares
1856e33c9c7aSMartin MaresSun Apr 18 21:14:58 1999  Martin Mares  <[email protected]>
1857e33c9c7aSMartin Mares
1858e33c9c7aSMartin Mares	* lspci.c, lib/proc.c: Alpha compilation fixes from Matthew Jacob
1859e33c9c7aSMartin Mares	<[email protected]>.
1860e33c9c7aSMartin Mares
1861e33c9c7aSMartin Mares	* pci.ids: A lot of updates from Adam J. Richter <[email protected]>.
1862e33c9c7aSMartin Mares
1863f3395cc5SMartin MaresSun Feb 28 22:26:21 1999  Martin Mares  <[email protected]>
1864f3395cc5SMartin Mares
1865f3395cc5SMartin Mares	* lspci.c (do_map_bus): Don't dump functions 1--7 if not flagged
1866f3395cc5SMartin Mares	as a multi-function device, because several single-function devices
1867f3395cc5SMartin Mares	don't decode the function bits at all.
1868f3395cc5SMartin Mares
1869f3395cc5SMartin MaresSun Feb 14 23:48:22 1999  Martin Mares  <[email protected]>
1870f3395cc5SMartin Mares
1871f3395cc5SMartin Mares	* Makefile (install): Don't use "-o root -g root" for installation
1872f3395cc5SMartin Mares	since it breaks on machines where programs are not installed by root.
1873f3395cc5SMartin Mares	Reported by Richard Gooch <[email protected]>
1874f3395cc5SMartin Mares
1875f3395cc5SMartin MaresTue Feb  9 15:54:39 1999  Martin Mares  <[email protected]>
1876f3395cc5SMartin Mares
1877f3395cc5SMartin Mares	* lspci.c (show_bases): Use new address masking macros and pciaddr_t.
1878f3395cc5SMartin Mares
1879f3395cc5SMartin Mares	* lib/pci.h: Using pciaddr_t for bus addresses, which are 32-bit
1880f3395cc5SMartin Mares	or 64-bit depending on CPU.
1881f3395cc5SMartin Mares
1882f3395cc5SMartin Mares	* lib/pci.h (PCI_ADDR_MEM_MASK): Added macros for address masks
1883f3395cc5SMartin Mares	according to bus address width.
1884f3395cc5SMartin Mares
18851c31d620SMartin MaresThu Jan 28 20:54:16 1999  Martin Mares  <[email protected]>
18861c31d620SMartin Mares
18871c31d620SMartin Mares	* Released as 1.99.4.
18881c31d620SMartin Mares
18891c31d620SMartin Mares	* lspci.c: Capability list parser now recognizes both AGP
18901c31d620SMartin Mares	registers and PCI Power Management registers (the latter
18911c31d620SMartin Mares	is mainly guesswork based on DEC/Intel 21153 bridge specs
18921c31d620SMartin Mares	since I don't have the PCI Power Management document).
18931c31d620SMartin Mares
18941c31d620SMartin Mares	* lspci.c: Replaced numerous occurences of (x & flag) ? '+' : '-'
18951c31d620SMartin Mares	by FLAG macro.
18961c31d620SMartin Mares
18971c31d620SMartin Mares	* lspci.c: Added bridge checks to bus mapping code.
18981c31d620SMartin Mares
18991812a795SMartin MaresWed Jan 27 14:59:16 1999  Martin Mares  <[email protected]>
19001812a795SMartin Mares
19011812a795SMartin Mares	* lspci.c: Implemented bus mapping mode (-M).
19021812a795SMartin Mares
19031812a795SMartin Mares	* lspci.c (scan_devices): Split to scan_devices() and scan_device().
19041812a795SMartin Mares	(show): Split to show() and show_device().
19051812a795SMartin Mares
19061812a795SMartin Mares	* lib/access.c (pci_init): When a->method == PCI_ACCESS_AUTO,
19071812a795SMartin Mares	set it to the real access method afterwards.
19081812a795SMartin Mares
19091812a795SMartin MaresMon Jan 25 23:46:13 1999  Martin Mares  <[email protected]>
19101812a795SMartin Mares
19111812a795SMartin Mares	* lib/generic.c (pci_generic_fill_info): If in buscentric mode,
19121812a795SMartin Mares	don't check PCI_COMMAND for I/O and memory enables.
19131812a795SMartin Mares
1914f6c86928SMartin MaresMon Jan 25 21:28:49 1999  Martin Mares  <[email protected]>
1915f6c86928SMartin Mares
1916f6c86928SMartin Mares	* Makefile: Added target `release' which substitutes new version
1917f6c86928SMartin Mares	number to .spec, .lsm and README. Also rewrote target `dist'.
1918f6c86928SMartin Mares
1919f6c86928SMartin Mares	* Released as 1.99.3.
1920f6c86928SMartin Mares
1921b5137411SMartin MaresSun Jan 24 22:10:36 1999  Martin Mares  <[email protected]>
1922b5137411SMartin Mares
1923d6b297d0SMartin Mares	* lib/header.h: Until kernel adopts new layout of PCI
1924d6b297d0SMartin Mares	includes (i.e., separate declaration of header structure,
1925d6b297d0SMartin Mares	functions and device IDs), which is not going to happen
1926d6b297d0SMartin Mares	before 2.3, we'll use our own definiton of the header.
1927d6b297d0SMartin Mares
1928b5137411SMartin Mares	* lspci.c (show_verbose): Display `Cap' flag in device status.
1929b5137411SMartin Mares
1930b5137411SMartin Mares	* lspci.c (show_htype0): Display capability lists whereever
1931b5137411SMartin Mares	available. The only capability name we recognize now is `AGP'.
1932b5137411SMartin Mares	Unfortunately, capabilities are stored in device-dependent
1933b5137411SMartin Mares	portion of the configuration space and are thus available
1934b5137411SMartin Mares	only to root unless you read a dump.
1935b5137411SMartin Mares
1936b5137411SMartin Mares	* lspci.c (scan_devices): Use cache instead of buffering.
1937b5137411SMartin Mares
1938b5137411SMartin Mares	* lib/buffer.c: Removed (obsoleted by the cache).
1939b5137411SMartin Mares
1940b5137411SMartin Mares	* lib/access.c: Added general caching mechanism.
1941b5137411SMartin Mares
194281ce358dSMartin MaresSat Jan 23 21:30:54 1999  Martin Mares  <[email protected]>
194381ce358dSMartin Mares
194481ce358dSMartin Mares	* pci.ids: Added few devices.
194581ce358dSMartin Mares
1946727ce158SMartin MaresFri Jan 22 19:29:31 1999  Martin Mares  <[email protected]>
1947727ce158SMartin Mares
1948727ce158SMartin Mares	* Version string is now defined in top-level Makefile, exported
1949727ce158SMartin Mares	to the configure script and also substituted to man pages.
1950727ce158SMartin Mares
1951727ce158SMartin Mares	* lspci.c (show_bases): Rewrote displaying of 64-bit addresses.
1952727ce158SMartin Mares	(show_verbose): Rewrote interrupt display logic.
1953727ce158SMartin Mares
1954727ce158SMartin Mares	* lib/i386-ports.c: Include sys/io.h only on glibc systems.
1955727ce158SMartin Mares
1956727ce158SMartin Mares	* lib/configure: Rewrote detection of Linux versions. Now it
1957727ce158SMartin Mares	works on 2.0 kernels (only with direct/dump access, of course).
1958727ce158SMartin Mares
1959727ce158SMartin Mares	* lib/internal.h: New bytesex macros using <asm/byteorder.h>
1960727ce158SMartin Mares	whenever available.
1961727ce158SMartin Mares
1962727ce158SMartin Mares	* lib/proc.c (proc_read, proc_write): Distinguish between short
1963727ce158SMartin Mares	read/write and real errors.
1964727ce158SMartin Mares
1965727ce158SMartin Mares	* lspci.c (show_htype{0,1}): Always use d->dev->rom_base_addr since
1966727ce158SMartin Mares	libpci respects buscentric mode automatically.
1967727ce158SMartin Mares
1968727ce158SMartin Mares	* lspci.c (show_hex_dump): For CardBus bridges, print out 128
1969727ce158SMartin Mares	bytes of header (the whole standard part).
1970727ce158SMartin Mares
1971727ce158SMartin Mares	* common.c: pcilib options are now all uppercase. Also moved
1972727ce158SMartin Mares	PCI access debugging option here.
1973727ce158SMartin Mares
1974727ce158SMartin Mares	* Released as 1.99.2.
1975727ce158SMartin Mares
1976727ce158SMartin MaresWed Jan 20 22:50:35 1999  Martin Mares  <[email protected]>
1977727ce158SMartin Mares
1978727ce158SMartin Mares	* Wrote configure script and rewrote Makefiles.
1979727ce158SMartin Mares
1980727ce158SMartin Mares	* Removed few unused variables.
1981727ce158SMartin Mares
1982727ce158SMartin MaresWed Jan 20 12:21:56 1999  Martin Mares  <[email protected]>
1983727ce158SMartin Mares
1984727ce158SMartin Mares	* common.c: Moved several functions used in both setpci and lspci
1985727ce158SMartin Mares	here. This includes parsing of libpci-related options.
1986727ce158SMartin Mares
1987727ce158SMartin Mares	* More library tweaks.
1988727ce158SMartin Mares
1989727ce158SMartin Mares	* filter.c, names.c: Moved to library.
1990727ce158SMartin Mares
1991727ce158SMartin Mares	* setpci: Rewritten to use the library.
1992727ce158SMartin Mares
1993727ce158SMartin Mares	* Released as 1.99.1.
1994727ce158SMartin Mares
1995727ce158SMartin MaresTue Jan 19 23:00:12 1999  Martin Mares  <[email protected]>
1996727ce158SMartin Mares
1997727ce158SMartin Mares	* lspci.c (scan_devices): For cardbus bridges, read first 128
1998727ce158SMartin Mares	bytes of config space to get full standard header.
1999727ce158SMartin Mares
2000727ce158SMartin Mares	* Makefile (CFLAGS): Removed "-Wno-unused".
2001727ce158SMartin Mares
2002727ce158SMartin Mares	* Started the "New Generation" branch and introduced the
2003727ce158SMartin Mares	PCI library.
2004727ce158SMartin Mares
2005727ce158SMartin Mares	* lspci: Rewritten to use the library.
2006727ce158SMartin Mares
20076ece6bc6SMartin MaresTue Jan 19 22:24:08 1999  Martin Mares  <[email protected]>
20086ece6bc6SMartin Mares
20096ece6bc6SMartin Mares	* Released as version 1.10.
20106ece6bc6SMartin Mares
20116ece6bc6SMartin MaresMon Jan 18 08:51:17 1999  Martin Mares  <[email protected]>
20126ece6bc6SMartin Mares
20136ece6bc6SMartin Mares	* lspci.8, setpci.8: Miscellaneous fixes as suggested by
20146ece6bc6SMartin Mares	Dag Wieers <[email protected]>.
20156ece6bc6SMartin Mares
20161212dd6dSMartin MaresSun Nov 29 20:05:56 1998  Martin Mares  <[email protected]>
20171212dd6dSMartin Mares
20181212dd6dSMartin Mares	* pciutils.spec (Name): Update from Krzysztof G. Baranowski.
20191212dd6dSMartin Mares
2020d38471fdSMartin MaresSun Nov 22 10:49:56 1998  Martin Mares  <[email protected]>
2021d38471fdSMartin Mares
2022d38471fdSMartin Mares	* Makefile, pciutils.h: Moved pci.ids to /usr/share.
2023d38471fdSMartin Mares
2024d38471fdSMartin Mares	* Released as version 1.09.
2025d38471fdSMartin Mares
2026371f605bSMartin MaresWed Nov 18 15:47:05 1998  Martin Mares  <[email protected]>
2027371f605bSMartin Mares
2028371f605bSMartin Mares	* lspci.c (show_htype1): Fixed displaying of prefetchable memory behind
2029371f605bSMartin Mares	bridge. Thanks to Petr Vandrovec <[email protected]> for bug report.
2030371f605bSMartin Mares
203110be47abSMartin MaresFri Oct 23 18:59:19 1998  Martin Mares  <[email protected]>
203210be47abSMartin Mares
203310be47abSMartin Mares	* setpci.c: Don't include <syscall-list.h> with glibc >= 2.1.
203410be47abSMartin Mares
2035472bd340SMartin MaresMon Oct 19 21:53:30 1998  Martin Mares  <[email protected]>
2036472bd340SMartin Mares
2037472bd340SMartin Mares	* Released as version 1.08.
2038472bd340SMartin Mares
2039472bd340SMartin Mares	* setpci.c: glibc 2.1.x already defines pread() and pwrite().
2040472bd340SMartin Mares
2041472bd340SMartin Mares	* lspci.8: Changed warning about lspci -xxx.
2042472bd340SMartin Mares
2043472bd340SMartin Mares	* lspci.c: Require "-xxx" for full configuration space dump, so that
2044472bd340SMartin Mares	it's impossible to crash the machine by single typo.
2045472bd340SMartin Mares
2046472bd340SMartin Mares	* specs: Added (courtesy of Krzysztof G. Baranowski <[email protected]>).
2047472bd340SMartin Mares
2048072c77e5SMartin MaresWed Sep  9 12:03:24 1998  Martin Mares  <[email protected]>
2049072c77e5SMartin Mares
2050072c77e5SMartin Mares	* lspci.c (show_bases): Better displaying of unassigned and
2051072c77e5SMartin Mares	disabled bases. Thanks to Gabriel Paubert <[email protected]>
2052072c77e5SMartin Mares	for an idea.
2053072c77e5SMartin Mares
2054b7554856SMartin MaresWed Sep  2 10:58:01 1998  Martin Mares  <[email protected]>
2055b7554856SMartin Mares
2056b7554856SMartin Mares	* setpci.c (pread): Recognize glibc 1.99 numbered as 2.0 on the PPC.
2057b7554856SMartin Mares	(thanks to Geert Uytterhoeven for finding this out)
2058b7554856SMartin Mares
2059ce503b7fSMartin MaresFri Jul 17 10:43:30 1998  Martin Mares  <[email protected]>
2060ce503b7fSMartin Mares
2061ce503b7fSMartin Mares	* lspci.c (show_verbose): Print subsystem ID using the new resolver.
2062ce503b7fSMartin Mares	(show_machine): Print subsystem ID.
2063ce503b7fSMartin Mares
2064ce503b7fSMartin Mares	* names.c: New name resolution engine supporting subsystem IDs.
2065ce503b7fSMartin Mares
2066ce503b7fSMartin Mares	* Released as version 1.07.
2067ce503b7fSMartin Mares
206896e4f295SMartin MaresWed Jul 15 15:37:21 1998  Martin Mares  <[email protected]>
206996e4f295SMartin Mares
207096e4f295SMartin Mares	* lspci.c (show_htype2 etc.): Displaying of CardBus headers.
207196e4f295SMartin Mares	(show_bases): Honor the `cnt' argument.
207296e4f295SMartin Mares	(grow_tree): Parse CardBus headers in tree mode as well.
207396e4f295SMartin Mares
207496e4f295SMartin Mares	* pci.h: Updated CardBus header field description. I still don't
207596e4f295SMartin Mares	have the CardBus standard available, but OZ6832 specs contain
207696e4f295SMartin Mares	full description of all header fields supported by the chip.
207796e4f295SMartin Mares
20786ae3650aSMartin MaresTue Jun  9 22:53:59 1998  Martin Mares  <[email protected]>
20796ae3650aSMartin Mares
2080304f9a0bSMartin Mares	* Released as 1.06.
2081304f9a0bSMartin Mares
20826ae3650aSMartin Mares	* names.c (parse_name_list): Killed an unused variable.
20836ae3650aSMartin Mares
20846ae3650aSMartin Mares	* setpci.c (pread, pwrite): Define SYS_(pread|pwrite) as __NR_\1
20856ae3650aSMartin Mares	if they are not defined by glibc (needed for glibc built on older
20866ae3650aSMartin Mares	kernels). Ugly.
20876ae3650aSMartin Mares
20886ae3650aSMartin Mares	* setpci.c (exec_op): Fixed error messages. Thanks, Steve!
20896ae3650aSMartin Mares
20904b88a6b8SMartin MaresMon Jun  8 10:59:22 1998  Martin Mares  <[email protected]>
20914b88a6b8SMartin Mares
20924b88a6b8SMartin Mares	* Released as 1.05.
20934b88a6b8SMartin Mares
20944b88a6b8SMartin Mares	* setpci.c: Problems with pread()/pwrite() with glibc on Alpha
20954b88a6b8SMartin Mares	should be gone. Again thanks to Steve for bug report.
20964b88a6b8SMartin Mares
20974b88a6b8SMartin Mares	* filter.c (filter_parse_slot): Fixed ":x" type filters.
20984b88a6b8SMartin Mares
20994b88a6b8SMartin Mares	* pci.ids: Killed duplicate entry. Thanks to Stephen Williams
21004b88a6b8SMartin Mares	<[email protected]> for reporting this.
21014b88a6b8SMartin Mares
21024b88a6b8SMartin MaresSun Jun  7 19:27:51 1998  Martin Mares  <[email protected]>
21034b88a6b8SMartin Mares
21044b88a6b8SMartin Mares	* lspci.c (main), setpci.c (main): Implemented "--version".
21054b88a6b8SMartin Mares
21064b88a6b8SMartin Mares	* Released as 1.04.
21074b88a6b8SMartin Mares
21084b88a6b8SMartin Mares	* pciutils.h (PCIUTILS_VERSION): Added version string.
21094b88a6b8SMartin Mares
21104b88a6b8SMartin Mares	* filter.c, names.c: Extraneous #include <linux/pci.h> removed.
21114b88a6b8SMartin Mares	Thanks to Geert Uytterhoeven <[email protected]>
21124b88a6b8SMartin Mares	for bug report.
21134b88a6b8SMartin Mares
21149b306998SMartin MaresThu May 28 14:45:58 1998  Martin Mares  <[email protected]>
21159b306998SMartin Mares
21169b306998SMartin Mares	* pci.ids: More updates from Jens Maurer.
21179b306998SMartin Mares
2118b372672fSMartin MaresWed Apr 22 10:00:39 1998  Martin Mares  <[email protected]>
2119b372672fSMartin Mares
2120b372672fSMartin Mares	* pci.ids: Updates from Jens Maurer.
2121b372672fSMartin Mares
2122b2c9b373SMartin MaresSun Apr 19 11:14:25 1998  Martin Mares  <[email protected]>
2123b2c9b373SMartin Mares
2124b372672fSMartin Mares	* Released as 1.03.
2125b372672fSMartin Mares
2126b2c9b373SMartin Mares	* setpci.8: Written.
2127b2c9b373SMartin Mares
2128b2c9b373SMartin Mares	* setpci.c: Finished.
2129b2c9b373SMartin Mares
2130b2c9b373SMartin Mares	* lspci.c: Now able to fetch expansion ROM base from kernel device list
2131b2c9b373SMartin Mares	and print it if not in buscentric mode.
2132b2c9b373SMartin Mares
2133e4842ff3SMartin MaresTue Mar 31 23:11:57 1998  Martin Mares  <[email protected]>
2134e4842ff3SMartin Mares
2135e4842ff3SMartin Mares	* setpci.c: Added.
2136e4842ff3SMartin Mares
2137e4842ff3SMartin MaresSun Mar 22 15:39:08 1998  Martin Mares  <[email protected]>
2138e4842ff3SMartin Mares
2139e4842ff3SMartin Mares	* lspci.8: Updated the documentation.
2140e4842ff3SMartin Mares
2141e4842ff3SMartin Mares	* lspci.c: Modified to use the new filtering mechanism (options -f and -d).
2142e4842ff3SMartin Mares
2143e4842ff3SMartin Mares	* filter.c: Introduced new generic device filter.
2144e4842ff3SMartin Mares
2145008407bdSMartin MaresThu Mar 19 17:03:48 1998  Martin Mares  <[email protected]>
2146008407bdSMartin Mares
2147008407bdSMartin Mares	* lspci.c (grow_tree, show_tree_dev, print_it): Fixed displaying
2148008407bdSMartin Mares	of PCI-to-PCI bridges in the tree format.
2149008407bdSMartin Mares
21500a33d0ecSMartin MaresSun Feb 15 10:12:25 1998  Martin Mares  <[email protected]>
21510a33d0ecSMartin Mares
21520a33d0ecSMartin Mares	* lspci.c (show_machine): Added non-verbose mode of machine-readable
21530a33d0ecSMartin Mares	dump.
21540a33d0ecSMartin Mares
21550a33d0ecSMartin Mares	* pci.ids: Updates from Jens Maurer.
21560a33d0ecSMartin Mares
21570a33d0ecSMartin Mares	* Released as version 1.02.
21580a33d0ecSMartin Mares
21590a33d0ecSMartin MaresThu Feb 12 16:53:28 1998  Martin Mares  <[email protected]>
21600a33d0ecSMartin Mares
21610a33d0ecSMartin Mares	* lspci.c: Added a "-m" switch for dumping machine-readable
21620a33d0ecSMartin Mares	configuration data (requested by Bjoern Kriews <[email protected]>).
21630a33d0ecSMartin Mares
2164fb38eee8SMartin MaresMon Feb  9 13:17:43 1998  Martin Mares  <[email protected]>
2165fb38eee8SMartin Mares
2166fb38eee8SMartin Mares	* Makefile, pciutils.h: Include local pci.h instead of <linux/pci.h>
2167fb38eee8SMartin Mares	if available. This should avoid all problems with official kernel
2168fb38eee8SMartin Mares	not synchronized to newer PCI code in CVS -- standard distribution
2169fb38eee8SMartin Mares	of pciutils now contains pci.h from current CVS kernel, pciutils
2170fb38eee8SMartin Mares	in CVS contain no pci.h and use the correct kernel include.
2171fb38eee8SMartin Mares
2172fb38eee8SMartin Mares	* Makefile: Fixed installation path for man pages.
2173fb38eee8SMartin Mares
21742f48f637SMartin MaresSat Feb  7 15:15:46 1998  Martin Mares  <[email protected]>
21752f48f637SMartin Mares
21762f48f637SMartin Mares	* README: Updated.
21772f48f637SMartin Mares
21782f48f637SMartin Mares	* lspci.8: Created a man page.
21792f48f637SMartin Mares
21802f48f637SMartin Mares	* Releasing as version 1.0.
21812f48f637SMartin Mares
21822f48f637SMartin MaresTue Feb  3 20:56:00 1998  Martin Mares  <[email protected]>
21832f48f637SMartin Mares
21842f48f637SMartin Mares	* Makefile: Recognize architecture by calling uname and pass it as ARCH_xxx
21852f48f637SMartin Mares	to all the C sources. This should eliminate problems with 32-bit compilers
21862f48f637SMartin Mares	on sparc64.
21872f48f637SMartin Mares
21882f48f637SMartin Mares	* lspci.c (show_verbose): Recognize CardBus bridge header type.
21892f48f637SMartin Mares	(show_htype2): Stub routine.
21902f48f637SMartin Mares	(scan_config): Write sensible error message if the kernel denies reading of
21912f48f637SMartin Mares	upper part of the PCI config space.
2192