Module mm

Source
Expand description

Virtual memory (VM).

Re-exports§

pub use self::frame::allocator::FrameAllocOptions;
pub use self::frame::segment::Segment;
pub use self::frame::segment::USegment;
pub use self::frame::unique::UniqueFrame;
pub use self::frame::untyped::AnyUFrameMeta;
pub use self::frame::untyped::UFrame;
pub use self::frame::Frame;
pub use self::io::Fallible;
pub use self::io::FallibleVmRead;
pub use self::io::FallibleVmWrite;
pub use self::io::Infallible;
pub use self::io::PodAtomic;
pub use self::io::PodOnce;
pub use self::io::VmIo;
pub use self::io::VmIoFill;
pub use self::io::VmIoOnce;
pub use self::io::VmReader;
pub use self::io::VmWriter;
pub use self::vm_space::VmSpace;

Modules§

frame
Frame (physical memory page) management.
heap
Manages the kernel heap using slab or buddy allocation strategies.
io
Abstractions for reading and writing virtual memory (VM) objects.
io_util
Utilities for types in super::io.
tlb
TLB flush operations.
vm_space
Virtual memory space management.

Structs§

DmaCoherent
A coherent (or consistent) DMA mapping, which guarantees that the device and the CPU can access the data in parallel.
DmaStream
A streaming DMA mapping.
PageFlags
Page protection permissions and access status.
PageProperty
The property of a mapped virtual memory page.

Enums§

CachePolicy
A type to control the cacheability of the main memory.
DmaDirection
DmaDirection limits the data flow direction of DmaStream and prevents users from reading and writing to DmaStream unexpectedly.

Constants§

KERNEL_VADDR_RANGE
The kernel address space.
MAX_USERSPACE_VADDR
The maximum virtual address of user space (non inclusive).
PAGE_SIZE
The page size

Traits§

HasDaddr
Memory objects that have a mapped address in the device address space.
HasPaddr
Memory objects that have a start physical address.
HasPaddrRange
Memory objects that have a physical address range.
HasSize
Memory objects that have a length in bytes.

Functions§

is_page_aligned
Checks if the given address is page-aligned.

Type Aliases§

Daddr
Device addresses.
Paddr
Physical addresses.
PagingLevel
The level of a page table node or a frame.
Vaddr
Virtual addresses.