Module os::mm

source ·
Expand description

Memory management implementation

SV39 page-based virtual-memory architecture for RV64 systems, and everything about memory management, like frame allocator, page table, map area and memory set, is implemented here.

Every task or process has a memory_set to control its virtual memory.

Re-exports§

  • pub use memory_set::KERNEL_SPACE;
  • pub use memory_set::KERNEL_SPACE;

Modules§

Structs§

Functions§

  • allocate a frame
  • initiate heap allocator, frame allocator and kernel space
  • Check PageTable running correctly
  • translate a pointer to a mutable u8 Vec through page table
  • translate a generic through page table and return a mutable reference
  • translate a pointer to a mutable u8 Vec end with \0 through page table to a String