Module mm

Module mm 

Source
Expand description

Virtual memory (VM).

Re-exports§

pub use self::frame::Frame;
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::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§

dma
Direct Memory Access (DMA).
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§

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.

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.
Split
Memory objects that can be split into smaller parts.

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.