| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
2022-04-18 Martin Mares <mj@ucw.cz>
* Released as 3.8.0.
* Filters can now match devices based on partially specified
class code and also on the programming interface.
* Reporting of link speeds, power limits, and virtual function tags
has been updated to the current PCIe specification.
* We decode the Data Object Exchange capability.
* Bus mapping mode works in non-zero domains.
* pci_fill_info() can fetch more fields: bridge bases, programming
interface, revision, subsystem vendor and device ID, OS driver,
and also parent bridge. Internally, the implementation was rewritten,
significantly reducing the number of corner cases to be handled.
* The Windows port was revived and greatly improved by Pali Rohár.
It requires less magic to compile. More importantly, it runs on both
old and recent Windows systems (see README.Windows for details).
* Added a new Windows back-end using the cfgmgr32 interface.
It does not provide direct access to the configuration space,
but basic information about the device is reported via pci_fill_info().
For back-ends of this type, we now provide an emulated read-only
config space.
* If the configuration space is not readable for some reason
(e.g., the cfgmgr32 back-end, but also badly implemented sleep mode
of some devices), lspci prints only information provided by the OS.
* The Hurd back-end was greatly improved thanks to Joan Lledó.
* Various minor bug fixes and improvements.
* We officially require a working C99 compiler. Sorry, MSVC.
* As usually, updated pci.ids to the current snapshot of the database.
|
|
lspci still says:
> lspci: Cannot find any working access method.
But at least it won't hold up the 28 packages that depend on this.
|
|
bump pkgrevision, hopefully doesn't break too many things...
|
|
2020-05-31 Martin Mares <mj@ucw.cz>
* Released as 3.7.0.
* Added or improved the following capabilities: Designated
Vendor-Specific, Compute eXpress Link, Resizable BARs,
VF Resizable BARs, Link Capabilities 2, Link Status 2.
* On Linux, lspci can show IOMMU groups.
* setpci can be asked to skip bus scan and operate on a device
completely specified by its domain/bus/dev/func address. This
involved major internal cleanup.
* The above feature of setpci uses the pci_get_dev() function,
which obtains a struct pci_dev without doing a bus scan. This was
always possible, but apparently little used, because back-ends
frequently choked when operating on such devices. Fixed a lot
of minor bugs related to this.
* Also, back-ends which do not support domains now correctly fail when
trying to access devices outside domain 0.
* Semantics of pci_fill_info() and pci_dev->known_fields was
underspecified, which lead to inconsistencies between back-ends.
Improved documentation to give a more precise definition and updated
all back-ends to conform to it. Most importantly,
pci_dev->known_fields shows all fields requested over the lifetime
of the pci_dev, but never those which are not supported by the
back-end.
* As usually, updated pci.ids to the current snapshot of the database.
|
|
2020-01-25 Martin Mares <mj@ucw.cz>
* Released as 3.6.4.
* A new back-end for the GNU Hurd was contributed by Joan Lledó.
* When printing VPD item identifiers, non-ASCII characters are escaped.
|
|
2020-01-22 Martin Mares <mj@ucw.cz>
* Released as 3.6.3.
* `lspci -t' (tree mode) can be combined with `-s' to show a sub-tree.
We also fixed potential buffer overflows in the tree dumper.
* Cleaned messy code for dumping of I/O, memory, and ROM regions.
This helped fixing a bug, which caused some 64-bit regions to be
reported as virtual. All flags are now printed after the address
(previously, "[virtual]" and "[enhanced]" were before it for no good
reason).
* Added pci_find_cap_nr() to the library, which handles capabilities
which occur multiple times in a single device.
* Minor improvements in printing of PCIe capabilities.
* We now decode the Multicast and Secondary PCI Express extended
capabilities.
* The list of capability names available to setpci was updated.
* Minor bugs were fixed in FreeBSD and Solaris ports.
* We now prefer HTTPS URLs in all documentation
* The pci.ids file has a man page.
* As usually, updated pci.ids to the current snapshot of the database.
|
|
|
|
2018-08-12 Martin Mares <mj@ucw.cz>
* Released as 3.6.2.
* Added "-P" and "-PP" switches to lspci, which display the path
through bridges to each device.
* Fixed a couple of bugs in computation of bus topology. It was
previously used only for the tree display, but we re-use it for
computing the paths.
* As usually, updated pci.ids to the current snapshot of the database.
|
|
2018-07-12 Martin Mares <mj@ucw.cz>
* Released as 3.6.1.
* Fixed compilation issues on Linux systems with MUSL libc.
|
|
2018-06-30 Martin Mares <mj@ucw.cz>
* Released as 3.6.0.
* BARs reported by the OS, but not set on the device itself are
reliably marked with "[virtual]".
* Library: Introduced a generic mechanism of string properties. This
avoids lots of special cases and makes ABI compatibility easier.
* On Linux systems with OpenFirmware, report corresponding device tree
nodes as device properties.
* VPD decoder knows several non-standard extensions.
* When PCIe link speed is less than the maximum supported by the
device, it is explicitly marked as "downgraded".
* Several new capabilities are not decoded yet, but at least their
names are printed.
* The Null capability is easily decoded.
* Formatting of several capabilities was cleaned up.
* The VGA16 bit in the bridge control register is now supported.
* Added a port to SylixOS. Thanks to YuJian Gong for contribution.
* Added a port to DOS/DJGPP. Thanks to Rudolf Marek for contribution.
* The order in which back-ends are probed was decoupled from the
internal back-end IDs. This helps, because new back-ends must have
their ID allocated at the end to keep the ABI, but they might need
to be proved earlier.
* The fbsd-device back-end should work again.
* Fixed a couple of bugs. Most notably, DeviceName was not printed.
* As usually, updated pci.ids to the current snapshot of the database.
|
|
|
|
2017-11-17 Martin Mares <mj@ucw.cz>
* Released as 3.5.6.
* Improvements of the FreeBSD back-end: read-only access for non-root,
support DragonFly BSD, support extended config space.
* MN VPD keyword is decoded correctly.
* As usually, updated pci.ids to the current snapshot of the database.
|
|
2017-07-05 Martin Mares <mj@ucw.cz>
* Released as 3.5.5.
* Better decoding of AER capability.
* "Slot Implemented" flag is decoded for PCI/PCI-X to PCIe bridges.
* Minor fixes of decoding other capabilities.
* As usually, updated pci.ids to the current snapshot of the database.
|
|
2017-02-25 Martin Mares <mj@ucw.cz>
* Released as 3.5.4.
* Previous version broke compilation on systems, for which lib/types.h
did not provide a 64-bit integer type. It is provided everywhere now.
|
|
ChangeLog:
2017-02-15 Martin Mares <mj@ucw.cz>
* Released as 3.5.3.
* When lspci looks for Linux kernel modules, it uses the default
path to module directory provided by libkmod. Previously,
it tried to construct the path explicitly, which need not
work on all systems.
* Improved formatting of memory and I/O ranges behind a bridge.
* PCIe link capabilities now display GEN4 speed (16GT/s).
* PCIe device capabilities now show bits related to atomic operations.
Thanks to Satanand Burla for a patch.
* As usually, updated pci.ids to the current snapshot of the database.
|
|
ChangeLog:
2016-10-03 Martin Mares <mj@ucw.cz>
* Released as 3.5.2.
* The L1 power management capability is now decoded more
thoroughly. Thanks to Rajat Jain for the patch.
* The table of configuration registers used by setpci
had a bug in the definition of SUBSYSTEM_VENDOR_ID.
|
|
2016-05-22 Martin Mares <mj@ucw.cz>
* Released as 3.5.1.
* Fixed symbol versioning of pci_init().
|
|
2016-05-19 Martin Mares <mj@ucw.cz>
* Released as 3.5.0.
* New capabilities decoded: Downstream Port Containment,
Precision Time Measurement. Thanks to Keith Busch and
Jonathan Yong.
* Domain numbers extended to 31 bits. This will be used by the
Linux kernel on some machines in near future.
* Enhanced allocation regions are now decoded on Linux.
* The NetBSD back-end supports PCIe extended configuration space.
* Updated pci.ids to the current snapshot of the database.
|
|
ChangeLog:
2016-01-03 Martin Mares <mj@ucw.cz>
* Released as 3.4.1.
* New capabilities decoded: Process Address Space, Page Request
Interface, Enhanced Allocation. Thanks to David Daney and
David Woodhouse.
* DevCap SlotPowerLimit is now decoded for all components with
upstream ports.
* Database mirror at SourceForge moved to GitHub.
* Updated pci.ids to the current snapshot of the database.
2015-09-14 Martin Mares <mj@ucw.cz>
* Released as 3.4.0.
* On Linux, we report NUMA nodes of devices.
* The sysfs back-end does not die on read errors
of optional attributes. Instead, a warning is produced.
* Fixed several minor bugs.
* Updated pci.ids to the current snapshot of the database.
2015-04-09 Martin Mares <mj@ucw.cz>
* Released as 3.3.1.
* Removed hacks for backward compatibility with Linux libc5,
which were breaking newer non-glibc Linux systems. Thanks
to Felix Janda.
* Display VirtIO vendor-specific capability. Patch by Gerd
Hoffmann.
* Fixed memory leak in name cache.
* Updated pci.ids to the current snapshot of the database.
|
|
|
|
(support the extended configuration space) and i386 netbsd-7(not support).
|
|
* Device names exported by BIOS are displayed on Linux.
* On Linux systems, HWDB is used to look up device names
when our ID database gives no match. (More precisely,
HWDB is consulted after local pci.ids, but before using
network to query online pci.ids.) Thanks to Tom Gundersen
for the initial patch.
* Added experimental back-end for OS X / Darwin. Thanks to
Richard Yao for providing it.
* Filters now support matching by device class. Original
patch by Matthew Wilcox, wrappers for ABI compatibility
by me.
* Interrupt Pin and Interrupt Line registers are displayed
for bridge devices, too.
* Several portability bugs have been fixed.
* Several typos have been fixed. Also, use of questionable
constructs in man pages has been reduced.
* PCIe link capabilities now include the ASPMOptComp bit.
* The "CRS Software Visibility" bit is now decoded properly.
* Updated pci.ids to the current snapshot of the database.
|
|
|
|
|
|
Changes from previous:
2013-11-10 Martin Mares <mj@ucw.cz>
* Released as 3.2.1.
* CardBus bridge capabilities are displayed.
* PCIe L1 PM substates are decoded.
* Various bugs were fixed in decoding of PCIe capabilities.
* The sysfs back-end does not spit out unnecessary warnings when
empty slots report only a partial device address. This actually
happens on IBM pSeries.
* Updated pci.ids to the today's snapshot of the database.
2013-04-19 Martin Mares <mj@ucw.cz>
* Released as 3.2.0.
* On newer Linux systems, we use libkmod to look up kernel modules
(modules.pcimap no longer exists.) To facilitate this, libpci
is able to look up module aliases in sysfs.
* Various minor bug fixes.
* Updated pci.ids to the today's snapshot of the database.
|
|
2012-06-25 Martin Mares <mj@ucw.cz>
* Released as 3.1.10.
* Decoding of LTR/OBFF in PCIe capabilities.
* Various minor bug fixes.
* Updated pci.ids to the today's snapshot of the database.
|
|
2012-01-14 Martin Mares <mj@ucw.cz>
* Released as 3.1.9.
* Updated README.
* Whereever we mention the PCI ID database, we now refer to
http://pci-ids.ucw.cz/ and the sf.net site is mentioned only
as a mirror. This includes update-pciids.
* Decode PCIe Gen 3 speeds and link status fields.
* Various minor bug fixes.
* Updated pci.ids to the today's snapshot of the database.
2011-10-02 Martin Mares <mj@ucw.cz>
* Released as 3.1.8.
* More capabilities: Transaction Processing Hints, Latency Tolerance
Reporting. Thanks to Jesse Barnes.
* Added BeOS and Haiku ports. Contributed by Francois Revol.
* pciutils.pc now uses Libs.private properly.
* When we format a name and it does not fit in the buffer, we truncate
it instead of returning "buffer too small" instead. This works on all
platforms with sane (i.e., C99-compatible) snprintf().
* Various minor bug fixes.
* Updated pci.ids to the today's snapshot of the database.
2010-01-31 Martin Mares <mj@ucw.cz>
* Released as 3.1.7.
* Minor improvements and bug fixes in decoding of the Virtual Channel
capability.
2010-01-24 Martin Mares <mj@ucw.cz>
* Released as 3.1.6.
* More capabilities decoded: Virtual Channel (except arbitration
tables), Root Complex Link, Vendor-Specific (header only), SATA HBA.
* All extended capabilities have their version displayed (-vv or more).
2010-01-19 Martin Mares <mj@ucw.cz>
* Released as 3.1.5.
* Updated pci.ids to the today's snapshot of the database.
* When scanning extended capabilities, properly mask the lowest 2 bits,
which are currently reserved. This avoids unaligned access errors on
broken hardware (see tests/broken-ecaps).
* Large bar sizes are displayed in human-readable format (with units).
Thanks to Matthew Wilcox.
* Physical slot information is displayed correctly for multi-function cards.
Fixed by Matthew Wilcox.
* Fixed a couple of typos everywhere.
* Library: Fixed bugs in freeing of capabilities.
* Windows back-end compiles again.
2009-08-14 Martin Mares <mj@ucw.cz>
* Released as 3.1.4.
(sorry that I have missed 22/7 and released it later :-))
* Updated pci.ids to the today's snapshot of the database.
* Fixed memory and file descriptor leak in the dump back-end.
* The SR-IOV capability decoder now prints the VF BAR's.
Patch by Chris Wright, cleaned up by me.
* On request of certain company's lawyers, we now include a copy
of the GPL with our package. It seems that the pciutils are getting
mature if the most important bug of the month was this one ;-)
|
|
|
|
2009-07-04 Martin Mares <mj@ucw.cz>
* Released as 3.1.3.
* Updated pci.ids to the current snapshot of the database.
* The VPD parser now reports unknown and vendor-defined items
properly. It also stops on any item in unknown format, avoiding long
output on bogus VPD data. Thanks to Ben Hutchings and Matthew Wilcox.
* The MSI-X table size now matches the spec. Thanks to Michael S.
Tsirkin.
* The Power Management capability now includes the soft reset bit.
Thanks to Yu Zhao.
* Decoding of the Advanced Features capability has been added.
Thanks to Yu Zhao.
* The whole package compiles on GNU/kFreeBSD again.
The following patches have been contributed by Matthew Wilcox:
* The procfs back-end is able to cope with /proc/bus/pci
containing names with domains, which occur on sparc64 and
possibly other architectures due to a kernel bug.
* The sysfs back-end no longer complains when a slot address
is missing, which happens with old versions of Linux fakephp.
* The Device Serial Number capability is printed in the right
byte order.
* The MSI and MSI-X capabilities are printed in a prettier way.
* The tree output mode (`lspci -t') shows domain numbers only
at the root, which makes the output more compact.
* Updated documentation on the bus mapping mode (`lspci -M').
2009-02-01 Martin Mares <mj@ucw.cz>
* Released as 3.1.2.
* Fixed another silly bug in the command-line parser of setpci.
2009-01-30 Martin Mares <mj@ucw.cz>
* Released as 3.1.1.
* Updated pci.ids to the current snapshot of the database.
* The configure script now sets LC_ALL to avoid being fooled by
locale-dependent behavior of `tr'.
* The command-line parser of setpci did sometimes segfault on invalid
input. Thanks to Andreas Wiese for a fix.
2009-01-18 Martin Mares <mj@ucw.cz>
* Released as 3.1.0.
* Updated pci.ids to the current snapshot of the database.
* The Cygwin backend now works on Windows Vista. Thanks to Jonathan
Kotta.
* Fixed a bug in decoding of the SR-IOV capability. Patch by Yu Zhao.
* Details of some PCIe capabilities are displayed only with -vv.
* When a BAR is reported by the OS, but not by the device (i.e.,
it is marked as [virtual] in lspci), the [disabled] flag is
suppressed, because it does not make sense in such cases.
Patch by Yu Zhao.
2008-12-13 Martin Mares <mj@ucw.cz>
* The source code of lspci has been split to multiple files, hopefully
making it easier to maintain.
* The library and lspci now know about physical slot names. So far,
they are provided by the sysfs back-end only. Thanks go to Alex Chiang.
* When a device has the VPD (Vital Product Data) capability and the
VPD data are supplied by the OS, they are decoded and printed in the
verbose mode. This currently works only on Linux with the sysfs
back-end. Thanks to Ben Hutchings of Solarflare for the patch.
* `setpci --version' now works properly.
* `setpci --dumpregs' prints a table of all known names of
registers and capabilities. This replaces the table of registers
in the setpci man page.
* The dry-run mode of setpci gives better feedback.
* The setpci utility is now able to address registers stored in PCI
capabilities (actually it allows a more general form of relative
addressing).
* The library has gained functions for working with PCI capabilities.
* Address Translation Services capability is now decoded. Patch by
Yu Zhao.
2008-11-09 Martin Mares <mj@ucw.cz>
* Released as 3.0.3.
* `lspci -k' now displays the subsystem ID, too. This makes `-k'
show everything needed to identify the device and the available
drivers, which was called for by many users.
* Fixed spelling of MSI. Patch by Matthew Wilcox.
* Better support for cross-compilation. Thanks to Alon Bar-Lev
for the patch.
* Fixed printing of the AER capability. Patch by Max Asbock.
* HT 1.02 capabilities are decoded as HT 1.03. Suggested by
Carl-Daniel Hailfinger.
* Fixed Cygwin build. Thanks to Steve Elliott for reporting the bug.
* Updated pci.ids to the current snapshot of the database.
|
|
the ChangeLog for details, they are way too numerous to
list here.
Bump BUILDLINK_API_DEPENDS.
TODO: use misc/pciids?
|
|
|
|
|
|
PCI bus manipulation utility similar to NetBSD pcictl(8)
Provided by Quentin Garnier in PR 20490.
|