|
Revision tags: v3.14.0, v3.13.0 |
|
| #
ef78f397 |
| 30-May-2024 |
Martin Mares <[email protected]> |
ABI version bump for pci_fill_info()
We have new flags and new fields in struct pci_dev.
|
|
Revision tags: v3.12.0, v3.11.1, v3.11.0 |
|
| #
61829219 |
| 18-Jun-2023 |
Martin Mares <[email protected]> |
Update license comments and added SPDX license identifiers
Previously, the only information about the specific version of GPL was present in the README and individual source files mentioned only GPL
Update license comments and added SPDX license identifiers
Previously, the only information about the specific version of GPL was present in the README and individual source files mentioned only GPL alone.
Let us update all copyright comments to explicitly say "GPL v2+" and also include the machine readable SPDX license identifier.
show more ...
|
|
Revision tags: v3.10.0, v3.9.0, v3.8.0 |
|
| #
119c1376 |
| 20-Nov-2021 |
Pali Rohár <[email protected]> |
libpci: Add support for filling bridge resources
Extend libpci API and ABI to fill bridge resources from sysfs.
|
| #
8e9299e4 |
| 21-Jan-2022 |
Martin Mares <[email protected]> |
Simplified pci_fill_info() and friends
Previously, we kept track of which fields were already filled, which was quite brittle.
Now we keep only the set of already known fields in struct pci_dev. We
Simplified pci_fill_info() and friends
Previously, we kept track of which fields were already filled, which was quite brittle.
Now we keep only the set of already known fields in struct pci_dev. We check if the current field is needed against this information.
Not only this simplifies the whole thing, but it also enables future back-ends to call pci_fill_info() recursively as needed.
show more ...
|
|
Revision tags: v3.7.0 |
|
| #
82c06b47 |
| 25-May-2020 |
Martin Mares <[email protected]> |
Library: Big cleanup of pci_fill_info()
There was a lot of minor issues in the implementation of the fill_info call-back in various back-ends. Most importantly, semantics of pci_dev-> known_fields w
Library: Big cleanup of pci_fill_info()
There was a lot of minor issues in the implementation of the fill_info call-back in various back-ends. Most importantly, semantics of pci_dev-> known_fields was not formally defined and it was implemented inconsistently.
We now define known_fields as the set of fields which were already obtained during the lifetime of the pci_dev. We never consider known fields which are not supported by the back-end. All fields which are unsupported by either the back-end, the OS, or the particular device, are guaranteed to have sensible default values (0 or NULL). Also, bit masks are always unsigned except for the signature of pci_fill_info() which should be preferably kept stable.
All back-ends and the pci_generic_fill_info() function have been changed to follow this semantics.
In the sysfs back-end, we read as few attributes as possible during device initialization, so applications which use pci_get_dev() are not slowed down unnecessarily.
In the Hurd back-end, we also respect the buscentric mode.
show more ...
|
|
Revision tags: v3.6.4, v3.6.3, v3.6.2, v3.6.1, v3.6.0 |
|
| #
62bd0c5c |
| 26-Jun-2018 |
Martin Mares <[email protected]> |
Convert other string properties to the generic mechanism
This removes the need of explicit memory management and fixes PCI_FILL_RESCAN.
To keep backward compatibility, I am keeping the raw pointers
Convert other string properties to the generic mechanism
This removes the need of explicit memory management and fixes PCI_FILL_RESCAN.
To keep backward compatibility, I am keeping the raw pointers in struct pci_dev, but they point inside the pci_property instead of separately allocated memory.
show more ...
|
| #
c02d903c |
| 26-Jun-2018 |
Martin Mares <[email protected]> |
Created a generic interface for device properties
Introduction of device tree node properties broke library ABI.
I gave up on creating new symbol versions whenever we add a new device property, so
Created a generic interface for device properties
Introduction of device tree node properties broke library ABI.
I gave up on creating new symbol versions whenever we add a new device property, so I introduced a generic property interface with which new string properties can be added while keeping ABI compatibility.
show more ...
|
| #
6d701ce3 |
| 15-May-2018 |
Oliver O'Halloran <[email protected]> |
Add device-tree node path to the verbose output
Adds the path of the device-tree node of a PCI device to the lspci -v output, like so:
0021:00:00.0 PCI bridge: IBM Device 03dc (prog-if 00 [Normal d
Add device-tree node path to the verbose output
Adds the path of the device-tree node of a PCI device to the lspci -v output, like so:
0021:00:00.0 PCI bridge: IBM Device 03dc (prog-if 00 [Normal decode]) DT Node: /sys/firmware/devicetree/base/pciex@3fffe41100000/pci@0
This is added as a generic property to struct pci_device and populated by the sysfs backend. Other platforms may find it useful though.
Signed-off-by: Oliver O'Halloran <[email protected]>
show more ...
|
|
Revision tags: v3.5.6, v3.5.5, v3.5.4, v3.5.3, v3.5.2, v3.5.1, v3.5.0 |
|
| #
4186391b |
| 14-May-2016 |
Martin Mares <[email protected]> |
Domains: Legacy 16-bit domain numbers are maintained in generic code
Previously, backward compatibility was kept only with the sysfs back-end.
Also, domains which do not fit in 16 bits are replaced
Domains: Legacy 16-bit domain numbers are maintained in generic code
Previously, backward compatibility was kept only with the sysfs back-end.
Also, domains which do not fit in 16 bits are replaced by 0xffff.
show more ...
|
| #
558f736b |
| 12-Feb-2016 |
Sean O. Stalley <[email protected]> |
Add support for enhanced allocation regions
Append [enhanced] to Regions that contain the BEI flag in sysfs. To do this, we need to add the resource flags to the pci_dev struct. This struct is passe
Add support for enhanced allocation regions
Append [enhanced] to Regions that contain the BEI flag in sysfs. To do this, we need to add the resource flags to the pci_dev struct. This struct is passed through the libpci API, so we increment the API version number.
Don't truncate least significant bits of the region size. ex: a 2000 byte region should display [size=2000] instead of [size=1K]
Signed-off-by: Sean O. Stalley <[email protected]>
show more ...
|
|
Revision tags: v3.4.1, v3.4.0 |
|
| #
7ef7f3ec |
| 14-Sep-2015 |
Martin Mares <[email protected]> |
NUMA node scanning is now done in an ABI-compatible way
The numa_node field was moved to the end of the public part of struct pci_dev. As usually, it has to be requested using the PCI_FILL_NUMA_NODE
NUMA node scanning is now done in an ABI-compatible way
The numa_node field was moved to the end of the public part of struct pci_dev. As usually, it has to be requested using the PCI_FILL_NUMA_NODE and pci_fill_info() is versioned.
show more ...
|
| #
90ec4a6d |
| 22-Apr-2015 |
Matthew Wilcox <[email protected]> |
Report NUMA node in lspci -v
In multi-socket systems, it's useful to see which node a particular PCI device belongs to. Linux provides this information through sysfs, but some users don't like poki
Report NUMA node in lspci -v
In multi-socket systems, it's useful to see which node a particular PCI device belongs to. Linux provides this information through sysfs, but some users don't like poking through sysfs themselves to find it, and it's pretty straightforward to report it in lspci.
I should note that when there is no NUMA node for a particular device, Linux reports -1. I've chosen to continue that convention in pciutils, and simply omit the information if the device does not belong to a NUMA node (eg on single-socket systems, or devices which are not preferentially attached to a particular node, like Nehalem-based systems).
show more ...
|
|
Revision tags: v3.3.1, v3.3.0 |
|
| #
52aecc75 |
| 02-Nov-2014 |
Martin Mares <[email protected]> |
Backward ABI compatibility for new filters and pci_fill_info
This is tricky, because we have to translate between old and new format of struct pci_filter. At least, I added several RFU fields so thi
Backward ABI compatibility for new filters and pci_fill_info
This is tricky, because we have to translate between old and new format of struct pci_filter. At least, I added several RFU fields so this hopefully won't have to happen again soon.
show more ...
|
| #
6e4adbf5 |
| 01-Nov-2014 |
Martin Mares <[email protected]> |
Work around problems with symbol versioning in globally optimizing GCC
|
| #
35383c12 |
| 01-Nov-2014 |
Martin Mares <[email protected]> |
Better work-around for missing symbol versioning on Darwin
|
| #
8d1cb3d7 |
| 20-Oct-2014 |
Richard Yao <[email protected]> |
Fix building shared libraries on Darwin
The original patch by Apple did not support building shared libraries on Darwin. This corrects that oversight. It also fixes a few other miscellaneous issues
Fix building shared libraries on Darwin
The original patch by Apple did not support building shared libraries on Darwin. This corrects that oversight. It also fixes a few other miscellaneous issues like incorrect platform detection and the lack of an entry in the README file.
Signed-off-by: Richard Yao <[email protected]>
show more ...
|
| #
aecf5b35 |
| 28-Jan-2014 |
Thomas Renninger <[email protected]> |
lspci: Show device name as exported by BIOS (sysfs label attribute) (V2)
The Device name of a PCI or PCI Express device under OS may be exported via ACPI _DSM function with function index 7. This al
lspci: Show device name as exported by BIOS (sysfs label attribute) (V2)
The Device name of a PCI or PCI Express device under OS may be exported via ACPI _DSM function with function index 7. This allows to connect a described PCI device in the platform documentation or as labeled on the chassis with PCI devices shown via lspci. The kernel already exports this string through sysfs under a PCI device through the "label" sysfs attribute.
This patch reads the device name if available and shows it to the user. Real world examples: Device Name: "USB HS EHCI Controller #2 #3" Device Name: "USB HS EHCI Controller #1" Device Name: "SATA Controller #1" Device Name: "Onboard LAN #1" Device Name: "Onboard LAN #2" Device Name: "Onboard Video (PILOT-3)"
Compare with PCI Firmware Spec v3.1 chapter 4.6.7 and ACPI spec v5.0 chapter 9.14.1
The DeviceName is not shown by default, but starting from first verbose parameter (-v).
V2: - Free label string if allocated - Enhance changelog
Signed-off-by: Thomas Renninger <[email protected]> CC: [email protected]
show more ...
|
|
Revision tags: v3.2.1, v3.2.0 |
|
| #
dbe1e0a6 |
| 01-Apr-2013 |
Martin Mares <[email protected]> |
Use symbol versioning for our new member of struct pci_dev
|
| #
b1861a8d |
| 01-Apr-2013 |
Martin Mares <[email protected]> |
Detection of module aliases (Linux sysfs only)
This will be needed to support libkmod.
|
|
Revision tags: v3.1.10, v3.1.9, v3.1.8, v3.1.7, v3.1.6, v3.1.5, v3.1.4, v3.1.3, v3.1.2, v3.1.1, v3.1.0, v3.1-alpha3 |
|
| #
2849a165 |
| 03-Dec-2008 |
Alex Chiang <[email protected]> |
Display physical slot information in lspci -v
We've been exposing slot information in /sys/bus/pci/slots for a long time now (as long as a hotplug driver or slot detection driver like pci_slot is lo
Display physical slot information in lspci -v
We've been exposing slot information in /sys/bus/pci/slots for a long time now (as long as a hotplug driver or slot detection driver like pci_slot is loaded).
Let's make life better for our users and display that information in lspci. If slot entries appear in /sys/bus/pci/slots/, correlate them to PCI devices, and display the information when lspci -v is issued.
If no slot entries appear in sysfs (due to no modules loaded), do nothing.
Now you'll see sample output like the following:
23:01.1 Class 0c04: Device 10df:fd00 (rev 01) Subsystem: Device 10df:fd00 Physical Slot: 3 Flags: bus master, 66MHz, medium devsel, latency 248, IRQ 60 ...
Signed-off-by: Alex Chiang <[email protected]>
show more ...
|
|
Revision tags: v3.1-alpha2 |
|
| #
52c81519 |
| 18-Nov-2008 |
Ben Hutchings <[email protected]> |
Add pci_read_vpd() function and internal read_vpd() method
Signed-off-by: Ben Hutchings <[email protected]>
|
|
Revision tags: v3.1-alpha1 |
|
| #
89c51b98 |
| 11-Nov-2008 |
Martin Mares <[email protected]> |
Updated library ABI with proper versioning.
|
| #
6d5e39ac |
| 10-Nov-2008 |
Martin Mares <[email protected]> |
Added library functions for accessing PCI capabilities.
|
|
Revision tags: v3.0.3, v3.0.2, v3.0.1, v3.0.0 |
|
| #
4dd39346 |
| 12-Feb-2008 |
Martin Mares <[email protected]> |
Moved functions related to initialization and cleanup to init.c.
|
| #
103f074c |
| 11-Feb-2008 |
Martin Mares <[email protected]> |
Implemented control options and the caching logic.
Everything is still in a very raw form.
|