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.
- Page
Flags - Page protection permissions and access status.
- Page
Property - The property of a mapped virtual memory page.
Enums§
- Cache
Policy - A type to control the cacheability of the main memory.
- DmaDirection
DmaDirection
limits the data flow direction ofDmaStream
and prevents users from reading and writing toDmaStream
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.
- HasPaddr
Range - 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.
- Paging
Level - The level of a page table node or a frame.
- Vaddr
- Virtual addresses.