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 address::PhysAddr;pub use address::PhysPageNum;pub use address::VirtAddr;pub use address::VirtPageNum;pub use frame_allocator::frame_alloc;pub use frame_allocator::FrameTracker;pub use memory_set::remap_test;pub use memory_set::MapPermission;pub use memory_set::MemorySet;pub use memory_set::KERNEL_SPACE;pub use memory_set::KERNEL_SPACE;pub use page_table::translated_byte_buffer;pub use page_table::PageTableEntry;Modules
Implementation of physical and virtual address and page number.
Implementation of FrameAllocator which
controls all the frames in the operating system.
The global allocator
Implementation of PageTableEntry and PageTable.
Functions
initiate heap allocator, frame allocator and kernel space