Expand description
Types representing PCI regions (config space, BARs, etc.) and other related types.
§Base machinery
-
trait PciRegion
. Sealed.&'a dyn PciRegion
implementsAsPciSubregion<'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
T
implementsAsPciSubregion<'a>
, then&'b T
implementsAsPciSubregion<'a>
, for all'a
,'b
,T
. - If
T
implementsAsPciSubregion<'a> + Debug + Send + Sync
, thenT
implementsPciRegion
, 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
.OwningPciRegion
implementsPciRegion
.&'a OwningPciRegion
implementsAsPciSubregion<'a>
, for all'a
.
-
struct MappedOwningPciRegion
. What you get by callingOwningPciRegion::map
.MappedOwningPciRegion
implementsPciRegion
.&'a MappedOwningPciRegion
implementsAsPciSubregion<'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
.
-
PciRegionSnapshot
implementsPciRegion
.&'a PciRegionSnapshot
implementsAsPciSubregion<'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
PciDevice
it 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
PciSubregion
representation 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.