Available on non-crate feature
use_std
only.Expand description
API for managing memory at a high level.
The mapping API implements a RAII based API for managing memory maps. Each memory map owns a region of physical and virtual memory, and manages the paging required to map the two together. It is also possible for only a subset of the virtual memory region to be mapped to physical memory.
Each map is built on a Mappable
type, which implements the required methods to calculate the required virtual
memory, and how to map it to physical memory. This can be used to instantiate a RawMapping
which handles the
actual mapping.
This module exports two common flavours of memory map: Mapping
and Stack
.
Modules§
- private 🔒
Structs§
- Config
- Configuration for creating a mapping
- RawMapping
- The raw type underlying all memory mappings.
- Discontiguity
Error Experimental - Returned from
RawMapping::into_contiguous_raw_parts()
if the underlying physical memory is not contiguous - DynMapping
Experimental
Enums§
- Location
- The location at which to make the mapping
- RawMapping
Contiguity 🔒 - Used to track if the memory underlying the mapping is contiguous
- Laziness
Experimental - When to allocate physical memory for the mapping
- Protection
Experimental - The memory protection to use for the memory mapping
Traits§
- Address
Experimental - A marker trait for types that can be used as a
Location
- Mappable
Experimental - Basic operations to decide how to map memory together.