xref: /pciutils/ChangeLog (revision 2b31207a)
1*2b31207aSMartin Mares2008-12-13  Martin Mares <[email protected]>
2*2b31207aSMartin Mares
3*2b31207aSMartin Mares	* The source code of lspci has been split to multiple files, hopefully
4*2b31207aSMartin Mares	making it easier to maintain.
5*2b31207aSMartin Mares
6*2b31207aSMartin Mares	* The library and lspci now know about physical slot names. So far,
7*2b31207aSMartin Mares	they are provided by the sysfs back-end only. Thanks go to Alex Chiang.
8*2b31207aSMartin Mares
9*2b31207aSMartin Mares	* When a device has the VPD (Vital Product Data) capability and the
10*2b31207aSMartin Mares	VPD data are supplied by the OS, they are decoded and printed in the
11*2b31207aSMartin Mares	verbose mode. This currently works only on Linux with the sysfs
12*2b31207aSMartin Mares	back-end. Thanks to Ben Hutchings of Solarflare for the patch.
13*2b31207aSMartin Mares
14*2b31207aSMartin Mares	* `setpci --version' now works properly.
15*2b31207aSMartin Mares
16*2b31207aSMartin Mares	* `setpci --dumpregs' prints a table of all known name of
17*2b31207aSMartin Mares	registers and capabilities. This replaces the table of registers
18*2b31207aSMartin Mares	in the setpci man page.
19*2b31207aSMartin Mares
20*2b31207aSMartin Mares	* The dry-run mode of setpci gives better feedback.
21*2b31207aSMartin Mares
22*2b31207aSMartin Mares	* The setpci utility is now able to address registers stored in PCI
23*2b31207aSMartin Mares	capabilities (actually it allows a more general form of relative
24*2b31207aSMartin Mares	addressing).
25*2b31207aSMartin Mares
26*2b31207aSMartin Mares	* The library has gained functions for working with PCI capabilities.
27*2b31207aSMartin Mares
28*2b31207aSMartin Mares	* Address Translation Services capability is now decoded. Patch by
29*2b31207aSMartin Mares	Yu Zhao.
30*2b31207aSMartin Mares
31b282435dSMartin Mares2008-11-09  Martin Mares <[email protected]>
32b282435dSMartin Mares
33b282435dSMartin Mares	* Released as 3.0.3.
34b282435dSMartin Mares
35b282435dSMartin Mares	* `lspci -k' now displays the subsystem ID, too. This makes `-k'
36b282435dSMartin Mares	show everything needed to identify the device and the available
37b282435dSMartin Mares	drivers, which was called for by many users.
38b282435dSMartin Mares
39b282435dSMartin Mares	* Fixed spelling of MSI. Patch by Matthew Wilcox.
40b282435dSMartin Mares
41b282435dSMartin Mares	* Better support for cross-compilation. Thanks to Alon Bar-Lev
42b282435dSMartin Mares	for the patch.
43b282435dSMartin Mares
44b282435dSMartin Mares	* Fixed printing of the AER capability. Patch by Max Asbock.
45b282435dSMartin Mares
46b282435dSMartin Mares	* HT 1.02 capabilities are decoded as HT 1.03. Suggested by
47b282435dSMartin Mares	Carl-Daniel Hailfinger.
48b282435dSMartin Mares
49b282435dSMartin Mares	* Fixed Cygwin build. Thanks to Steve Elliott for reporting the bug.
50b282435dSMartin Mares
51b282435dSMartin Mares	* Updated pci.ids to the current snapshot of the database.
52b282435dSMartin Mares
53daf2ef4eSMartin Mares2008-09-19  Martin Mares <[email protected]>
54daf2ef4eSMartin Mares
55daf2ef4eSMartin Mares	* Released as 3.0.2.
56daf2ef4eSMartin Mares
57daf2ef4eSMartin Mares	* Fixed a minor bug in the configure script, which caused warnings
58daf2ef4eSMartin Mares	about redefinition of symbols during compilation.
59daf2ef4eSMartin Mares
6038254178SMartin Mares2008-09-11  Martin Mares <[email protected]>
6138254178SMartin Mares
6238254178SMartin Mares	* Released as 3.0.1.
6338254178SMartin Mares
6438254178SMartin Mares	* Updated pci.ids to the most recent snapshot.
6538254178SMartin Mares
6638254178SMartin Mares	* Added a Cygwin port. Patch by Christopher Voltz, ported to the
6738254178SMartin Mares	current tree by Martin Mares.
6838254178SMartin Mares
6938254178SMartin Mares	* Worked around compatibility problems with various default settings
7038254178SMartin Mares	of wget (we have to set --no-timestamping explicitly). Thanks to Ville
7138254178SMartin Mares	Skytta for pointing that out.
7238254178SMartin Mares
7338254178SMartin Mares	* Fixed printing of MSI capabilities. Thanks to Matthew Wilcox for
7438254178SMartin Mares	a patch.
7538254178SMartin Mares
7638254178SMartin Mares	* Added decoding of several PCI-X capabilities: device/link/slot 2,
7738254178SMartin Mares	Advanced Error Reporting, Access Control Services, Alternative Routing-ID,
7838254178SMartin Mares	Single Root I/O Virtualization. Thanks to Yu Zhao for patches.
7938254178SMartin Mares
8038254178SMartin Mares	* Fixed bug in filters which caused them to refuse vendor/device ID 0xffff.
8138254178SMartin Mares
8238254178SMartin Mares	* README: The linux-pci mailing list has moved to [email protected].
8338254178SMartin Mares
8438254178SMartin Mares	* Fixed several build problems: builds without PCI_USE_DNS on Linux
8538254178SMartin Mares	and with PCI_USE_DNS on Solaris and *BSD. Static library mode also
8638254178SMartin Mares	compiles again on old versions of GCC.
8738254178SMartin Mares
88cec9f7e7SMartin Mares2008-04-10  Martin Mares <[email protected]>
89cec9f7e7SMartin Mares
90cec9f7e7SMartin Mares	* Released as 3.0.0.
91cec9f7e7SMartin Mares
92cec9f7e7SMartin Mares	* Updated API and ABI version.
93cec9f7e7SMartin Mares
94cd2f6a34SMartin Mares2008-02-20  Martin Mares <[email protected]>
95cd2f6a34SMartin Mares
96cd2f6a34SMartin Mares	* Released as 2.99.1-alpha2.
97cd2f6a34SMartin Mares
98cd2f6a34SMartin Mares	* Changed the default domain for the DNS resolver.
99cd2f6a34SMartin Mares
100165a50cbSMartin Mares2008-02-18  Martin Mares <[email protected]>
101165a50cbSMartin Mares
102165a50cbSMartin Mares	* Released as 2.99.1-alpha1.
103623234ecSMartin Mares
104a1fca487SMartin Mares	* The makefile system has been reworked. All configuration settings
105a1fca487SMartin Mares	are now passed to the configure script in environment variables,
106a1fca487SMartin Mares	allowing for easy tweaking in the top-level Makefile. All control
107a1fca487SMartin Mares	knobs are now described in the README.
108a1fca487SMartin Mares
109a1fca487SMartin Mares	* The libpci can be built as a shared library with properly restricted
110a1fca487SMartin Mares	symbol exports. Use `make SHARED=yes' to enable that or `make SHARED=local'
111a1fca487SMartin Mares	for a local testing build (with hardwired paths to the library, so that
112a1fca487SMartin Mares	it does not need installation).
113a1fca487SMartin Mares
114a1fca487SMartin Mares	* The example program has been moved from lib/example.c to the top-level
115a1fca487SMartin Mares	directory, because it should be built exactly as the other utilities
116a1fca487SMartin Mares	are. It has been also improved slightly to educate better.
117a1fca487SMartin Mares
118623234ecSMartin Mares	* The i386-ports method is enabled on Linux/x86_64 as well.
119623234ecSMartin Mares
120ae27e293SMartin Mares2008-02-13  Martin Mares <[email protected]>
121ae27e293SMartin Mares
122ae27e293SMartin Mares	* Released as 2.2.10-net2.
123ae27e293SMartin Mares
124ae27e293SMartin Mares	* Support for resolving of PCI ID's using DNS together with a local
125ae27e293SMartin Mares	cache of resolved entries has been added. See the `-q' and `-Q' options
126ae27e293SMartin Mares	of lspci.
127ae27e293SMartin Mares
128ae27e293SMartin Mares	* The library now has a generic system of settable parameters, which
129ae27e293SMartin Mares	also include settings of the DNS resolver and cache. An `-O' option
130ae27e293SMartin Mares	has been added to lspci and setpci to allow setting of these options.
131ae27e293SMartin Mares
132ae27e293SMartin Mares	* Configuration of the access methods are now specified by the new
133ae27e293SMartin Mares	parameter system, replacing the pci_access->method_params array.
134ae27e293SMartin Mares
135ae27e293SMartin Mares	* Access methods now also have sensible names and help texts and it
136ae27e293SMartin Mares	is possible to look up method ID by a name.
137ae27e293SMartin Mares
138ae27e293SMartin Mares	* An `-A' switch has been added to both lspci and setpci, allowing to
139ae27e293SMartin Mares	select an arbitrary access method. The `-P' switch (configure proc
140ae27e293SMartin Mares	backend) has been removed as it is no longer needed and I do not know
141ae27e293SMartin Mares	any its user.
142ae27e293SMartin Mares
143ae27e293SMartin Mares	* Several source files have been split for better maintainability
144ae27e293SMartin Mares	(most notably the resolving of ID's).
145ae27e293SMartin Mares
146ae27e293SMartin Mares	* Man pages and help texts have been updated. A new man page `pcilib(7)'
147ae27e293SMartin Mares	has been added and description of library options has been moved there.
148ae27e293SMartin Mares
149ae27e293SMartin Mares	* When an unknown device ID is encountered, we print `Device <id>'
150ae27e293SMartin Mares	instead of `Unknown device <id>'. It uses less space and it also
151ae27e293SMartin Mares	should reduce the number of inexperienced users complaining that
152ae27e293SMartin Mares	the device is not supported by the OS. To lookup up OS drivers,
153ae27e293SMartin Mares	use the `-k' option.
154ae27e293SMartin Mares
155ae27e293SMartin Mares	* PCI_LIB_VERSION has been bumped to 0x020299.
156ae27e293SMartin Mares
157ae27e293SMartin Mares	* Makefile: stripping of the binaries during installation can be
158ae27e293SMartin Mares	overridden by the STRIP variable.
159ae27e293SMartin Mares
160ae27e293SMartin Mares	* lib/types.h: We use the integer types from <stdint.h> if the
161ae27e293SMartin Mares	compiler claims C99 support.
162ae27e293SMartin Mares
1630fc3bd18SMartin Mares2008-02-11  Martin Mares <[email protected]>
1640fc3bd18SMartin Mares
1652466b14bSMartin Mares	* Released as 2.2.10.
1662466b14bSMartin Mares
1676add52f5SMartin Mares	* lspci.c, setpci.c: Cleaned up the list of options.
1686add52f5SMartin Mares
1690fc3bd18SMartin Mares	* lib/names.c: Fix displaying of errors reported by zlib.
1700fc3bd18SMartin Mares	Previously, the buffer containing the error message had
1710fc3bd18SMartin Mares	been deallocated by gzclose() before the message was printed.
1720fc3bd18SMartin Mares
173d26b5378SMartin Mares2008-01-07  Martin Mares <[email protected]>
174d26b5378SMartin Mares
175d26b5378SMartin Mares	* update-pciids.sh: Added quiet mode (-q). Clean up uncompressed
176d26b5378SMartin Mares	files left by previous versions of the pciutils. Patch by Mike
177d26b5378SMartin Mares	Frysinger.
178d26b5378SMartin Mares
179d26b5378SMartin Mares	* update-pciids.man: Mention the -q switch.
180d26b5378SMartin Mares
181dc01dd60SMartin Mares2007-11-29  Martin Mares <[email protected]>
182dc01dd60SMartin Mares
183dc01dd60SMartin Mares	* lib/dump.c: Squashed compiler warnings about code with
184dc01dd60SMartin Mares	no effect (there really were surplus *'s).
185dc01dd60SMartin Mares
18611339c0dSMartin Mares2007-11-06  Martin Mares <[email protected]>
18711339c0dSMartin Mares
18813463566SMartin Mares	* Released as 2.2.9.
18913463566SMartin Mares
19011339c0dSMartin Mares	* lspci.c: Added a new switch `-k' which requests printing
19111339c0dSMartin Mares	of information on kernel drivers attached to each device
19211339c0dSMartin Mares	and on kernel modules reporting the ability to handle the
19311339c0dSMartin Mares	device. So far, this is supported only on Linux with the
19411339c0dSMartin Mares	sysfs back-end, so it is implemented internally in the lspci
19511339c0dSMartin Mares	instead of the libpci. Thanks to Anicka <[email protected]>
19611339c0dSMartin Mares	for help.
19711339c0dSMartin Mares
1983de798bdSMartin Mares2007-10-19  Martin Mares <[email protected]>
1993de798bdSMartin Mares
2006cdb9d93SMartin Mares	* Makefile, lib/Makefile: Moved -lz from LDFLAGS to LDLIBS.
2016cdb9d93SMartin Mares	Also added an explicit pattern rule for linking to make sure
2026cdb9d93SMartin Mares	that LDLIBS is used on all platforms. Thanks to Dan Nicholson
2036cdb9d93SMartin Mares	for the suggestion.
2046cdb9d93SMartin Mares
2056cdb9d93SMartin Mares2007-10-19  Martin Mares <[email protected]>
2066cdb9d93SMartin Mares
207a404b115SMartin Mares	* Released as 2.2.8.
208a404b115SMartin Mares
2093de798bdSMartin Mares	* pci.ids: Revised class codes to match Conventional PCI 3.0 specs.
2103de798bdSMartin Mares	Added a couple of new ones, renumbered `ADMA continuous operation'
2113de798bdSMartin Mares	prog-if to 0x30 (even the old SATA Class Code ECN doesn't mention
2123de798bdSMartin Mares	0x40) and renumbered the satellite communication controllers.
2133de798bdSMartin Mares
2142d2c4810SMartin Mares	* lib/header.h: Include `PCI hot-plug' and `Secure device'
215f7c76ec5SMartin Mares	capabilities from PCI 3.0 specs. Also added `SATA HBA' and
216f7c76ec5SMartin Mares	`Advanced features' caps from various ECN's.
2172d2c4810SMartin Mares
218fa2273caSMartin Mares	* lspci.c: All known capabilities have at least their name displayed
219fa2273caSMartin Mares	now. When we are unable to decode them completely, we signalize it
220fa2273caSMartin Mares	with a `<?>' mark.
221fa2273caSMartin Mares
222fa2273caSMartin Mares	* lspci.man: Document `<?>' and also mention that extended config
223fa2273caSMartin Mares	space is currently available only with the linux_sysfs back-end.
224fa2273caSMartin Mares
22531c9bb28SMartin Mares	* lspci.c: Decode the Debug port capability (per EHCI 0.96 spec).
22631c9bb28SMartin Mares
227a387042eSMartin Mares	* lspci.c: Big code cleanup: re-arranged functions in the code,
228a387042eSMartin Mares	renamed everything related to capabilities to cap_* and
229a387042eSMartin Mares	all options except verbose to opt_*.
230a387042eSMartin Mares
2319c79fcc4SMartin Mares2007-10-14  Martin Mares <[email protected]>
2329c79fcc4SMartin Mares
2339c79fcc4SMartin Mares	* lib/[fno]bsd-*: Removed extraneous braces.
2349c79fcc4SMartin Mares
235d5b4cd14SMartin Mares2007-10-12  Martin Mares <[email protected]>
236d5b4cd14SMartin Mares
237d5b4cd14SMartin Mares	* Capability loop detection introduced 2.2.7 did not work
238d5b4cd14SMartin Mares	  properly with extended capabilities. Fixed.
239d5b4cd14SMartin Mares
240594de878SMartin Mares2007-10-05  Martin Mares <[email protected]>
241594de878SMartin Mares
2428a23eadcSMartin Mares	* Released as 2.2.7.
2438a23eadcSMartin Mares
244594de878SMartin Mares	* lspci.c (show_caps, show_ext_caps): Detect and report loops in
245594de878SMartin Mares	capability lists.
246594de878SMartin Mares
2478a23eadcSMartin Mares	* lspci.c, lib/header.h: Finished decoding of the PCI Express
2488a23eadcSMartin Mares	capability. The extended capabilities remain undecoded for now,
2498a23eadcSMartin Mares	but at least the list of them has been updated to reflect the
2508a23eadcSMartin Mares	current PCI Express 2.0 spec.
2518a23eadcSMartin Mares
2528a23eadcSMartin Mares	* lspci.c, lib/header.h: Decode new bits of traditional registers
2538a23eadcSMartin Mares	as defined by PCIE / PCI-X. This includes discard timers in the bridge
2548a23eadcSMartin Mares	control register and INTx enable/status in device control/status
2558a23eadcSMartin Mares	registers.
2568a23eadcSMartin Mares
2578a23eadcSMartin Mares	* lib/fbsd-device.c: Support domains on new FreeBSD's. Contributed
2588a23eadcSMartin Mares	by Marius Strobl.
2598a23eadcSMartin Mares
26099091df9SMartin Mares2007-09-12  Hasso Tepper <[email protected]>
26199091df9SMartin Mares
26299091df9SMartin Mares	* Extended the fbsd-device backend to run on Dragonfly BSD.
26399091df9SMartin Mares
26499091df9SMartin Mares	* lspci.c: alloca() is declared in <stdlib.h> on BSD's, not <alloca.h>.
26599091df9SMartin Mares
26609156b3bSMartin Mares2007-09-03  Martin Mares <[email protected]>
26709156b3bSMartin Mares
26809156b3bSMartin Mares	* Resurrected the Windows port, including cross-compilation by MinGW.
26909156b3bSMartin Mares	Patch by Samuel Bronson <[email protected]>.
27009156b3bSMartin Mares
271325a3c50SMartin Mares2007-08-31  Martin Mares <[email protected]>
272325a3c50SMartin Mares
273325a3c50SMartin Mares	* Makefile, lib/Makefile: `ar' and `ranlib' can be overriden to allow
274325a3c50SMartin Mares	cross-compilation.
275325a3c50SMartin Mares
276a2322147SMartin Mares2007-08-27  Martin Mares  <[email protected]>
277a2322147SMartin Mares
278a2322147SMartin Mares	* lib/names.c (pci_open): When calling gzopen(), use "rb" file mode
279a2322147SMartin Mares	instead of "r". This is needed on DOS systems, where this function
280a2322147SMartin Mares	somewhat illogically uses the binary flag for the compressed file
281a2322147SMartin Mares	instead of the decompressed stream inside, where binariness really
282a2322147SMartin Mares	matters.
283a2322147SMartin Mares
2844f2c5b94SMartin Mares2007-08-14  Martin Mares  <[email protected]>
2854f2c5b94SMartin Mares
2864f2c5b94SMartin Mares	* lspci.c (show_ht): Added decoding of Hypertransport MSI mapping capability,
2874f2c5b94SMartin Mares	based on a patch by Jason Gunthorpe.
2884f2c5b94SMartin Mares
2894f2c5b94SMartin Mares	* tests/cap-MSI-mapping: Added a test case. I plan to add test cases
2904f2c5b94SMartin Mares	(which are dumps of config space) for all new features.
2914f2c5b94SMartin Mares
2920d7f5331SMartin Mares2007-06-20  Martin Mares  <[email protected]>
2930d7f5331SMartin Mares
2947cebe481SMartin Mares	* Released as 2.2.6.
2957cebe481SMartin Mares
2960d7f5331SMartin Mares	* Makefile: Added an "install-lib" target. Thanks to Dan Nicholson
2970d7f5331SMartin Mares	for a patch.
2980d7f5331SMartin Mares
2997cebe481SMartin Mares	* Makefile, lib/Makefile: Generate and install pkg-config file
3007cebe481SMartin Mares	for libpci. Again by Dan Nicholson.
3017cebe481SMartin Mares
3020d7f5331SMartin Mares2007-06-20  Thomas Schwinge  <[email protected]>
3030d7f5331SMartin Mares
3040d7f5331SMartin Mares	* lib/i386-io-hurd.h: Rewritten for new Hurd kernels.
3050d7f5331SMartin Mares
3066e4a45edSMartin Mares2007-05-04  Martin Mares  <[email protected]>
3076e4a45edSMartin Mares
30855c89179SMartin Mares	* Released as 2.2.5.
30955c89179SMartin Mares
3106e4a45edSMartin Mares	* pci.ids: Updated to the current snapshot of the database.
3116e4a45edSMartin Mares
312d0b07542SMartin Mares2007-02-14  Martin Mares  <[email protected]>
313d0b07542SMartin Mares
314d0b07542SMartin Mares	* lspci.c (show_express): Added PCI/PCI-X to PCI-Express Bridge type.
315d0b07542SMartin Mares	Patch by Mark Glines.
316d0b07542SMartin Mares
3173df35926SMartin Mares2007-02-09  Martin Mares  <[email protected]>
3183df35926SMartin Mares
3193df35926SMartin Mares	* pci.ids: Updated to the current snapshot of the database.
3203df35926SMartin Mares
321e49ed044SMartin Mares2007-02-06  Martin Mares  <[email protected]>
322e49ed044SMartin Mares
3231ac3a99dSMartin Mares	* Replaced bzero() by memset() everywhere, it's better to lose a tiny
3241ac3a99dSMartin Mares	bit of readability than maintain hacks to make it work on various systems.
3251ac3a99dSMartin Mares
326b0eb18ccSMartin Mares	* lib/configure: tr on Solaris is a bit weird and it requires `[A-Z]'
327b0eb18ccSMartin Mares	instead of `A-Z'. Fortunately, the extra brackets don't hurt otherwise.
328b0eb18ccSMartin Mares
329e49ed044SMartin Mares	* lib/types.h, lib/configure: Solaris should use <stdint.h> to get precise
330e49ed044SMartin Mares	integer types.
331e49ed044SMartin Mares
3329de2768cSMartin Mares2007-02-04  Martin Mares  <[email protected]>
3339de2768cSMartin Mares
3349de2768cSMartin Mares	* lspci.c: alloca() needs <alloca.h>.
3359de2768cSMartin Mares
336d19394dbSMartin Mares2006-09-17  Martin Mares  <[email protected]>
337d19394dbSMartin Mares
338d19394dbSMartin Mares	* lib/dump.c: Fixed a couple of bugs in the dump backend which caused
339d19394dbSMartin Mares	devices with domains or with extended config space to be read incorrectly.
340d19394dbSMartin Mares	Also, dumps with partial lines are allowed now.
341d19394dbSMartin Mares
342934e7e36SMartin Mares2006-09-10  Martin Mares  <[email protected]>
343934e7e36SMartin Mares
344f09856deSMartin Mares	* pci.ids: Updated to the current database snapshot.
345f09856deSMartin Mares
346934e7e36SMartin Mares	* lspci.c (scan_device): If an error occurs when reading the standard config
347934e7e36SMartin Mares	header of a device, report it and ignore the device and return with exit
348934e7e36SMartin Mares	code 2 at the end.
349934e7e36SMartin Mares
350b2055313SMartin Mares2006-09-09  Martin Mares  <[email protected]>
351b2055313SMartin Mares
352fb260653SMartin Mares	* Released as 2.2.4.
353fb260653SMartin Mares
3541865e2ddSMartin Mares	* maint/release: Remind the maintainer about the current PCI_LIB_VERSION.
3551865e2ddSMartin Mares
356028dffb2SMartin Mares	* lib/pci.h: Updated PCI_LIB_VERSION.
357028dffb2SMartin Mares
35813081e57SMartin Mares	* lspci.c (show_machine): In the `-m' mode, do proper shell escaping
35913081e57SMartin Mares	if the fields printed contain quotes or backslashes.
36013081e57SMartin Mares
3613fd6b4d2SMartin Mares	* lspci.c (show_machine): Added a `-vmm' mode, which removes the misuse
3623fd6b4d2SMartin Mares	of the `Device' tag for two different purposes.
3633fd6b4d2SMartin Mares
364840d09aeSMartin Mares	* Makefile: Moved all system-dependent decisions to lib/configure,
365840d09aeSMartin Mares	since config.mk is included in the top-level Makefile anyway.
366840d09aeSMartin Mares
3672100f710SMartin Mares	* lib/configure: When configuring for Linux, ignore the kernel version
3682100f710SMartin Mares	and always build all access methods.
3692100f710SMartin Mares
3703e9c7a18SMartin Mares	* Makefile (CFLAGS): Removed -Winline, it's not needed and triggers
3713e9c7a18SMartin Mares	at many non-interesting places with gcc 3.4.
3723e9c7a18SMartin Mares
37394db5c82SMartin Mares	* Whitespace cleanup of all source files.
37494db5c82SMartin Mares
375cc062b4aSMartin Mares	* The pci.ids file can be stored compressed if zlib is available.
376cc062b4aSMartin Mares	Added transparent decompression to lib/names.c, modified update-pciids.sh
377cc062b4aSMartin Mares	to keep the file compressed if applicable, updated Makefiles.
378cc062b4aSMartin Mares	Based on a patch by Matthew Wilcox, but all the bugs are mine.
379cc062b4aSMartin Mares
380f4ddb8d3SMartin Mares	* Makefile, README: Allow installation to be done to a different directory
381f4ddb8d3SMartin Mares	from the one we will eventually be placed in by setting DESTDIR.
382f4ddb8d3SMartin Mares	Patch by Matthew Wilcox.
383f4ddb8d3SMartin Mares
38416e37012SMartin Mares	* Added .gitignore files.
38516e37012SMartin Mares
386c7f5314dSMartin Mares	* Makefile (clean): Clean *.orig, too.
387c7f5314dSMartin Mares
388afebde01SMartin Mares	* Cleaned up usage of `char' and `byte'.
389afebde01SMartin Mares
390fd54ccebSMartin Mares	* lib/header.h: PCI_CLASS_DOCKING_OTHER should be 0x0a80, not 0x0a01.
391fd54ccebSMartin Mares
392b2055313SMartin Mares	* lib/header.h: Added PCI_CLASS_xxx constants for all classes currently
393b2055313SMartin Mares	defined in the pci.ids file.
394b2055313SMartin Mares
3954254d153SMartin Mares2006-08-01  Martin Mares  <[email protected]>
3964254d153SMartin Mares
3974254d153SMartin Mares	* lib/i386-io-hurd.h: Fixed a silly typo.
3984254d153SMartin Mares
3991c5cc9b5SMartin Mares2006-07-30  Martin Mares  <[email protected]>
4001c5cc9b5SMartin Mares
40138a9e3c3SMartin Mares	* lib/Makefile: Added a missing rule for obsd-device.o.
40238a9e3c3SMartin Mares
403c7ddfa3eSMartin Mares	* lspci.c, lib/header.h: Added support for MSI per-vector masking.
404c7ddfa3eSMartin Mares	Contributed by Petr Vandrovec.
405c7ddfa3eSMartin Mares
406248a04f8SMartin Mares	* lspci.c, lib/header.h: Added support for the `bridge subsystem ID'
407248a04f8SMartin Mares	capability. Contributed by Petr Vandrovec.
408248a04f8SMartin Mares
409f29dcc87SMartin Mares	* lspci.c (show_htype1): Fixed bug in printing of 64-bit prefetchable
410f29dcc87SMartin Mares	memory windows. Fix by Petr Vandrovec.
411f29dcc87SMartin Mares
4128eab3bffSMartin Mares	* maint/release.pm: Exclude .git directory from releases.
4138eab3bffSMartin Mares
414d305d704SMartin Mares	* lib/i386-ports.c, lib/i386-io-*: Report failures during port access
415d305d704SMartin Mares	initialization by a->warn() instead of calling printf() or perror()
416d305d704SMartin Mares	directly.
417d305d704SMartin Mares
4189007a292SMartin Mares	* lib/i386-ports.c, lib/i386-io-*: Moved the logic which keeps track of
4199007a292SMartin Mares	the port access state to generic code.
4209007a292SMartin Mares
421bd20d5b5SMartin Mares	* lib/i386-io-hurd.h: Ask the kernel for I/O port access appropriately.
422bd20d5b5SMartin Mares	Contributed by Thomas Schwinge and Samuel Thibault.
423bd20d5b5SMartin Mares
42473750606SMartin Mares	* lib/i386-ports.c: Define _GNU_SOURCE, it's needed by the Hurd module.
42573750606SMartin Mares
426d71daa45SMartin Mares	* lib/header.h: Whitespace cleanups.
427d71daa45SMartin Mares
4281c5cc9b5SMartin Mares	* lib/i386-io-windows.h: Fixed indentation and spelling.
4291c5cc9b5SMartin Mares
4301c5cc9b5SMartin Mares	* README.Windows: Mention that WinIO.dll is needed and where to get it.
4311c5cc9b5SMartin Mares
432c2b144efSMartin Mares2006-06-27  Martin Mares  <[email protected]>
433c2b144efSMartin Mares
43414d4f989SMartin Mares	* lib/Makefile, Makefile: Added rules for building and cleaning the example.
43514d4f989SMartin Mares
43614d4f989SMartin Mares	* lib/example.c: Show how to use PCI_FILL_CLASS and used another register
43714d4f989SMartin Mares	for demonstrating the config space accesses. The example is still very
43814d4f989SMartin Mares	incomplete, though.
43914d4f989SMartin Mares
440c2b144efSMartin Mares	* lib/pci.h, lib/generic.c: Added PCI_FILL_CLASS.
441c2b144efSMartin Mares
442c2b144efSMartin Mares	* lib/sysfs.c: Fetch device ID and class from sysfs, because they can
443c2b144efSMartin Mares	be modified by kernel fixups.
444c2b144efSMartin Mares
445c2b144efSMartin Mares	* lspci.c: Use PCI_FILL_CLASS. Thanks to Matthew Willcox for the patch.
446c2b144efSMartin Mares
447bc2eed2dSMartin Mares2006-06-03  Martin Mares  <[email protected]>
448bc2eed2dSMartin Mares
449bc2eed2dSMartin Mares	* lspci.c: Introduced the -nn switch. Thanks to David N. Welton
450bc2eed2dSMartin Mares	for the idea.
451bc2eed2dSMartin Mares
452bc2eed2dSMartin Mares	* lib/names.c (pci_lookup_name): Introduced PCI_LOOKUP_MIXED and
453bc2eed2dSMartin Mares	cleaned up the name selection code.
454bc2eed2dSMartin Mares
455c72eeddeSMartin Mares	* lib/names.c (pci_lookup_name): If PCI_LOOKUP_NO_NUMBERS is given,
456c72eeddeSMartin Mares	pci_access->numeric_ids is ignored.
457c72eeddeSMartin Mares
458c72eeddeSMartin Mares	* lib/names.c (pci_lookup_name): When class is identified and
459c72eeddeSMartin Mares	subclass isn't, display class name and subclass number.
460c72eeddeSMartin Mares
4612f294d4bSMartin Mares2006-05-31  Martin Mares  <[email protected]>
4622f294d4bSMartin Mares
4632f294d4bSMartin Mares	* setpci.c (main): Don't crash when an invalid width is specified.
4642f294d4bSMartin Mares
46581afa98cSMartin Mares	* lspci.c, setpci.c, common.c: die() now uses the right program
46681afa98cSMartin Mares	name when printing an error message.
46781afa98cSMartin Mares
4680ac282f2SMartin Mares2006-05-19  Martin Mares  <[email protected]>
4690ac282f2SMartin Mares
4700ac282f2SMartin Mares	* README: Mention the public GIT tree.
4710ac282f2SMartin Mares
4720ac282f2SMartin Mares	* README: Updated the list of ports.
4730ac282f2SMartin Mares
474d1058e9dSMartin Mares2006-05-10  Martin Mares  <[email protected]>
475d1058e9dSMartin Mares
476d1058e9dSMartin Mares	* lib/configure, lib/fbsd-device.c: Added support for GNU/kFreeBSD.
477d1058e9dSMartin Mares	Thanks to Petr Salinger for the patch.
478d1058e9dSMartin Mares
479abf8d505SMartin Mares2006-05-05  Martin Mares  <[email protected]>
480abf8d505SMartin Mares
4812ae2d1aeSMartin Mares	* Released as 2.2.3.
4822ae2d1aeSMartin Mares
4832ae2d1aeSMartin Mares	* lspci.c (scan_device): The -D switch didn't work as intended
4842ae2d1aeSMartin Mares	in -m mode.
4852ae2d1aeSMartin Mares
4862ae2d1aeSMartin Mares2006-05-05  Martin Mares  <[email protected]>
4872ae2d1aeSMartin Mares
4881d5cf727SMartin Mares	* Released as 2.2.2.
4891d5cf727SMartin Mares
4908a830168SMartin Mares	* pci.ids: Updated to the current database snapshot.
4918a830168SMartin Mares
492b6359063SMartin Mares	* lib/obsd-device.c (and other files in lib/*): Added OpenBSD
493b6359063SMartin Mares	interface by Matthieu Herrb <[email protected]>, based on
494b6359063SMartin Mares	the existing FreeBSD interface.
495b6359063SMartin Mares
496abf8d505SMartin Mares	* Moved pciutils to a GIT repository, which now contains merged
497abf8d505SMartin Mares	history from both CVS and Arch. Good bye, TLA!
498abf8d505SMartin Mares
4996ac70402SMartin Mares2006-03-21  Martin Mares  <[email protected]>
5006ac70402SMartin Mares
5012a124daeSMartin Mares	* lspci.c (show_slot_name): Avoid the previous changes in default
5022a124daeSMartin Mares	display of domain name when in machine-readable mode. However, `-D'
5032a124daeSMartin Mares	forces domain display even there.
5042a124daeSMartin Mares
5056ac70402SMartin Mares	* lspci.man: Added a warning on -m being the only format, which is
5066ac70402SMartin Mares	guaranteed to be stable between lspci versions.
5076ac70402SMartin Mares
5081bbdea17SMartin Mares2006-03-13  Martin Mares  <[email protected]>
5091bbdea17SMartin Mares
510af61eb25SMartin Mares	* lspci.man: Documented the -D switch.
511af61eb25SMartin Mares
512af61eb25SMartin Mares	* lspci.c (show_slot_name, scan_device): If there are multiple PCI
513af61eb25SMartin Mares	domains or if the `-D' switch is used, show the domain number for
514af61eb25SMartin Mares	all devices.
515af61eb25SMartin Mares
5167a61b93cSMartin Mares	* lspci.c (show_verbose): Report cache line size in bytes.
5177a61b93cSMartin Mares
5181bbdea17SMartin Mares	* update-pciids.sh: Use curl if available. Patch by Matthew Wilcox.
5191bbdea17SMartin Mares
5200e78ef8aSMartin Mares2006-01-04  Martin Mares  <[email protected]>
5210e78ef8aSMartin Mares
5220e78ef8aSMartin Mares	* lspci.c (show_express_link): Fixed decoding of link status register.
5230e78ef8aSMartin Mares	Thanks to Roland Dreier for his report.
5240e78ef8aSMartin Mares
525e6859953SMartin Mares2005-12-12  Martin Mares  <[email protected]>
526e6859953SMartin Mares
527e6859953SMartin Mares	* lib/nbsd-libpci.c: If libpci is used by an ordinary user, allow
528e6859953SMartin Mares	at least read-only access. Patch by Pavel Celeda <[email protected]>.
529e6859953SMartin Mares
530e6859953SMartin Mares	* Makefile: Corrected library path on NetBSD.
531e6859953SMartin Mares
532a99c0d69SMartin Mares2005-11-26  Martin Mares  <[email protected]>
533a99c0d69SMartin Mares
534e4af70c6SMartin Mares	* Released as 2.2.1.
535e4af70c6SMartin Mares
536a99c0d69SMartin Mares	* lspci.c (show_machine): Subsystem vendors were printed incorrectly
537a99c0d69SMartin Mares	in machine-readable modes. Thanks to Pavel Celeda for a bug report.
538a99c0d69SMartin Mares
539f23fd3fcSMartin Mares2005-10-11  Martin Mares  <[email protected]>
540f23fd3fcSMartin Mares
541f23fd3fcSMartin Mares	* lspci.c (new_bus): Fixed a memory leak. Thanks to Paul Sangree for reporting it.
542f23fd3fcSMartin Mares
54315296723SMartin Mares2005-09-21  Martin Mares  <[email protected]>
54415296723SMartin Mares
54515296723SMartin Mares	* Released as 2.2.0.
54615296723SMartin Mares
54740b6d93fSMartin Mares	* pci.ids: Updated copyright header.
54840b6d93fSMartin Mares
54915296723SMartin Mares	* lib/sysfs.c (sysfs_get_resources): Removed warning about unsupported
55015296723SMartin Mares	64-bit addresses, they are now always supported.
55115296723SMartin Mares
55215296723SMartin Mares	* lspci.c (show_bases): Corrected printing of 64-bit addresses
55315296723SMartin Mares	in bus-centric mode.
55415296723SMartin Mares
55515296723SMartin Mares	* lib/configure: Enable 64-bit addresses on all Linux systems.
55615296723SMartin Mares
55715296723SMartin Mares	* lib/types.h: Don't pad 64-bit addresses to 16 xigits, only to 8 if they
55815296723SMartin Mares	are shorter.
55915296723SMartin Mares
560224707baSMartin Mares2005-09-11  Martin Mares  <[email protected]>
561224707baSMartin Mares
562224707baSMartin Mares	* Released as 2.1.99-test11.
563224707baSMartin Mares
564224707baSMartin Mares	* lspci.c: Removed unnecessary trailing zeros in pci_lookup_name() calls.
565224707baSMartin Mares
566aeaca5d3SMartin Mares2005-09-10  Martin Mares  <[email protected]>
567aeaca5d3SMartin Mares
568224707baSMartin Mares	* Released as 2.1.99-test10.
569224707baSMartin Mares
57063e6f2e0SMartin Mares	* pci.ids: Synchronized with the current database snapshot.
57163e6f2e0SMartin Mares
572043ebdeeSMartin Mares	* update-pciids.sh: Changed the default URL for downloading pci.ids
573043ebdeeSMartin Mares	to http://pciids.sourceforge.net/v2.2/pci.ids.
574043ebdeeSMartin Mares
575043ebdeeSMartin Mares	* lib/pci.h (PCI_LIB_VERSION): Added version identifier.
576043ebdeeSMartin Mares
577aeaca5d3SMartin Mares	* lib/names.c: Rewritten the name database module almost from scratch.
578aeaca5d3SMartin Mares	Everything is much cleaner and there are hopefully no more memory leaks;
579aeaca5d3SMartin Mares	pci_lookup_name() now uses varargs in a backward compatible fashion.
580aeaca5d3SMartin Mares	Introduced PCI_LOOKUP_NO_NUMBERS.
581aeaca5d3SMartin Mares
582aeaca5d3SMartin Mares	The new code supports subsystem entries not tied to a specific device.
583aeaca5d3SMartin Mares	I had to extend the format of pci.ids in order to support it, so I have
584aeaca5d3SMartin Mares	extended the idea of the "C" (class) blocks and introduced "S" blocks
585aeaca5d3SMartin Mares	for subsystems. To avoid doing more incompatible changes in the future,
586aeaca5d3SMartin Mares	the parser skips unknown single-letter blocks without reporting errors.
587aeaca5d3SMartin Mares
588121c76c9SMartin Mares2005-08-23  Martin Mares  <[email protected]>
589121c76c9SMartin Mares
59054e13765SMartin Mares	* Released as 2.1.99-test9.
59154e13765SMartin Mares
59254e13765SMartin Mares	* Makefile (OPT): Removed -fomit-frame-pointer, it's default in recent
59354e13765SMartin Mares	gcc versions when optimizing anyway.
59454e13765SMartin Mares
59554e13765SMartin Mares	* Made the path to pci.ids customizable and independent on the SHAREDIR.
59654e13765SMartin Mares	Just override IDSDIR in the top-level Makefile.
59754e13765SMartin Mares
59854e13765SMartin Mares	* pci.ids: Synchronized with the current database snapshot.
59954e13765SMartin Mares
60084d437d6SMartin Mares	* lspci.man, setpci.man: Improved the man pages. Documented all access
60184d437d6SMartin Mares	methods and which operations are privileged.
60284d437d6SMartin Mares
60384d437d6SMartin Mares	* lspci.c: Another rewrite of config register caching, now also including
60484d437d6SMartin Mares	lots of internal checks. It should be now perfectly able to cope with
60584d437d6SMartin Mares	portions of the configuration space being inaccessible, for example
60684d437d6SMartin Mares	due to insufficient access rights.
60784d437d6SMartin Mares
6083b8bf739SMartin Mares	* lspci.c (show_pcix_nobridge, show_pcix_bridge): Cleaned up dumping of PCI-X
6093b8bf739SMartin Mares	capabilities. Includes partial support for PCI-X 2.0 (probably incomplete
6103b8bf739SMartin Mares	as I haven't seen the spec).
6113b8bf739SMartin Mares
6123b8bf739SMartin Mares	* lspci.c: Quell warnings about unused parameters.
6133b8bf739SMartin Mares
61484d437d6SMartin Mares	* lspci.c: Removed C++ comments.
61584d437d6SMartin Mares
6163b8bf739SMartin Mares	* lib/header.h: Merged definitions of extended capabilities and some new
6173b8bf739SMartin Mares	PCI-X capability bits from linux-2.6.11/include/pci.h.
6183b8bf739SMartin Mares
6193b8bf739SMartin Mares	* lspci.c (show_caps): Try to scan extended capabilities only if the
6203b8bf739SMartin Mares	device has either PCI-X or PCI Express capability in its normal capability
6213b8bf739SMartin Mares	list.
6223b8bf739SMartin Mares
623f7821e53SMartin Mares	* lib/dump.c (dump_init): Reading of dumps works again. The dump reader
624f7821e53SMartin Mares	now also remembers how much data it has read and refuses attempts to
625f7821e53SMartin Mares	access more than that.
626ea4e5f5dSMartin Mares
62746ea554dSMartin Mares	* setpci.man, lspci.c, README: prefer spelling "buses" over "busses".
62846ea554dSMartin Mares
6298afaab22SMartin Mares	* lspci.c: If alloca() is not available, use xmalloc(), not malloc().
6308afaab22SMartin Mares
631121c76c9SMartin Mares	* lib/configure: Added x86_64 on Linux.
632121c76c9SMartin Mares
633c1c2c30eSMartin Mares2005-08-22  Martin Mares  <[email protected]>
634c1c2c30eSMartin Mares
635b9ca9147SMartin Mares	* lib/filter.c (pci_filter_parse_slot): Fixed parsing of domain filters.
636b9ca9147SMartin Mares	Thanks to Matthew Wilcox for bug report.
637b9ca9147SMartin Mares
638c1c2c30eSMartin Mares	* lspci.c: Corrected spelling of "Hz" (it was "hz" at several places).
639b9ca9147SMartin Mares	Thanks to Krzysztof Oledzki for pointing that out.
640c1c2c30eSMartin Mares
64126542a0bSMartin Mares2004-08-19  Martin Mares  <[email protected]>
64226542a0bSMartin Mares
64326542a0bSMartin Mares	* pciutils.spec (%attr): Setting attributes for /sbin/* is an anachronism,
64426542a0bSMartin Mares	because pciutils by default install to /usr/sbin. Update.
64526542a0bSMartin Mares
6466aa54f1bSMartin Mares2004-08-13  Martin Mares  <[email protected]>
6476aa54f1bSMartin Mares
648aabb0a92SMartin Mares	* Released as 2.1.99-test8.
649aabb0a92SMartin Mares
650f31412d1SMartin Mares	* lib/types.h, lib/pci.h, lib/sysdep.h: `byte' and `word' are
651f31412d1SMartin Mares	no longer exported to the outside world.
652f31412d1SMartin Mares
653ee7d8384SMartin Mares	* README.Windows: Updated.
654ee7d8384SMartin Mares
655ee7d8384SMartin Mares	* maint/release: Substitute version number in win32/config.h.
656ee7d8384SMartin Mares
657ee7d8384SMartin Mares	* win32/config.h: Added.
658ee7d8384SMartin Mares
659ee7d8384SMartin Mares	* lib/sysdep.h (bzero, strcasecmp): are macros on Windows.
660ee7d8384SMartin Mares
661ee7d8384SMartin Mares	* compat/getopt.[ch]: Added copies of getopt.[ch] from the GNU
662ee7d8384SMartin Mares	C library for use on systems where the default libraries lack
663ee7d8384SMartin Mares	proper getopt. Currently used by the Windows port.
664ee7d8384SMartin Mares
665ee7d8384SMartin Mares	* lib/sysdep.h, lib/types.h: Updates of the Windows port from
666ee7d8384SMartin Mares	Alexander Stock.
667ee7d8384SMartin Mares
668489233b4SMartin Mares	* lib/types.h: If PCI_HAVE_Uxx_TYPES is defined, libpci doesn't define
669489233b4SMartin Mares	its own u8, u16, u32, byte and word types and uses what the user
670489233b4SMartin Mares	has supplied instead. With this change, all namespace clashes should
671489233b4SMartin Mares	be gone.
672489233b4SMartin Mares
673489233b4SMartin Mares	* Makefile, lib/Makefile: Updated dependencies.
674489233b4SMartin Mares
675489233b4SMartin Mares	* pciutils.h: Include lib/sysdep.h and move NONRET et al. there.
676489233b4SMartin Mares
677489233b4SMartin Mares	* lib/sysdep.h: No need to include <sys/types.h> on FreeBSD, because
678489233b4SMartin Mares	it is included unconditionally in lib/types.h.
679489233b4SMartin Mares
680489233b4SMartin Mares	* Moved system-dependent stuff from lib/internal.h to lib/sysdep.h,
681489233b4SMartin Mares	which is also used by the utilities. Also moved type declarations
682489233b4SMartin Mares	from lib/pci.h to lib/types.h.
683489233b4SMartin Mares
684489233b4SMartin Mares	* All files: Prepend a "PCI_" prefix in front of all configuration
685489233b4SMartin Mares	defines to avoid namespace clashes. CAVEAT: If there is any libpci
686489233b4SMartin Mares	application using the (undocumented) defines, it has to be updated.
687489233b4SMartin Mares
688489233b4SMartin Mares	* lib/Makefile: Killed HAVE_OWN_HEADER_H, since we stopped sharing
689489233b4SMartin Mares	headers with the kernel a couple of years ago.
690489233b4SMartin Mares
6919bb4b4eaSMartin Mares	* lib/sysfs.c (sysfs_get_resources): We have 7 resources, not 6.
6929bb4b4eaSMartin Mares
6936aa54f1bSMartin Mares	* lspci.c (show_rom): Use the same logic for printing disabled
6946aa54f1bSMartin Mares	or unassigned ROM's as we do in show_bases() for the other BAR's.
6956aa54f1bSMartin Mares
6966aa54f1bSMartin Mares	* lib/generic.c (pci_generic_fill_info): Better reaction to
6976aa54f1bSMartin Mares	invalid 64-bit addresses. Also d->hdrtype should not include
6986aa54f1bSMartin Mares	bit 7, which caused mysterious errors on multi-function devices.
6996aa54f1bSMartin Mares
7006aa54f1bSMartin Mares	* lib/generic.c (pci_generic_fill_info): Fill in base addresses
7016aa54f1bSMartin Mares	even if the regions are known to be disabled. It is the client's
7026aa54f1bSMartin Mares	job to interpret them. (And it is not a trivial job if you want
7036aa54f1bSMartin Mares	to do it correctly, since you need to check I/O and memory enables
7046aa54f1bSMartin Mares	on all upstream bridges, too.) However, it could be interesting to
7056aa54f1bSMartin Mares	introduce functions for interpreting the addresses and even for
7066aa54f1bSMartin Mares	mapping the regions and doing I/O on them.
7076aa54f1bSMartin Mares
70880e6c636SMartin Mares2004-07-30  Martin Mares  <[email protected]>
70980e6c636SMartin Mares
71080e6c636SMartin Mares	* lspci.c: HyperTransport improvements from Maciej.
71180e6c636SMartin Mares
712d6324891SMartin Mares2004-07-11  Martin Mares  <[email protected]>
713d6324891SMartin Mares
714d6324891SMartin Mares	* lib/sysfs.c (sysfs_get_resources): Arguments now correspond
715d6324891SMartin Mares	to the format string. [Patch by Bill Nottingham]
716d6324891SMartin Mares
717ec25b52dSMartin Mares2004-07-05  Martin Mares  <[email protected]>
718ec25b52dSMartin Mares
719362be683SMartin Mares	* Released as 2.1.99-test7.
720362be683SMartin Mares
721ec25b52dSMartin Mares	* lspci.c (config_fetch): Wanted to merge Matthew's bug fix, but
722ec25b52dSMartin Mares	ended up with rewriting the fetching mechanism to be fully dynamic,
723ec25b52dSMartin Mares	but avoid reading config space registers not explicitly requested.
724ec25b52dSMartin Mares
725ec25b52dSMartin Mares2004-06-29  Matthew Wilcox <[email protected]>
726ec25b52dSMartin Mares
727ec25b52dSMartin Mares	* lspci.c: More work on PCI Express dumping.
728ec25b52dSMartin Mares
729ec25b52dSMartin Mares	* lib/header.h: Updated PCI Express capability definitions.
730ec25b52dSMartin Mares
731ec25b52dSMartin Mares	* lib/proc.c (proc_read): Removed bogus warning.
732ec25b52dSMartin Mares
733ec25b52dSMartin Mares	* common.c (xrealloc): Introduced.
734ec25b52dSMartin Mares
735ec25b52dSMartin Mares	* lspci.man: Added -xxxx.
736ec25b52dSMartin Mares
73709817437SMartin Mares2004-06-27  Martin Mares  <[email protected]>
73809817437SMartin Mares
739d1fa27ebSMartin Mares	* Released as 2.1.99-test6.
740d1fa27ebSMartin Mares
7414d67aa89SMartin Mares	* lspci.c (show_msix), lib/header.h: Added dumping of MSI-X cap.
7424d67aa89SMartin Mares	Patch by Roland Dreier <[email protected]>, cleaned up by me.
7434d67aa89SMartin Mares
7444d67aa89SMartin Mares	* lspci.c (show_pcix_nobridge, show_pcix_bridge): Handle config_fetch()
7454d67aa89SMartin Mares	failures.
7464d67aa89SMartin Mares
7474d67aa89SMartin Mares	* lib/header.h: Added PCI Express extended capabilities. Again by Matthew.
7484d67aa89SMartin Mares
7494d67aa89SMartin Mares	* lspci.c (show_express): Added dumping of PCI Express cap.
7504d67aa89SMartin Mares	Patch by Matthew Wilcox.
7514d67aa89SMartin Mares
7524d67aa89SMartin Mares	* lib/header.h: Added a list of PCI 3.0 capabilities and also details
7534d67aa89SMartin Mares	on PCI Express caps. Patch by Matthew Wilcox <[email protected]>.
7544d67aa89SMartin Mares
75509817437SMartin Mares	* lspci.c (check_root): Gone. No explicit checks for root are needed,
75609817437SMartin Mares	report correct errors reported by the libpci instead.
75709817437SMartin Mares
75809817437SMartin Mares	* lspci.c: Added dumping of the extended config space on "-xxxx".
75909817437SMartin Mares	Better caching of config registers.
76009817437SMartin Mares
76109817437SMartin Mares	* setpci.c (main): Allow access to whole 4096 bytes of the config space.
76209817437SMartin Mares
76309817437SMartin Mares	* lib/sysfs.c, lib/proc.c: Don't print error messages on short reads,
76409817437SMartin Mares	just return the appropriate error code.
76509817437SMartin Mares
76609817437SMartin Mares	* lib: Added support for extended (4096-byte) configuration space,
76709817437SMartin Mares	currently implemented only in Linux proc and sysfs access methods
76809817437SMartin Mares	and of course in the dump reader.
76909817437SMartin Mares
7700d656226SMartin Mares2004-05-29  Martin Mares  <[email protected]>
7710d656226SMartin Mares
772c0eece92SMartin Mares	* Released as 2.1.99-test5.
773c0eece92SMartin Mares
774a2413560SMartin Mares	* lib/pci.h: Windows don't have the standard u_int* types.
775a2413560SMartin Mares
776a2413560SMartin Mares	* lib/internal.h: <sys/param.h> required on Windows for endianity
777a2413560SMartin Mares	macros.
778a2413560SMartin Mares
779a2413560SMartin Mares	* lib/i386-ports.c: Connected i386-io-windows.h.
780a2413560SMartin Mares
781a2413560SMartin Mares	* lspci.c (check_root): geteuid() is not available on Windows.
782a2413560SMartin Mares
783a2413560SMartin Mares	* lib/i386-io-windows.h: Added Windows port contributed by Alexander
784a2413560SMartin Mares	Stock <[email protected]>.
785a2413560SMartin Mares
786a2413560SMartin Mares	* lib/configure: Hopefully fixed SunOS port broken by various
787a2413560SMartin Mares	changes to the configure script.
788a2413560SMartin Mares
7890d656226SMartin Mares	* Makefile, lib/configure: Cross-compilation support, patch by Maciej.
7900d656226SMartin Mares
791138c0385SMartin Mares2004-05-28  Martin Mares  <[email protected]>
792138c0385SMartin Mares
7939f490382SMartin Mares	* Released as 2.1.99-test4.
7949f490382SMartin Mares
795cce2caacSMartin Mares	* lspci.c (show_verbose): Header type 1 is probably legal for all
796cce2caacSMartin Mares	types of bridges, not only for PCI-to-PCI bridges.
797cce2caacSMartin Mares
798b569ef09SMartin Mares	* lspci.c (format_agp_rate): Write "x16", not "x@".
799b569ef09SMartin Mares	(show_agp): rate[] could overflow.
800b569ef09SMartin Mares	Bugs reported by Jakub Bogusz <[email protected]>.
801b569ef09SMartin Mares
802bfc4fe7aSMartin Mares	* lspci.c (show_ht_*): Show HyperTransport capability with all its
803bfc4fe7aSMartin Mares	details. Once again code by Maciej simplified (i.e., possibly broken)
804bfc4fe7aSMartin Mares	by me.
805bfc4fe7aSMartin Mares
806bfc4fe7aSMartin Mares	* lib/header.h: Added declarations of HyperTransport capability.
807bfc4fe7aSMartin Mares	Again thanks to Maciej.
808bfc4fe7aSMartin Mares
809138c0385SMartin Mares	* lspci.c: Decode all bits of the secondary status word in type 1 headers.
810138c0385SMartin Mares	Thanks to Maciej W. Rozycki <[email protected]> for the patch.
811138c0385SMartin Mares
8128fc75dbcSMartin Mares2003-12-27  Martin Mares  <[email protected]>
8138fc75dbcSMartin Mares
81481abd2a7SMartin Mares	* Released as 2.1.99-test3.
81581abd2a7SMartin Mares
8161f7c91ccSMartin Mares	* lspci.man, setpci.man: Document domains and correct spelling.
8171f7c91ccSMartin Mares
8181f7c91ccSMartin Mares	* lib/dump.c (dump_init): Added ability to read domain numbers.
8191f7c91ccSMartin Mares
82084c8d1bbSMartin Mares	* lspci.c: Devices in domains different from 0 have their slot number
8211f7c91ccSMartin Mares	printed as "<domain>:<bus>:<slot>.<func>". Tree view supports domains
8221f7c91ccSMartin Mares	as well.
82384c8d1bbSMartin Mares
82484c8d1bbSMartin Mares	* lib/filter.c: Slot filters understand domains.
82584c8d1bbSMartin Mares
82684c8d1bbSMartin Mares	* lib/generic.c: Mention the domain in slot numbers in all error messages.
82784c8d1bbSMartin Mares
82884c8d1bbSMartin Mares	* lib/internal.h: The #ifdef for Linux <asm/byteorder.h> was wrong.
82984c8d1bbSMartin Mares
83084c8d1bbSMartin Mares	* lib/access.c (pci_get_dev): Added support for domains.
83184c8d1bbSMartin Mares
83284c8d1bbSMartin Mares	* lib/sysfs.c (sysfs_scan): Read vendor and device ID from the config
83384c8d1bbSMartin Mares	registers (or to be precise, leave it for the generic parts of the pcilib
83484c8d1bbSMartin Mares	to do so) instead of reading them from the sysfs. It's faster this way.
83584c8d1bbSMartin Mares
83684c8d1bbSMartin Mares	* lspci.c (show_pcix): Don't touch pci_dev->hdrtype, it's an internal
83784c8d1bbSMartin Mares	variable. Better read it from the config registers (it's cached anyway).
83884c8d1bbSMartin Mares
83984c8d1bbSMartin Mares	* lib/sysfs.c (sysfs_scan), lib/proc.c (proc_scan): Don't read the hdrtype.
84084c8d1bbSMartin Mares	  lib/generic.c (pci_generic_fill_info): If hdrtype is -1 (unset), read it.
84184c8d1bbSMartin Mares	  Saves lots of unnecessary file accesses.
84284c8d1bbSMartin Mares
84311f7b31bSMartin Mares	* lib/pci.h (PCIADDR_PORT_FMT): Use %llx instead of %Lx, because the latter
84411f7b31bSMartin Mares	is not supported by all C libraries.
84511f7b31bSMartin Mares
84611f7b31bSMartin Mares	* Makefile: Always enter the lib directory (remember that we don't have
84711f7b31bSMartin Mares	full dependecies for the library in the top-level Makefile; hmmm, another
84811f7b31bSMartin Mares	thing to rewrite some day).
84911f7b31bSMartin Mares
85011f7b31bSMartin Mares	* lib/sysfs.c: Added Linux sysfs access method based on the patch
85111f7b31bSMartin Mares	written by Matthew Wilcox <[email protected]>.
85211f7b31bSMartin Mares
85311f7b31bSMartin Mares	* lib/proc.c: Renamed the access method name from "/proc/bus/pci" to "Linux-proc".
85411f7b31bSMartin Mares
85511f7b31bSMartin Mares	* lib/pread.h: The hacks to support pread on various versions
85611f7b31bSMartin Mares	of Linux libc moved there.
85711f7b31bSMartin Mares
85811f7b31bSMartin Mares	* lib/proc.c (proc_setup): The return value of snprintf() varies
85911f7b31bSMartin Mares	between glibc versions, so we need to check both for a negative
86011f7b31bSMartin Mares	values and for too large values.
86111f7b31bSMartin Mares
8624284af58SMartin Mares	* Removed last few references to the "Linux PCI Utilities", the
8634284af58SMartin Mares	package is pretty cross-platform now :)
8644284af58SMartin Mares
8654284af58SMartin Mares2003-12-27  Martin Mares  <[email protected]>
8664284af58SMartin Mares
867ab12277eSMartin Mares	* Released as 2.1.99-test2.
868ab12277eSMartin Mares
869ab12277eSMartin Mares	* README, pciutils.lsm, pciutils.spec: Use @VERSION@ to make the
870ab12277eSMartin Mares	release scripts insert the current version. "make release" is gone.
871ab12277eSMartin Mares
872ab12277eSMartin Mares	* maint/release, maint/release.pm: Added a new system of scripts for
873ab12277eSMartin Mares	making releases including inter-version diffs etc.
874ab12277eSMartin Mares
875ab12277eSMartin Mares	* Makefile: Cleaned up.
876ab12277eSMartin Mares
877ab12277eSMartin Mares	* lib/fbsd-device.c: I patched another copy of this file by mistake,
878ab12277eSMartin Mares	this time the version checks should be right.
879ab12277eSMartin Mares
880ab12277eSMartin Mares2003-12-27  Martin Mares  <[email protected]>
881ab12277eSMartin Mares
8826d722cd6SMartin Mares	* Released as 2.1.99-test1.
8836d722cd6SMartin Mares
884dd33246aSMartin Mares	* pciutils.h, common.c, lspci.man, setpci.man, lib/internal.h:
885dd33246aSMartin Mares	Remove shadows of the syscall access method which was never
886dd33246aSMartin Mares	implemented.
887dd33246aSMartin Mares
88880b3121aSMartin Mares	* update-pciids.sh: Try to preserve permissions of the old file
88980b3121aSMartin Mares	if chmod supports --reference. Should close Debian Bug #223740.
89080b3121aSMartin Mares
8916aea909aSMartin Mares	* lib/proc.c (proc_setup): Increased path name length limit to 1024.
8926aea909aSMartin Mares	Thanks for Redhat and Mandrake for inspiration.
8936aea909aSMartin Mares
8946aea909aSMartin Mares	* lib/configure: Recognize ppc and ppc64, both have 64-bit addresses.
8956aea909aSMartin Mares	Grabbed from Redhat (Fedora) patches.
8966aea909aSMartin Mares
8976aea909aSMartin Mares2003-12-27  Martin Mares  <[email protected]>
8986aea909aSMartin Mares
899f701ff47SMartin Mares	Merged bug fixes from Debian patches:
900f701ff47SMartin Mares
901f701ff47SMartin Mares	* lspci.c (show_verbose): "Cache Line Size" should be capitalized.
902f701ff47SMartin Mares
903f701ff47SMartin Mares	* lspci.c (show_pcix_nobridge): Added a missing newline.
904f701ff47SMartin Mares
9052240db8cSMartin Mares	* lib/proc.c (proc_scan): When reading the header type, don't
9062240db8cSMartin Mares	forget to clear the topmost bit indicating that the device has
907f701ff47SMartin Mares	multiple functions.
9082240db8cSMartin Mares
9092240db8cSMartin Mares2003-12-27  Martin Mares  <[email protected]>
9102240db8cSMartin Mares
91145902995SMartin Mares	Updated the FreeBSD port. Thanks to Samy Al Bahra <[email protected]>
91245902995SMartin Mares	for the patches:
91345902995SMartin Mares
91445902995SMartin Mares	* lib/Makefile: Add ${FREEBSD_SYS} to the include path if it's defined.
91545902995SMartin Mares	* lib/fbsd-device.c: Select the right set of system includes according
91645902995SMartin Mares	to __FreeBSD_version.
91745902995SMartin Mares
91845902995SMartin Mares2003-12-27  Martin Mares  <[email protected]>
91945902995SMartin Mares
9208fc75dbcSMartin Mares	Merged support for Solaris on i386 by Bill Moore <[email protected]>
9218fc75dbcSMartin Mares	and cleaned up:
9228fc75dbcSMartin Mares
9238fc75dbcSMartin Mares	* lib/configure: Recognize SunOS.
9248fc75dbcSMartin Mares	* lib/internal.h: Learn how to recognize byte order on SunOS.
9258fc75dbcSMartin Mares	* lib/i386-ports.c: Split OS-dependent I/O port access from i386-ports.c.
9268fc75dbcSMartin Mares	* lib/i386-io-linux.h: Linux specific part.
9278fc75dbcSMartin Mares	* lib/i386-io-hurd.h: GNU/Hurd specific part.
9288fc75dbcSMartin Mares	* lib/i386-io-sunos.h: SunOS specific part.
9298fc75dbcSMartin Mares
9309739916eSMartin Mares2003-12-26  Martin Mares  <[email protected]>
9319739916eSMartin Mares
9329739916eSMartin Mares	* lib/header.h (PCI_*_MASK): Cast to pciaddr_t explicitly.
9339739916eSMartin Mares
9349739916eSMartin Mares	* lib/pci.h: Types declared in <sys/types.h> should be usable on all
9359739916eSMartin Mares	platforms we currently support, so kill the forest of #ifdef's and
9369739916eSMartin Mares	use them in all cases.
9379739916eSMartin Mares
9389739916eSMartin Mares	* lib/pci.h: Use ULONG_MASK to decide whether we should use long
9399739916eSMartin Mares	or long long to represent a 64-bit address. Killed HAVE_LONG_ADDRESS.
9409739916eSMartin Mares	Define format strings for addresses, port numbers and IRQ numbers
9419739916eSMartin Mares	directly in pci.h.
9429739916eSMartin Mares
9439739916eSMartin Mares	* lib/proc.c (proc_scan): Use PCIADDR_T_FMT for scanf'ing addresses.
9449739916eSMartin Mares
94580459c65SMartin Mares2003-12-26  Marco Gerards  <[email protected]>
94680459c65SMartin Mares
94780459c65SMartin Mares	Added support for the GNU Hurd (cleaned up by Martin Mares):
94880459c65SMartin Mares
94980459c65SMartin Mares	* lib/configure [GNU]: Use the i386 ports for configuration access.
95080459c65SMartin Mares	* lib/i386-ports.c: Don't call iopl() on the Hurd.
95180459c65SMartin Mares	* lib/pci.h [OS_GNU]: Include <sys/types.h> and use it for defining
95280459c65SMartin Mares	u8 to u32.
95380459c65SMartin Mares
954a85769a8SMartin Mares2003-12-26  Martin Mares  <[email protected]>
955a85769a8SMartin Mares
9567dacd9c8SMartin Mares	* lspci.c (show_pcix_bridge, show_pcix_nobridge): Don't forget to call
9577dacd9c8SMartin Mares	config_fetch() to ensure that the registers have been read. Thanks to
9587dacd9c8SMartin Mares	Bill Wood <[email protected]> for the patch.
9597dacd9c8SMartin Mares
9607dacd9c8SMartin Mares	* lspci.c: Ensure that failure of config_fetch() is handled correctly
9617dacd9c8SMartin Mares	at all places.
9627dacd9c8SMartin Mares
9634063c31cSMartin Mares	* lspci.man: There was one more explicit reference to /usr/share/pci.ids.
9644063c31cSMartin Mares	Changed to @SHAREDIR@. Patch from Maciej W. Rozycki <[email protected]>.
9654063c31cSMartin Mares
9663fe8a38dSMartin Mares	* setpci.c (main): Better error messages.
9673fe8a38dSMartin Mares
9685f5b1a7bSMartin Mares	* setpci.c (ex_op): The demo mode should disable only writing, not reading.
9695f5b1a7bSMartin Mares
9705f5b1a7bSMartin Mares	* setpci.man: The documentation was inconsistent on what should -D do.
9715f5b1a7bSMartin Mares	Document the new behaviour.
972b251f40bSMartin Mares
97391e37a49SMartin Mares	* pciutils.h, common.c, setpci.c: Introduced a NONRET macro encapsulating
97491e37a49SMartin Mares	the GCC specific __attribute__((noreturn)) and killed the hack with
97591e37a49SMartin Mares	redefining __attribute__ on non-GCC compilers.
97691e37a49SMartin Mares
9774afd29d3SMartin Mares	* Makefile: Added missing dependencies. Parallel builds work now.
9784afd29d3SMartin Mares	Problem reported by Andreas Haumer <[email protected]>, but I chose
9794afd29d3SMartin Mares	a different fix.
9804afd29d3SMartin Mares
981b0f1a03bSMartin Mares	* Makefile (MANDIR): Use `:=' instead of `=' to avoid executing the shell
982b0f1a03bSMartin Mares	command every time $(MANDIR) is referenced.
983b0f1a03bSMartin Mares
984b7fd8e19SMartin Mares	* lspci.c (main): The error message for `lspci -s' incorrectly mentioned
985b7fd8e19SMartin Mares	a `-f' switch. Reported by Steve Finney <[email protected]>.
986b7fd8e19SMartin Mares
98705bb10a2SMartin Mares	* lib/generic.c: Removed memory leak in pci_generic_bus_scan().
98805bb10a2SMartin Mares	Reported by Gary Parnes <[email protected]>.
98905bb10a2SMartin Mares
990a832f6f1SMartin Mares	* Replaced obsolete syntax of __attribute__((unused)) in the middle of
991a832f6f1SMartin Mares	parameter declarations (which is no longer supported by GCC 3.1) by the
992a832f6f1SMartin Mares	current syntax (attribute at the end). Thanks to [email protected]
993a832f6f1SMartin Mares	for reporting this problem.
994a832f6f1SMartin Mares
995a85769a8SMartin Mares	* Removed CVS $Id$ tags from all files.
996a85769a8SMartin Mares
997a85769a8SMartin Mares	* Makefile: Added some more warnings.
998a85769a8SMartin Mares
999b7351143SMartin Mares	* setpci.c: Cleaned up mask/value code.
1000b7351143SMartin Mares
1001b7351143SMartin Mares2003-12-08 Thayne Harbaugh <[email protected]>
1002b7351143SMartin Mares
1003b7351143SMartin Mares	* setpci.c: Individual bits to be set can be specified as <value>:<mask>.
1004b7351143SMartin Mares
10052a5d5cf9SMartin Mares2003-11-29  Martin Mares  <[email protected]>
10062a5d5cf9SMartin Mares
10072a5d5cf9SMartin Mares	* Imported the pciutils sources to my Arch repository. Good-bye, CVS.
10082a5d5cf9SMartin Mares
1009d772ef15SMartin Mares2003-01-04  Martin Mares  <[email protected]>
1010d772ef15SMartin Mares
10111b95f396SMartin Mares	* Released as 2.1.11.
10121b95f396SMartin Mares
1013c83293ebSMartin Mares	* Makefile: Changed configuration of installation directories --
1014c83293ebSMartin Mares	all paths are now set at the top of the Makefile instead of being
1015c83293ebSMartin Mares	scattered between the installation rules. The default installation
1016c83293ebSMartin Mares	now goes always to /usr/local regardless of the OS as most distributions
1017c83293ebSMartin Mares	already contain some version of pciutils and we don't want custom
1018c83293ebSMartin Mares	installations to interfere with the default ones.
1019c83293ebSMartin Mares
1020c83293ebSMartin Mares	* Makefile: Removed a couple of ancient install hacks: we no longer
1021c83293ebSMartin Mares	try to avoid overwriting a newer pci.ids file (users are now expected
1022c83293ebSMartin Mares	to use update-ids) and we don't try to remove /etc/pci.ids (a long time
1023c83293ebSMartin Mares	has passed since the last version which used it).
1024c83293ebSMartin Mares
1025e2875dcdSMartin Mares	* Makefile: Paths to pci.ids in man pages automatically get the right path.
1026e2875dcdSMartin Mares
10271b95f396SMartin Mares	* Added the update-ids utility.
10280138a2a7SMartin Mares
1029d772ef15SMartin Mares	* lib: Removed partially implemented "syscall" access method which will
1030d772ef15SMartin Mares	probably never be needed.
1031d772ef15SMartin Mares
1032eb620239SMartin Mares2002-12-27  Martin Mares  <[email protected]>
1033eb620239SMartin Mares
1034130090bdSMartin Mares	* lib/nbsd-libpci.c: Cleaned up and hopefully made it endian safe.
1035130090bdSMartin Mares
1036eb620239SMartin Mares	* lib/generic.c (pci_generic_scan_bus): Added work-around for devices with
1037eb620239SMartin Mares	discontiguous numbering of functions. This is already present in the Linux
1038eb620239SMartin Mares	kernel for several years, but I forgot to update pciutils as well.
1039eb620239SMartin Mares
1040848b4347SMartin Mares2002-12-26  Martin Mares  <[email protected]>
1041848b4347SMartin Mares
1042579b19ffSMartin Mares	* lib/header.h, lspci.c: Dump AGP3 flags and speeds.
1043579b19ffSMartin Mares
1044579b19ffSMartin Mares	* lib/pci.h, Makefile: Removed HAVE_OWN_HEADER_H. Always use our own header,
1045579b19ffSMartin Mares	there is no reason to prefer the kernel version.
1046579b19ffSMartin Mares
1047579b19ffSMartin Mares	* lib/proc.c (proc_scan): Don't forget to initialize hdrtype.
1048579b19ffSMartin Mares
1049848b4347SMartin Mares	* Added preliminary version of NetBSD support by Quentin Garnier
1050848b4347SMartin Mares	<[email protected]>.
1051848b4347SMartin Mares
1052f0952474SMartin Mares2002-04-06  Martin Mares  <[email protected]>
1053f0952474SMartin Mares
1054f0952474SMartin Mares	* lspci.c: Mention "-xxx" in the help.
1055f0952474SMartin Mares
1056d2f666f1SMartin Mares2002-03-30  Martin Mares  <[email protected]>
1057d2f666f1SMartin Mares
10589bd44bb0SMartin Mares	* Released as 2.1.10.
10599bd44bb0SMartin Mares
1060a33d0eb7SMartin Mares	* Removed pci.ids from the CVS as they are now maintained separately.
1061a33d0eb7SMartin Mares	They are still included in the tarball, but if you are building	pciutils
1062a33d0eb7SMartin Mares	from CVS sources or you want to get a newer ID file than the one distributed,
1063a33d0eb7SMartin Mares	just use "make update-ids" to download the most recent snapshot from
1064a33d0eb7SMartin Mares	pciids.sf.net.
1065a33d0eb7SMartin Mares
1066a33d0eb7SMartin Mares	* Makefile, README: Updated accordingly.
1067a33d0eb7SMartin Mares
1068a33d0eb7SMartin Mares	* Makefile: Added a couple of maintenance targets.
1069a33d0eb7SMartin Mares
1070a33d0eb7SMartin Mares	* maint/*: Maintainer's utilities now reside here (present only in CVS,
1071a33d0eb7SMartin Mares	not in the tarball).
1072a33d0eb7SMartin Mares
1073d2f666f1SMartin Mares	* lib/names.c (parse_name_list): End-of-line comments are no longer
1074d2f666f1SMartin Mares	supported. Hashes are now perfectly valid in all names and they start
1075d2f666f1SMartin Mares	a comment only at the start of the line.
1076d2f666f1SMartin Mares
1077ee551b73SMartin Mares2002-03-26  Martin Mares  <[email protected]>
1078ee551b73SMartin Mares
107907159913SMartin Mares	* README: Rewritten.
108007159913SMartin Mares
1081ee551b73SMartin Mares	* Makefile: When the currently installed pci.ids file is newer than
1082ee551b73SMartin Mares	the version to be installed, don't overwrite it. Suggested by
1083ee551b73SMartin Mares	Jean Delvare <[email protected]>.
1084ee551b73SMartin Mares
1085bc7b1d62SMartin Mares2002-03-24  Martin Mares  <[email protected]>
1086bc7b1d62SMartin Mares
10875f5e6f64SMartin Mares	* lspci.c (show_pcix_bridge): Added PCI-X capability display.
10885f5e6f64SMartin Mares	Contributed by Jeff Garzik <[email protected]>.
10895f5e6f64SMartin Mares
10905f5e6f64SMartin Mares	* lib/header.h: Added PCI-X stuff. Again by Jeff.
10915f5e6f64SMartin Mares
10925f5e6f64SMartin Mares	* Makefile (CFLAGS): -Werror is gone.
10935f5e6f64SMartin Mares
1094a1052f16SMartin Mares	* lspci.c (format_agp_rate): Fixed AGP rate reporting.
1095a1052f16SMartin Mares
1096bc7b1d62SMartin Mares	* lib/filter.c (pci_filter_parse_slot): Allow bus 0xff, slot 0x1f and
1097bc7b1d62SMartin Mares	function 7.
1098bc7b1d62SMartin Mares
1099bc7b1d62SMartin Mares	* lib/names.c (pci_lookup_name): When printing unknown subsystem vendor
1100bc7b1d62SMartin Mares	or device hexadecimally, don't confuse it with chip vendor/device ID.
1101bc7b1d62SMartin Mares	First reported by Marc Boucher <[email protected]>.
1102bc7b1d62SMartin Mares
1103f793990cSMartin Mares2001-11-04  Martin Mares  <[email protected]>
1104f793990cSMartin Mares
1105ee551b73SMartin Mares	* Released as 2.1.9.
1106ee551b73SMartin Mares
1107f793990cSMartin Mares	* pci.ids: Synced with the PCI ID Repository at SourceForge
1108f793990cSMartin Mares	(http://pciids.sourceforge.net/).
1109f793990cSMartin Mares
11101d174e56SMartin Mares2000-08-25  Martin Mares  <[email protected]>
11111d174e56SMartin Mares
11121d174e56SMartin Mares	* pci.ids: Updated ID's, synced with kernel 2.4.0-test7.
11131d174e56SMartin Mares
111465b4327eSMartin Mares2000-06-13  Martin Mares  <[email protected]>
111565b4327eSMartin Mares
111665b4327eSMartin Mares	* Makefile (uninstall): Fixed.
111765b4327eSMartin Mares
111865b4327eSMartin Mares	* pci.ids: ID updates.
111965b4327eSMartin Mares
11204a219d5fSMartin Mares2000-05-20  Martin Mares  <[email protected]>
11214a219d5fSMartin Mares
11224a219d5fSMartin Mares	* Released as 2.1.8.
11234a219d5fSMartin Mares
11244a219d5fSMartin Mares	* pci.ids: ID updates.
11254a219d5fSMartin Mares
11264a219d5fSMartin Mares	* lspci.c (show_verbose): Min/max latency is now printed in nanoseconds.
11274a219d5fSMartin Mares
11284a219d5fSMartin Mares2000-05-04  Martin Mares  <[email protected]>
11294a219d5fSMartin Mares
11304a219d5fSMartin Mares	* lspci.c (show_verbose): If the header type doesn't match device
11314a219d5fSMartin Mares	class, just print a warning and still use the header type, assuming
11324a219d5fSMartin Mares	bogus class info.
11334a219d5fSMartin Mares
113410c90662SMartin Mares2000-05-01  Martin Mares  <[email protected]>
113510c90662SMartin Mares
113672b9b690SMartin Mares	* lspci.c (show_pm): Updated according to PCI PM specs 1.1.
113772b9b690SMartin Mares
113810c90662SMartin Mares	* pci.ids: Updated Contemporary Control ARCnet card entries.
113910c90662SMartin Mares
114010c90662SMartin Mares	* pci.ids: Synchronized class list with latest PCI SIG documents.
114110c90662SMartin Mares
1142a239ade6SMartin Mares2000-04-29  Martin Mares  <[email protected]>
1143a239ade6SMartin Mares
1144a239ade6SMartin Mares	* lib/names.c (pci_lookup_name): Fixed the cheat.
1145a239ade6SMartin Mares
1146a239ade6SMartin Mares	* lib/internal.h: Moved UNUSED/inline hacks above all other declarations.
1147a239ade6SMartin Mares
1148a239ade6SMartin Mares	* pci.ids: Various ID updates.
1149a239ade6SMartin Mares
11502c83b860SMartin Mares2000-04-21  Martin Mares  <[email protected]>
11512c83b860SMartin Mares
11522c83b860SMartin Mares	* Released as 2.1.7.
11532c83b860SMartin Mares
11542c83b860SMartin Mares	* pciutils.spec: Added German description.
11552c83b860SMartin Mares
11562c83b860SMartin Mares	* lib/names.c (pci_lookup_name): Added a cheat for case that subsystem ID's
11572c83b860SMartin Mares	are the same as device ID and just output subsystem name according to
11582c83b860SMartin Mares	device name.
11592c83b860SMartin Mares
11602c83b860SMartin Mares	* lib/proc.c: Use UNUSED instead of __attribute__((unused)).
11612c83b860SMartin Mares
11622c83b860SMartin Mares	* lib/pci.h: Added the correct typedefs for AIX.
11632c83b860SMartin Mares
11642c83b860SMartin Mares	* lib/generic.c (pci_generic_scan_bus): Export.
11652c83b860SMartin Mares
11662c83b860SMartin Mares	* lib/configure: Detect AIX. Use "echo '...\c'" instead of
11672c83b860SMartin Mares	"echo -n" if the shell isn't bash.
11682c83b860SMartin Mares
11692c83b860SMartin Mares	* lspci.c: Avoid using alloca() if not compiled by GCC.
11702c83b860SMartin Mares	(insert_dev): Avoid returning a void value.
11712c83b860SMartin Mares
11722c83b860SMartin Mares	* Makefile: Choose which install utility to use according to
11732c83b860SMartin Mares	OS type. Also use `-o' instead of `-or' in find arguments.
11742c83b860SMartin Mares	Part of the AIX port.
11752c83b860SMartin Mares
11762c83b860SMartin Mares	* lib/aix-device.c: Added AIX low-level interface. Contributed
11772c83b860SMartin Mares	by Dave Johnson <[email protected]>, thanks a lot!
11782c83b860SMartin Mares
11792c83b860SMartin Mares	* pci.ids: Few new ID's.
11802c83b860SMartin Mares
11812c83b860SMartin Mares	* pciutils.h, lib/internal.h: Redefine __attribute__ and inline
11822c83b860SMartin Mares	when not compiled by GCC.
11832c83b860SMartin Mares
1184c1a828daSMartin Mares2000-04-17  Martin Mares  <[email protected]>
1185c1a828daSMartin Mares
1186c1a828daSMartin Mares	* Released as 2.1.6.
1187c1a828daSMartin Mares
1188c1a828daSMartin Mares	* pci.ids: Added a large batch of ID's contributed by Gunther
1189c1a828daSMartin Mares	Mayer <[email protected]> and synced the
1190c1a828daSMartin Mares	list with the 2.3.99pre6 kernel.
1191c1a828daSMartin Mares
1192e91dd3abSMartin MaresThu Mar  9 13:11:39 2000  Martin Mares  <[email protected]>
1193e91dd3abSMartin Mares
1194a80b79a9SMartin Mares	* lib/example.c: Added a simple example of how to use
1195a80b79a9SMartin Mares	the library.
1196a80b79a9SMartin Mares
119789984232SMartin Mares	* lspci.man, setpci.man: Revealed --version. Well spotted
119889984232SMartin Mares	by Adam Sulmicki.
119989984232SMartin Mares
1200e91dd3abSMartin Mares	* pci.ids: Added lots of new ID's and synced with 2.3.50.
1201e91dd3abSMartin Mares
120278d9c5e2SMartin MaresTue Feb 15 00:16:21 2000  Martin Mares  <[email protected]>
120378d9c5e2SMartin Mares
120478d9c5e2SMartin Mares	* Released as 2.1.5.
120578d9c5e2SMartin Mares
120678d9c5e2SMartin Mares	* pciutils.spec: Updated spec file from Andreas Jaeger. Now using
120778d9c5e2SMartin Mares	%{_mandir} to find the right location to install manual pages to.
120878d9c5e2SMartin Mares
120978d9c5e2SMartin Mares	* pci.ids: New ID's.
121078d9c5e2SMartin Mares
121178d9c5e2SMartin Mares	* setpci.c (main): Don't crash when `-s' or `-d' is given with
121278d9c5e2SMartin Mares	no argument.
121378d9c5e2SMartin Mares
1214f8141ae2SMartin MaresMon Jan 24 20:04:11 2000  Andreas Jaeger  <[email protected]>
1215f8141ae2SMartin Mares
1216f8141ae2SMartin Mares	* lib/i386-ports.c: Include <asm/io.h> only on systems without
1217f8141ae2SMartin Mares	glibc.
1218f8141ae2SMartin Mares
1219f8141ae2SMartin MaresMon Jan 24 11:24:43 2000  Martin Mares  <[email protected]>
1220f8141ae2SMartin Mares
1221f8141ae2SMartin Mares	* Makefile: Modified to work with the Linux FHS brain-damaged idea
1222f8141ae2SMartin Mares	of putting man pages to /usr/share/man. Now we choose either /usr/man
1223f8141ae2SMartin Mares	or /usr/share/man depending on which one exists.
1224f8141ae2SMartin Mares
122559e76e8bSMartin MaresSun Jan 23 10:52:34 2000  Martin Mares  <[email protected]>
122659e76e8bSMartin Mares
122759e76e8bSMartin Mares	* pci.ids: Synced with Linux 2.3.40.
122859e76e8bSMartin Mares
122959e76e8bSMartin Mares	* Released as version 2.1.4.
123059e76e8bSMartin Mares
12312dfd48cdSMartin MaresThu Jan 20 11:08:32 2000  Martin Mares  <[email protected]>
12322dfd48cdSMartin Mares
12332715403fSMartin Mares	* lspci.c (scan_device): Fixed bug in reading of cardbus extensions.
12342715403fSMartin Mares
123581077814SMartin Mares	* lib/proc.c: pread/pwrite fixed again, this time on libc5 :(
123681077814SMartin Mares
123781077814SMartin Mares	* lspci.c (format_agp_rate): Better formatting of AGP rates.
123881077814SMartin Mares
123981077814SMartin Mares	* pci.ids: New ID's.
124081077814SMartin Mares
12412dfd48cdSMartin Mares	* lib/configure: Added configuration for ia64 (the same as for Alpha).
12422dfd48cdSMartin Mares	Patch from Stephane Eranian <[email protected]>.
12432dfd48cdSMartin Mares
12445a258860SMartin MaresThu Jan 13 23:01:52 2000  Martin Mares  <[email protected]>
12455a258860SMartin Mares
12465a258860SMartin Mares	* Released as version 2.1.3.
12475a258860SMartin Mares
12485a258860SMartin Mares	* pci.ids: New ID's.
12495a258860SMartin Mares
12505a258860SMartin Mares	* lspci.c: Alpha IO_FORMAT fix by Andrea Arcangeli.
12515a258860SMartin Mares
12525a258860SMartin Mares	* lib/access.c: Corrected order of access methods -- it's wonderful how
12535a258860SMartin Mares	long could such a bug remain unspotted. Thanks go to Andreas Schockenhoff.
12545a258860SMartin Mares
12550c047bbeSMartin MaresSat Dec 11 23:34:48 1999  Martin Mares  <[email protected]>
12560c047bbeSMartin Mares
12570c047bbeSMartin Mares	* Released as version 2.1.2.
12580c047bbeSMartin Mares
12590c047bbeSMartin Mares	* lib/names.c (pci_lookup_name): Fixed printing of unknown subsystem ID's.
12600c047bbeSMartin Mares
126133bc28a5SMartin MaresSat Dec  4 13:11:03 1999  Martin Mares  <[email protected]>
126233bc28a5SMartin Mares
126339231205SMartin Mares	* Released as version 2.1.1.
126439231205SMartin Mares
126533bc28a5SMartin Mares	* pci.ids: Several new ID's.
126633bc28a5SMartin Mares
126733bc28a5SMartin Mares	* setpci.c (exec_op): Don't forget to increment address after writing
126833bc28a5SMartin Mares	single value, so that `30.b=12,34,56,78' works as expected. Reported
126933bc28a5SMartin Mares	by Petr Soucek <[email protected]>.
127033bc28a5SMartin Mares
12718d047897SMartin MaresWed Nov  3 10:24:38 1999  Martin Mares  <[email protected]>
12728d047897SMartin Mares
12738d047897SMartin Mares	* lspci.c (show_terse): If prog-if is zero, but it's present in the
12748d047897SMartin Mares	ID list, show it.
12758d047897SMartin Mares
12766afc6538SMartin MaresSat Oct 30 11:06:35 1999  Martin Mares  <[email protected]>
12776afc6538SMartin Mares
12786afc6538SMartin Mares	* Released as version 2.1.
12796afc6538SMartin Mares
12806afc6538SMartin Mares	* pci.ids: Synced to devlist.h in 2.3.24 kernel. Merged in
12816afc6538SMartin Mares	lots of contributed entries.
12826afc6538SMartin Mares
12838f756113SMartin MaresThu Oct 14 10:40:12 1999  Dave Jones    <[email protected]>
12848f756113SMartin Mares
12858f756113SMartin Mares	* pci.ids: Added lots of subsystem definitions.
12868f756113SMartin Mares
1287d4798a32SMartin MaresSat Oct  9 14:32:28 1999  Martin Mares  <[email protected]>
1288d4798a32SMartin Mares
1289d4798a32SMartin Mares	* setpci.man: Better example.
1290d4798a32SMartin Mares
1291d4798a32SMartin Mares	* lspci.c: Resolve prog-if names.
1292d4798a32SMartin Mares
1293d4798a32SMartin Mares	* lib/names.c: Adapted to new pci.ids syntax.
1294d4798a32SMartin Mares
1295d4798a32SMartin Mares	* pci.ids: Reorganized the pci.ids file. Subsystems are listed
1296d4798a32SMartin Mares	under devices, classes can optionally contain prog-if information.
1297d4798a32SMartin Mares	New ID's, as usually.
1298d4798a32SMartin Mares
1299e306e911SMartin MaresWed Sep 22 09:45:24 1999  Martin Mares  <[email protected]>
1300e306e911SMartin Mares
1301e306e911SMartin Mares	* pci.ids: New ID's. As usually.
1302e306e911SMartin Mares
1303e306e911SMartin Mares	* lspci.c (show_htype1, show_htype2): Don't show `closed' bridge windows
1304e306e911SMartin Mares	unless we're vvvery verbose.
1305e306e911SMartin Mares
1306e306e911SMartin MaresMon Sep 20 11:22:54 1999  Martin Mares  <[email protected]>
1307e306e911SMartin Mares
1308e306e911SMartin Mares	* lspci.c (show_htype2): Don't forget a TAB before the "I/O window" line.
1309e306e911SMartin Mares
1310e64a576cSMartin MaresTue Sep 14 09:31:01 1999  Martin Mares  <[email protected]>
1311e64a576cSMartin Mares
1312e64a576cSMartin Mares	* pci.ids: New ID's. Again.
1313e64a576cSMartin Mares
1314c36c0862SMartin MaresThu Aug  5 17:45:42 1999  Martin Mares  <[email protected]>
1315c36c0862SMartin Mares
1316c36c0862SMartin Mares	* lspci.c (show_size): Don't show size if it's zero (usually
1317c36c0862SMartin Mares	due to bus-centric mode being enabled).
1318c36c0862SMartin Mares
13191ca42433SMartin MaresTue Jul 20 13:25:09 1999  Martin Mares  <[email protected]>
13201ca42433SMartin Mares
1321168b4f46SMartin Mares	* lib/pci.h: Types are OS dependent.
1322168b4f46SMartin Mares
1323168b4f46SMartin Mares	* lib/internal.h: Byte order hacks are OS dependent.
1324168b4f46SMartin Mares
1325168b4f46SMartin Mares	* lib/configure: Recognize FreeBSD. Also set OS_XXX according to the OS.
1326168b4f46SMartin Mares
1327168b4f46SMartin Mares	* lib/Makefile, lib/access.c: Added fbsd-device target.
1328168b4f46SMartin Mares
1329168b4f46SMartin Mares	* pci.ids: Added an entry for PLX 9080 bridges with subsystem ID
1330168b4f46SMartin Mares	incorrectly set to device ID.
1331168b4f46SMartin Mares
1332168b4f46SMartin Mares	* README: Added a note that we support FreeBSD.
1333168b4f46SMartin Mares
1334168b4f46SMartin Mares	* Makefile (PREFIX, ROOT): Set it depending on the OS.
1335168b4f46SMartin Mares	(%.8): Grrr, BSD date is not able to convert date formats the same way
1336168b4f46SMartin Mares	as GNU date does. Use sed instead.
1337168b4f46SMartin Mares	(install): Use `-c' when calling install.
1338168b4f46SMartin Mares
1339168b4f46SMartin Mares	* lib/fbsd-device.c: Added FreeBSD /dev/pci access module contributed
1340168b4f46SMartin Mares	by Jari Kirma <[email protected]>.
1341168b4f46SMartin Mares
1342bc6346dfSMartin Mares	* lib/proc.c: Rewrote the pread/pwrite things once again. Use pread
1343bc6346dfSMartin Mares	and pwrite only when we are certain it's safe (i.e., glibc 2.1
1344bc6346dfSMartin Mares	on all architectures or any libc on a i386 where we really know
1345bc6346dfSMartin Mares	how to use syscalls directly). In all other cases, emulate it
1346bc6346dfSMartin Mares	with lseek/read/write.
1347bc6346dfSMartin Mares
13481ca42433SMartin Mares	* pci.ids: Some more IDs.
13491ca42433SMartin Mares
13501ca42433SMartin MaresMon Jul 19 14:10:36 1999  Martin Mares  <[email protected]>
13511ca42433SMartin Mares
13521ca42433SMartin Mares	* pci.ids: Added IDs of parallel port controller cards as sent
13531ca42433SMartin Mares	by Tim Waugh <[email protected]>.
13541ca42433SMartin Mares
1355e95c8373SMartin MaresWed Jul  7 00:55:48 1999  Martin Mares  <[email protected]>
1356e95c8373SMartin Mares
1357e95c8373SMartin Mares	* lib/proc.c (proc_scan): HAVE_LONG_ADDRESS instead of HAVE_64BIT_ADDRESS.
1358e95c8373SMartin Mares
1359e95c8373SMartin Mares	* lspci.c: ADDR_FORMAT now depends on both HAVE_64BIT_ADDRESS and
1360e95c8373SMartin Mares	HAVE_LONG_ADDRESS.
1361e95c8373SMartin Mares
1362e95c8373SMartin Mares	* lib/configure: HAVE_64BIT_ADDRESS now doesn't imply that the addresses
1363e95c8373SMartin Mares	are represented as long long. Introduced a new flag HAVE_LONG_ADDRESS
1364e95c8373SMartin Mares	to indicate this. Both Sparc architectures now use both 64BIT_ADDRESS
1365e95c8373SMartin Mares	and LONG_ADDRESS since they have 32-bit userland, but don't set LONG_ADDRESS
1366e95c8373SMartin Mares	on Alpha.
1367e95c8373SMartin Mares
1368e95c8373SMartin Mares	* lspci.c (show_msi): Added dumping of the MSI capability.
1369e95c8373SMartin Mares	(show_slotid): The same for SlotID capability.
1370e95c8373SMartin Mares	(show_caps): Seperated capability dumping, because it should
1371e95c8373SMartin Mares	be used for both htype0 and htype1. Even PCI 2.2 doesn't mention
1372e95c8373SMartin Mares	layout of htype2, so I'm a bit unsure about it wrt capabilities
1373e95c8373SMartin Mares	-- they at least have to live somewhere else since address 0x34
1374e95c8373SMartin Mares	is already defined differently in htype2.
1375e95c8373SMartin Mares
1376e95c8373SMartin Mares	* lib/header.h (PCI_STATUS_UDF): Marked as obsolete (PCI 2.2).
1377e95c8373SMartin Mares	(PCI_BASE_ADDRESS_MEM_TYPE_1M): Ditto.
1378e95c8373SMartin Mares	(PCI_CAP_ID_*): Added some new capabilities defined in PCI 2.2.
1379e95c8373SMartin Mares
1380e95c8373SMartin Mares	* lspci.c (show_htype0): Mask out lowest 2 bits from all capability pointers
1381e95c8373SMartin Mares	(required by the PCI 2.2 specs).
1382e95c8373SMartin Mares
1383e95c8373SMartin MaresMon Jul  5 12:45:19 1999  Martin Mares  <[email protected]>
1384e95c8373SMartin Mares
1385e95c8373SMartin Mares	* lspci.c (show_size): Added new function for dumping of region sizes.
1386e95c8373SMartin Mares	(show_rom): Added. Now correctly dumps unassigned ROM addresses, disabled
1387e95c8373SMartin Mares	ROMs et cetera.
1388e95c8373SMartin Mares
1389e95c8373SMartin Mares	* lib/pci.h (struct pci_dev): known_fields moved to the public part
1390e95c8373SMartin Mares	of the structure.
1391e95c8373SMartin Mares
1392e95c8373SMartin Mares	* Added support for region sizes. Needs support in the kernel, because
1393e95c8373SMartin Mares	sizes have to be scanned before drivers initialize yourself. pci_fill_info()
1394e95c8373SMartin Mares	now returns a bitmask of what fields were really read.
1395e95c8373SMartin Mares
139682ce97c9SMartin MaresMon Jun 28 18:37:51 1999  Dave Jones    <[email protected]>
139782ce97c9SMartin Mares
139882ce97c9SMartin Mares	* Makefile:
139982ce97c9SMartin Mares	  Added `uninstall' target - removes all traces of pciutils.
140082ce97c9SMartin Mares	* pci.ids:
140182ce97c9SMartin Mares	  - Lots of cleanups in the ATI, S3, Adaptec vendors.
140282ce97c9SMartin Mares	  - Changed Compaq QVision 1280/p definitions, as it's not possible
140382ce97c9SMartin Mares	    to determine the revision from the device ID.
140482ce97c9SMartin Mares	  - Same for the Tseng ET4000.
140582ce97c9SMartin Mares	    The id's said I had a rev C, when it was actually a rev B.
140682ce97c9SMartin Mares	  - Removed some unnecessary strings
140782ce97c9SMartin Mares	    `PCI'. Unless it's an AGP card, it should be obvious that it's PCI.
140882ce97c9SMartin Mares	    `Ethernet card'. This should be determined from config space.
140982ce97c9SMartin Mares	  - Lots of other new vendors & devices
141082ce97c9SMartin Mares	  - Other additional small cleanups.
141182ce97c9SMartin Mares
14127bed2d83SMartin MaresMon Jun 21 22:11:10 1999  Martin Mares  <[email protected]>
14137bed2d83SMartin Mares
14147bed2d83SMartin Mares	* lib/names.c (pci_lookup_name): When device ID lookup
14157bed2d83SMartin Mares	fails, return hexadecimal device ID instead of vendor ID.
14167bed2d83SMartin Mares	Well spotted by Axel Bodemann <[email protected]>,
14177bed2d83SMartin Mares	I've just extended the fix to subsystem ID's.
14187bed2d83SMartin Mares
14195ba3a475SMartin MaresThu Jun 17 19:48:21 1999  Martin Mares  <[email protected]>
14205ba3a475SMartin Mares
14215ba3a475SMartin Mares	* lspci.c (show_agp): Bug fix from Petr Vandrovec
14225ba3a475SMartin Mares	<[email protected]>. The command register was displayed
14235ba3a475SMartin Mares	incorrectly.
14245ba3a475SMartin Mares
14255ba3a475SMartin MaresWed Jun  2 22:42:44 1999  Martin Mares  <[email protected]>
14265ba3a475SMartin Mares
14275ba3a475SMartin Mares	* lib/proc.c (SYS_pread, SYS_pwrite): Use hard-coded
14285ba3a475SMartin Mares	numbers if not supplied by the libc.
14295ba3a475SMartin Mares
143055c815b5SMartin MaresWed May 19 13:24:39 1999  Martin Mares  <[email protected]>
143155c815b5SMartin Mares
143255c815b5SMartin Mares	* Released the whole package as version 2.0.
143355c815b5SMartin Mares
143455c815b5SMartin MaresFri May 14 22:42:02 1999  Martin Mares  <[email protected]>
143555c815b5SMartin Mares
143655c815b5SMartin Mares	* pci.ids: Added several new ID's contributed by people
143755c815b5SMartin Mares	on the linux-pci list.
143855c815b5SMartin Mares
1439dec16943SMartin MaresMon Apr 19 15:21:08 1999  Jakub Jelinek  <[email protected]>
1440dec16943SMartin Mares
1441dec16943SMartin Mares	* lspci.c: Display I/O addresses correctly on sparc64.
1442dec16943SMartin Mares	* lib/header.h: Ditto.
1443dec16943SMartin Mares
1444dec16943SMartin Mares	* lib/configure: On sparc set HAVE_64BIT* as well, we want
1445dec16943SMartin Mares	a binary which works on both 32bit and 64bit SPARCs.
1446dec16943SMartin Mares
1447e33c9c7aSMartin MaresSun Apr 18 21:14:58 1999  Martin Mares  <[email protected]>
1448e33c9c7aSMartin Mares
1449e33c9c7aSMartin Mares	* lspci.c, lib/proc.c: Alpha compilation fixes from Matthew Jacob
1450e33c9c7aSMartin Mares	<[email protected]>.
1451e33c9c7aSMartin Mares
1452e33c9c7aSMartin Mares	* pci.ids: A lot of updates from Adam J. Richter <[email protected]>.
1453e33c9c7aSMartin Mares
1454f3395cc5SMartin MaresSun Feb 28 22:26:21 1999  Martin Mares  <[email protected]>
1455f3395cc5SMartin Mares
1456f3395cc5SMartin Mares	* lspci.c (do_map_bus): Don't dump functions 1--7 if not flagged
1457f3395cc5SMartin Mares	as a multi-function device, because several single-function devices
1458f3395cc5SMartin Mares	don't decode the function bits at all.
1459f3395cc5SMartin Mares
1460f3395cc5SMartin MaresSun Feb 14 23:48:22 1999  Martin Mares  <[email protected]>
1461f3395cc5SMartin Mares
1462f3395cc5SMartin Mares	* Makefile (install): Don't use "-o root -g root" for installation
1463f3395cc5SMartin Mares	since it breaks on machines where programs are not installed by root.
1464f3395cc5SMartin Mares	Reported by Richard Gooch <[email protected]>
1465f3395cc5SMartin Mares
1466f3395cc5SMartin MaresTue Feb  9 15:54:39 1999  Martin Mares  <[email protected]>
1467f3395cc5SMartin Mares
1468f3395cc5SMartin Mares	* lspci.c (show_bases): Use new address masking macros and pciaddr_t.
1469f3395cc5SMartin Mares
1470f3395cc5SMartin Mares	* lib/pci.h: Using pciaddr_t for bus addresses, which are 32-bit
1471f3395cc5SMartin Mares	or 64-bit depending on CPU.
1472f3395cc5SMartin Mares
1473f3395cc5SMartin Mares	* lib/pci.h (PCI_ADDR_MEM_MASK): Added macros for address masks
1474f3395cc5SMartin Mares	according to bus address width.
1475f3395cc5SMartin Mares
14761c31d620SMartin MaresThu Jan 28 20:54:16 1999  Martin Mares  <[email protected]>
14771c31d620SMartin Mares
14781c31d620SMartin Mares	* Released as 1.99.4.
14791c31d620SMartin Mares
14801c31d620SMartin Mares	* lspci.c: Capability list parser now recognizes both AGP
14811c31d620SMartin Mares	registers and PCI Power Management registers (the latter
14821c31d620SMartin Mares	is mainly guesswork based on DEC/Intel 21153 bridge specs
14831c31d620SMartin Mares	since I don't have the PCI Power Management document).
14841c31d620SMartin Mares
14851c31d620SMartin Mares	* lspci.c: Replaced numerous occurences of (x & flag) ? '+' : '-'
14861c31d620SMartin Mares	by FLAG macro.
14871c31d620SMartin Mares
14881c31d620SMartin Mares	* lspci.c: Added bridge checks to bus mapping code.
14891c31d620SMartin Mares
14901812a795SMartin MaresWed Jan 27 14:59:16 1999  Martin Mares  <[email protected]>
14911812a795SMartin Mares
14921812a795SMartin Mares	* lspci.c: Implemented bus mapping mode (-M).
14931812a795SMartin Mares
14941812a795SMartin Mares	* lspci.c (scan_devices): Split to scan_devices() and scan_device().
14951812a795SMartin Mares	(show): Split to show() and show_device().
14961812a795SMartin Mares
14971812a795SMartin Mares	* lib/access.c (pci_init): When a->method == PCI_ACCESS_AUTO,
14981812a795SMartin Mares	set it to the real access method afterwards.
14991812a795SMartin Mares
15001812a795SMartin MaresMon Jan 25 23:46:13 1999  Martin Mares  <[email protected]>
15011812a795SMartin Mares
15021812a795SMartin Mares	* lib/generic.c (pci_generic_fill_info): If in buscentric mode,
15031812a795SMartin Mares	don't check PCI_COMMAND for I/O and memory enables.
15041812a795SMartin Mares
1505f6c86928SMartin MaresMon Jan 25 21:28:49 1999  Martin Mares  <[email protected]>
1506f6c86928SMartin Mares
1507f6c86928SMartin Mares	* Makefile: Added target `release' which substitutes new version
1508f6c86928SMartin Mares	number to .spec, .lsm and README. Also rewrote target `dist'.
1509f6c86928SMartin Mares
1510f6c86928SMartin Mares	* Released as 1.99.3.
1511f6c86928SMartin Mares
1512b5137411SMartin MaresSun Jan 24 22:10:36 1999  Martin Mares  <[email protected]>
1513b5137411SMartin Mares
1514d6b297d0SMartin Mares	* lib/header.h: Until kernel adopts new layout of PCI
1515d6b297d0SMartin Mares	includes (i.e., separate declaration of header structure,
1516d6b297d0SMartin Mares	functions and device IDs), which is not going to happen
1517d6b297d0SMartin Mares	before 2.3, we'll use our own definiton of the header.
1518d6b297d0SMartin Mares
1519b5137411SMartin Mares	* lspci.c (show_verbose): Display `Cap' flag in device status.
1520b5137411SMartin Mares
1521b5137411SMartin Mares	* lspci.c (show_htype0): Display capability lists whereever
1522b5137411SMartin Mares	available. The only capability name we recognize now is `AGP'.
1523b5137411SMartin Mares	Unfortunately, capabilities are stored in device-dependent
1524b5137411SMartin Mares	portion of the configuration space and are thus available
1525b5137411SMartin Mares	only to root unless you read a dump.
1526b5137411SMartin Mares
1527b5137411SMartin Mares	* lspci.c (scan_devices): Use cache instead of buffering.
1528b5137411SMartin Mares
1529b5137411SMartin Mares	* lib/buffer.c: Removed (obsoleted by the cache).
1530b5137411SMartin Mares
1531b5137411SMartin Mares	* lib/access.c: Added general caching mechanism.
1532b5137411SMartin Mares
153381ce358dSMartin MaresSat Jan 23 21:30:54 1999  Martin Mares  <[email protected]>
153481ce358dSMartin Mares
153581ce358dSMartin Mares	* pci.ids: Added few devices.
153681ce358dSMartin Mares
1537727ce158SMartin MaresFri Jan 22 19:29:31 1999  Martin Mares  <[email protected]>
1538727ce158SMartin Mares
1539727ce158SMartin Mares	* Version string is now defined in top-level Makefile, exported
1540727ce158SMartin Mares	to the configure script and also substituted to man pages.
1541727ce158SMartin Mares
1542727ce158SMartin Mares	* lspci.c (show_bases): Rewrote displaying of 64-bit addresses.
1543727ce158SMartin Mares	(show_verbose): Rewrote interrupt display logic.
1544727ce158SMartin Mares
1545727ce158SMartin Mares	* lib/i386-ports.c: Include sys/io.h only on glibc systems.
1546727ce158SMartin Mares
1547727ce158SMartin Mares	* lib/configure: Rewrote detection of Linux versions. Now it
1548727ce158SMartin Mares	works on 2.0 kernels (only with direct/dump access, of course).
1549727ce158SMartin Mares
1550727ce158SMartin Mares	* lib/internal.h: New bytesex macros using <asm/byteorder.h>
1551727ce158SMartin Mares	whenever available.
1552727ce158SMartin Mares
1553727ce158SMartin Mares	* lib/proc.c (proc_read, proc_write): Distinguish between short
1554727ce158SMartin Mares	read/write and real errors.
1555727ce158SMartin Mares
1556727ce158SMartin Mares	* lspci.c (show_htype{0,1}): Always use d->dev->rom_base_addr since
1557727ce158SMartin Mares	libpci respects buscentric mode automatically.
1558727ce158SMartin Mares
1559727ce158SMartin Mares	* lspci.c (show_hex_dump): For CardBus bridges, print out 128
1560727ce158SMartin Mares	bytes of header (the whole standard part).
1561727ce158SMartin Mares
1562727ce158SMartin Mares	* common.c: pcilib options are now all uppercase. Also moved
1563727ce158SMartin Mares	PCI access debugging option here.
1564727ce158SMartin Mares
1565727ce158SMartin Mares	* Released as 1.99.2.
1566727ce158SMartin Mares
1567727ce158SMartin MaresWed Jan 20 22:50:35 1999  Martin Mares  <[email protected]>
1568727ce158SMartin Mares
1569727ce158SMartin Mares	* Wrote configure script and rewrote Makefiles.
1570727ce158SMartin Mares
1571727ce158SMartin Mares	* Removed few unused variables.
1572727ce158SMartin Mares
1573727ce158SMartin MaresWed Jan 20 12:21:56 1999  Martin Mares  <[email protected]>
1574727ce158SMartin Mares
1575727ce158SMartin Mares	* common.c: Moved several functions used in both setpci and lspci
1576727ce158SMartin Mares	here. This includes parsing of libpci-related options.
1577727ce158SMartin Mares
1578727ce158SMartin Mares	* More library tweaks.
1579727ce158SMartin Mares
1580727ce158SMartin Mares	* filter.c, names.c: Moved to library.
1581727ce158SMartin Mares
1582727ce158SMartin Mares	* setpci: Rewritten to use the library.
1583727ce158SMartin Mares
1584727ce158SMartin Mares	* Released as 1.99.1.
1585727ce158SMartin Mares
1586727ce158SMartin MaresTue Jan 19 23:00:12 1999  Martin Mares  <[email protected]>
1587727ce158SMartin Mares
1588727ce158SMartin Mares	* lspci.c (scan_devices): For cardbus bridges, read first 128
1589727ce158SMartin Mares	bytes of config space to get full standard header.
1590727ce158SMartin Mares
1591727ce158SMartin Mares	* Makefile (CFLAGS): Removed "-Wno-unused".
1592727ce158SMartin Mares
1593727ce158SMartin Mares	* Started the "New Generation" branch and introduced the
1594727ce158SMartin Mares	PCI library.
1595727ce158SMartin Mares
1596727ce158SMartin Mares	* lspci: Rewritten to use the library.
1597727ce158SMartin Mares
15986ece6bc6SMartin MaresTue Jan 19 22:24:08 1999  Martin Mares  <[email protected]>
15996ece6bc6SMartin Mares
16006ece6bc6SMartin Mares	* Released as version 1.10.
16016ece6bc6SMartin Mares
16026ece6bc6SMartin MaresMon Jan 18 08:51:17 1999  Martin Mares  <[email protected]>
16036ece6bc6SMartin Mares
16046ece6bc6SMartin Mares	* lspci.8, setpci.8: Miscellaneous fixes as suggested by
16056ece6bc6SMartin Mares	Dag Wieers <[email protected]>.
16066ece6bc6SMartin Mares
16071212dd6dSMartin MaresSun Nov 29 20:05:56 1998  Martin Mares  <[email protected]>
16081212dd6dSMartin Mares
16091212dd6dSMartin Mares	* pciutils.spec (Name): Update from Krzysztof G. Baranowski.
16101212dd6dSMartin Mares
1611d38471fdSMartin MaresSun Nov 22 10:49:56 1998  Martin Mares  <[email protected]>
1612d38471fdSMartin Mares
1613d38471fdSMartin Mares	* Makefile, pciutils.h: Moved pci.ids to /usr/share.
1614d38471fdSMartin Mares
1615d38471fdSMartin Mares	* Released as version 1.09.
1616d38471fdSMartin Mares
1617371f605bSMartin MaresWed Nov 18 15:47:05 1998  Martin Mares  <[email protected]>
1618371f605bSMartin Mares
1619371f605bSMartin Mares	* lspci.c (show_htype1): Fixed displaying of prefetchable memory behind
1620371f605bSMartin Mares	bridge. Thanks to Petr Vandrovec <[email protected]> for bug report.
1621371f605bSMartin Mares
162210be47abSMartin MaresFri Oct 23 18:59:19 1998  Martin Mares  <[email protected]>
162310be47abSMartin Mares
162410be47abSMartin Mares	* setpci.c: Don't include <syscall-list.h> with glibc >= 2.1.
162510be47abSMartin Mares
1626472bd340SMartin MaresMon Oct 19 21:53:30 1998  Martin Mares  <[email protected]>
1627472bd340SMartin Mares
1628472bd340SMartin Mares	* Released as version 1.08.
1629472bd340SMartin Mares
1630472bd340SMartin Mares	* setpci.c: glibc 2.1.x already defines pread() and pwrite().
1631472bd340SMartin Mares
1632472bd340SMartin Mares	* lspci.8: Changed warning about lspci -xxx.
1633472bd340SMartin Mares
1634472bd340SMartin Mares	* lspci.c: Require "-xxx" for full configuration space dump, so that
1635472bd340SMartin Mares	it's impossible to crash the machine by single typo.
1636472bd340SMartin Mares
1637472bd340SMartin Mares	* specs: Added (courtesy of Krzysztof G. Baranowski <[email protected]>).
1638472bd340SMartin Mares
1639072c77e5SMartin MaresWed Sep  9 12:03:24 1998  Martin Mares  <[email protected]>
1640072c77e5SMartin Mares
1641072c77e5SMartin Mares	* lspci.c (show_bases): Better displaying of unassigned and
1642072c77e5SMartin Mares	disabled bases. Thanks to Gabriel Paubert <[email protected]>
1643072c77e5SMartin Mares	for an idea.
1644072c77e5SMartin Mares
1645b7554856SMartin MaresWed Sep  2 10:58:01 1998  Martin Mares  <[email protected]>
1646b7554856SMartin Mares
1647b7554856SMartin Mares	* setpci.c (pread): Recognize glibc 1.99 numbered as 2.0 on the PPC.
1648b7554856SMartin Mares	(thanks to Geert Uytterhoeven for finding this out)
1649b7554856SMartin Mares
1650ce503b7fSMartin MaresFri Jul 17 10:43:30 1998  Martin Mares  <[email protected]>
1651ce503b7fSMartin Mares
1652ce503b7fSMartin Mares	* lspci.c (show_verbose): Print subsystem ID using the new resolver.
1653ce503b7fSMartin Mares	(show_machine): Print subsystem ID.
1654ce503b7fSMartin Mares
1655ce503b7fSMartin Mares	* names.c: New name resolution engine supporting subsystem IDs.
1656ce503b7fSMartin Mares
1657ce503b7fSMartin Mares	* Released as version 1.07.
1658ce503b7fSMartin Mares
165996e4f295SMartin MaresWed Jul 15 15:37:21 1998  Martin Mares  <[email protected]>
166096e4f295SMartin Mares
166196e4f295SMartin Mares	* lspci.c (show_htype2 etc.): Displaying of CardBus headers.
166296e4f295SMartin Mares	(show_bases): Honor the `cnt' argument.
166396e4f295SMartin Mares	(grow_tree): Parse CardBus headers in tree mode as well.
166496e4f295SMartin Mares
166596e4f295SMartin Mares	* pci.h: Updated CardBus header field description. I still don't
166696e4f295SMartin Mares	have the CardBus standard available, but OZ6832 specs contain
166796e4f295SMartin Mares	full description of all header fields supported by the chip.
166896e4f295SMartin Mares
16696ae3650aSMartin MaresTue Jun  9 22:53:59 1998  Martin Mares  <[email protected]>
16706ae3650aSMartin Mares
1671304f9a0bSMartin Mares	* Released as 1.06.
1672304f9a0bSMartin Mares
16736ae3650aSMartin Mares	* names.c (parse_name_list): Killed an unused variable.
16746ae3650aSMartin Mares
16756ae3650aSMartin Mares	* setpci.c (pread, pwrite): Define SYS_(pread|pwrite) as __NR_\1
16766ae3650aSMartin Mares	if they are not defined by glibc (needed for glibc built on older
16776ae3650aSMartin Mares	kernels). Ugly.
16786ae3650aSMartin Mares
16796ae3650aSMartin Mares	* setpci.c (exec_op): Fixed error messages. Thanks, Steve!
16806ae3650aSMartin Mares
16814b88a6b8SMartin MaresMon Jun  8 10:59:22 1998  Martin Mares  <[email protected]>
16824b88a6b8SMartin Mares
16834b88a6b8SMartin Mares	* Released as 1.05.
16844b88a6b8SMartin Mares
16854b88a6b8SMartin Mares	* setpci.c: Problems with pread()/pwrite() with glibc on Alpha
16864b88a6b8SMartin Mares	should be gone. Again thanks to Steve for bug report.
16874b88a6b8SMartin Mares
16884b88a6b8SMartin Mares	* filter.c (filter_parse_slot): Fixed ":x" type filters.
16894b88a6b8SMartin Mares
16904b88a6b8SMartin Mares	* pci.ids: Killed duplicate entry. Thanks to Stephen Williams
16914b88a6b8SMartin Mares	<[email protected]> for reporting this.
16924b88a6b8SMartin Mares
16934b88a6b8SMartin MaresSun Jun  7 19:27:51 1998  Martin Mares  <[email protected]>
16944b88a6b8SMartin Mares
16954b88a6b8SMartin Mares	* lspci.c (main), setpci.c (main): Implemented "--version".
16964b88a6b8SMartin Mares
16974b88a6b8SMartin Mares	* Released as 1.04.
16984b88a6b8SMartin Mares
16994b88a6b8SMartin Mares	* pciutils.h (PCIUTILS_VERSION): Added version string.
17004b88a6b8SMartin Mares
17014b88a6b8SMartin Mares	* filter.c, names.c: Extraneous #include <linux/pci.h> removed.
17024b88a6b8SMartin Mares	Thanks to Geert Uytterhoeven <[email protected]>
17034b88a6b8SMartin Mares	for bug report.
17044b88a6b8SMartin Mares
17059b306998SMartin MaresThu May 28 14:45:58 1998  Martin Mares  <[email protected]>
17069b306998SMartin Mares
17079b306998SMartin Mares	* pci.ids: More updates from Jens Maurer.
17089b306998SMartin Mares
1709b372672fSMartin MaresWed Apr 22 10:00:39 1998  Martin Mares  <[email protected]>
1710b372672fSMartin Mares
1711b372672fSMartin Mares	* pci.ids: Updates from Jens Maurer.
1712b372672fSMartin Mares
1713b2c9b373SMartin MaresSun Apr 19 11:14:25 1998  Martin Mares  <[email protected]>
1714b2c9b373SMartin Mares
1715b372672fSMartin Mares	* Released as 1.03.
1716b372672fSMartin Mares
1717b2c9b373SMartin Mares	* setpci.8: Written.
1718b2c9b373SMartin Mares
1719b2c9b373SMartin Mares	* setpci.c: Finished.
1720b2c9b373SMartin Mares
1721b2c9b373SMartin Mares	* lspci.c: Now able to fetch expansion ROM base from kernel device list
1722b2c9b373SMartin Mares	and print it if not in buscentric mode.
1723b2c9b373SMartin Mares
1724e4842ff3SMartin MaresTue Mar 31 23:11:57 1998  Martin Mares  <[email protected]>
1725e4842ff3SMartin Mares
1726e4842ff3SMartin Mares	* setpci.c: Added.
1727e4842ff3SMartin Mares
1728e4842ff3SMartin MaresSun Mar 22 15:39:08 1998  Martin Mares  <[email protected]>
1729e4842ff3SMartin Mares
1730e4842ff3SMartin Mares	* lspci.8: Updated the documentation.
1731e4842ff3SMartin Mares
1732e4842ff3SMartin Mares	* lspci.c: Modified to use the new filtering mechanism (options -f and -d).
1733e4842ff3SMartin Mares
1734e4842ff3SMartin Mares	* filter.c: Introduced new generic device filter.
1735e4842ff3SMartin Mares
1736008407bdSMartin MaresThu Mar 19 17:03:48 1998  Martin Mares  <[email protected]>
1737008407bdSMartin Mares
1738008407bdSMartin Mares	* lspci.c (grow_tree, show_tree_dev, print_it): Fixed displaying
1739008407bdSMartin Mares	of PCI-to-PCI bridges in the tree format.
1740008407bdSMartin Mares
17410a33d0ecSMartin MaresSun Feb 15 10:12:25 1998  Martin Mares  <[email protected]>
17420a33d0ecSMartin Mares
17430a33d0ecSMartin Mares	* lspci.c (show_machine): Added non-verbose mode of machine-readable
17440a33d0ecSMartin Mares	dump.
17450a33d0ecSMartin Mares
17460a33d0ecSMartin Mares	* pci.ids: Updates from Jens Maurer.
17470a33d0ecSMartin Mares
17480a33d0ecSMartin Mares	* Released as version 1.02.
17490a33d0ecSMartin Mares
17500a33d0ecSMartin MaresThu Feb 12 16:53:28 1998  Martin Mares  <[email protected]>
17510a33d0ecSMartin Mares
17520a33d0ecSMartin Mares	* lspci.c: Added a "-m" switch for dumping machine-readable
17530a33d0ecSMartin Mares	configuration data (requested by Bjoern Kriews <[email protected]>).
17540a33d0ecSMartin Mares
1755fb38eee8SMartin MaresMon Feb  9 13:17:43 1998  Martin Mares  <[email protected]>
1756fb38eee8SMartin Mares
1757fb38eee8SMartin Mares	* Makefile, pciutils.h: Include local pci.h instead of <linux/pci.h>
1758fb38eee8SMartin Mares	if available. This should avoid all problems with official kernel
1759fb38eee8SMartin Mares	not synchronized to newer PCI code in CVS -- standard distribution
1760fb38eee8SMartin Mares	of pciutils now contains pci.h from current CVS kernel, pciutils
1761fb38eee8SMartin Mares	in CVS contain no pci.h and use the correct kernel include.
1762fb38eee8SMartin Mares
1763fb38eee8SMartin Mares	* Makefile: Fixed installation path for man pages.
1764fb38eee8SMartin Mares
17652f48f637SMartin MaresSat Feb  7 15:15:46 1998  Martin Mares  <[email protected]>
17662f48f637SMartin Mares
17672f48f637SMartin Mares	* README: Updated.
17682f48f637SMartin Mares
17692f48f637SMartin Mares	* lspci.8: Created a man page.
17702f48f637SMartin Mares
17712f48f637SMartin Mares	* Releasing as version 1.0.
17722f48f637SMartin Mares
17732f48f637SMartin MaresTue Feb  3 20:56:00 1998  Martin Mares  <[email protected]>
17742f48f637SMartin Mares
17752f48f637SMartin Mares	* Makefile: Recognize architecture by calling uname and pass it as ARCH_xxx
17762f48f637SMartin Mares	to all the C sources. This should eliminate problems with 32-bit compilers
17772f48f637SMartin Mares	on sparc64.
17782f48f637SMartin Mares
17792f48f637SMartin Mares	* lspci.c (show_verbose): Recognize CardBus bridge header type.
17802f48f637SMartin Mares	(show_htype2): Stub routine.
17812f48f637SMartin Mares	(scan_config): Write sensible error message if the kernel denies reading of
17822f48f637SMartin Mares	upper part of the PCI config space.
1783