Module mapping

1.1.0 · Source
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.
DiscontiguityErrorExperimental
Returned from RawMapping::into_contiguous_raw_parts() if the underlying physical memory is not contiguous
DynMappingExperimental

Enums§

Location
The location at which to make the mapping
RawMappingContiguity 🔒
Used to track if the memory underlying the mapping is contiguous
LazinessExperimental
When to allocate physical memory for the mapping
ProtectionExperimental
The memory protection to use for the memory mapping

Traits§

AddressExperimental
A marker trait for types that can be used as a Location
MappableExperimental
Basic operations to decide how to map memory together.

Functions§

new_mapping
new_mapping_in
new_stack
new_stack_in

Type Aliases§

Mapping
A RAII memory mapping
Stack
A RAII stack