Expand description
Types representing PCI regions (config space, BARs, etc.) and other related types.
§Base machinery
-
trait PciRegion. Sealed.&'a dyn PciRegionimplementsAsPciSubregion<'a>, for all'a.
-
PciSubregion<'a>implementsPciRegion, for all'a.PciSubregion<'a>implementsAsPciSubregion<'a>, for all'a.
-
trait AsPciSubregion<'a>. UnlikePciRegion, this trait is not sealed.- If
TimplementsAsPciSubregion<'a>, then&'b TimplementsAsPciSubregion<'a>, for all'a,'b,T. - If
TimplementsAsPciSubregion<'a> + Debug + Send + Sync, thenTimplementsPciRegion, for all'a,T.
- If
§PciRegion implementations
-
struct OwningPciRegion. A region that somehow owns its backing resources, and so is not bound by the lifetime of aPciDevice.OwningPciRegionimplementsPciRegion.&'a OwningPciRegionimplementsAsPciSubregion<'a>, for all'a.
-
struct MappedOwningPciRegion. What you get by callingOwningPciRegion::map.MappedOwningPciRegionimplementsPciRegion.&'a MappedOwningPciRegionimplementsAsPciSubregion<'a>, for all'a.
-
struct PciMemoryRegion<'a>. A region backed by a&'a [u8],&'a mut [u8], or raw memory.PciMemoryRegion<'a>implementsPciRegion, for all'a.&'a PciMemoryRegion<'b>implementsAsPciSubregion<'a>, for all'a,'b.
-
PciRegionSnapshotimplementsPciRegion.&'a PciRegionSnapshotimplementsAsPciSubregion<'a>, for all'a.
§And also
Modules§
Structs§
- Mapped
Owning PciRegion - A memory-mapped
OwningPciRegion. This is also aPciRegion. Dropping this unmaps the region. - Owning
PciRegion - This is “owning” in the sense that it doesn’t borrow the
PciDeviceit came from. - PciMemory
Region - PciRegion
Snapshot - Use this to take snapshots of anything that is an
AsPciSubregion. - PciSubregion
- A contiguous part of a
PciRegion, which is itself also aPciRegion.
Enums§
- Permissions
- Describes which operations may be performed on some piece of memory or other data region.
Traits§
- AsPci
Subregion - For when it is possible to obtain a
PciSubregionrepresentation of a value cheaply. - Backed
ByPci Subregion - Something that is backed by a
PciSubregion. - PciRegion
- A region of PCI Configuration Space, or a BAR, or the Expansion ROM, or VGA Space, or some other device region, or maybe something else, as long it is safe to read and write to it concurrently with no data races.