Module caps

Module caps 

Source
Expand description

Provides facilities for accessing Capabilities described in the PCI Configuration Space.

For Extended Capabilities, see pci_driver::config::ext_caps.

The following table relates the section numbers and titles from the “PCI Express® Base Specification Revision 6.0” describing Capabilities to the corresponding type:

Section numberSection titleType
7.5.2PCI Power Management Capability StructurePciPowerManagementCapability
7.5.3PCI Express Capability StructurePciExpressCapability
7.7.1MSI Capability StructuresMsiCapability
Msi32BitCapability
Msi64BitCapability
Msi32BitPvmCapability
Msi64BitPvmCapability
7.7.2MSI-X Capability and Table StructureMsiXCapability
7.8.5Enhanced Allocation Capability Structure (EA)EnhancedAllocationCapability
7.9.4Vendor-Specific CapabilityVendorSpecificCapability
7.9.18Vital Product Data Capability (VPD Capability)VitalProductDataCapability
7.9.21Conventional PCI Advanced Features Capability (AF)ConventionalPciAdvancedFeaturesCapability
7.9.27Null CapabilityNullCapability

Structs§

CapabilityHeader
The spec doesn’t really define a header part explicitly, but this holds the two fields that are common to all Capabilities.
ConventionalPciAdvancedFeaturesCapability
EnhancedAllocationCapability
Msi32BitCapability
Msi32BitPvmCapability
Msi64BitCapability
Msi64BitPvmCapability
MsiCapability
MsiMessageControl
MsiXCapability
NullCapability
PciCapabilities
Lets you inspect and manipulate the PCI Capabilities defined in the configuration space of some PCI device.
PciCapabilitiesIntoIter
An iterator over all PCI Capabilities of a device.
PciCapabilitiesIter
An iterator over a device’s PCI Capabilities of a certain type.
PciExpressCapabilities
PciExpressCapability
TODO: Should take the “Capability Version” into consideration.
PciExpressDeviceCapabilities
PciExpressDeviceCapabilities2
PciExpressDeviceControl
PciExpressDeviceControl2
PciExpressDeviceStatus
PciExpressLinkCapabilities
PciExpressLinkCapabilities2
PciExpressLinkControl
PciExpressLinkControl2
PciExpressLinkStatus
PciExpressLinkStatus2
PciPowerManagementCapability
UnspecifiedCapability
Some/any PCI Capability.
VendorSpecificCapability
VitalProductDataCapability
VpdAddressRegister
The “VPD Address Register”’s two elements are/can be RW, but we expose them as RO because they are supposed to be written only together at once.

Traits§

Capability
Some specific type of PCI Capability.