Skip to main content

Crate regio

Crate regio 

Source

Modules§

arm64
riscv64
traits
Register access abstracted as traits.
x86

Structs§

MmioBank
Represents a contiguous region of memory containing registers. Contained registers are accessed via MmioBank::at and must feature access permissions narrower than MaxAccess.
MmioPtr
Represents a pointer to an MMIO address - with specific access permissions - at which a register might be located.
Offset
Represents an in-memory register with a given layout and access permissions located at an offset from a base address.
Register
Register represents a structured register layout, and its access interface and permissions. This is the core abstraction of the crate.

Enums§

NoRead
A tag for disallowed register read access.
NoWrite
A tag for disallowed register write access.
Read
A tag for register read access.
SafeWrite
A tag for safe register write access: this is when writes to the register are statically known to be sound (e.g., in the cases of MMIO that lights up an LED or a performance counter system register).
UnsafeWrite
A tag for unsafe register write access: this is when writes to the register may contextually violate the memory model (e.g., system register that toggles the MMU or in modeling a page table entry as a register). In such cases, the user must attest to any given write being sound.

Traits§

AccessRestrictsTo
Expresses how one set of access permissions can imply a narrower set. For example, read-writable should imply readable.
Accessible
Base marker for register access permissions.
AtomicIoHandle
Represents an abstracted means of atomic read-modify-write register I/O.
IoHandle
Represents an abstracted means of register access.
LayoutOver
A convenience supertrait for the traits expected of layout types over a specific base type. This is not intended to be implemented explicitly, only through its blanket implementation.
ReadHandle
Represents an abstracted means of register reads.
Readable
Marker for readable register access.
Writable
Marker for writable register access.
WriteHandle
Represents an abstracted means of register writes.

Type Aliases§

Mmio
A specialization of Register representing an MMIO address.
Ro
A tag for read-only register access.
RwSafe
A tag for read + safe-write register access.
RwUnsafe
A tag for read + unsafe-write register access.
WoSafe
A tag for safe-write-only register access.
WoUnsafe
A tag for unsafe-write-only register access.