Struct seed_riscv::memory::MemoryManager
source · pub struct MemoryManager(Spinlock<MemoryManagerInner>);
Expand description
The physical memory manager - this consumes a MemoryRegions
map, and uses it to initialise an
instrusive free list of all usable physical memory. This can then be used to allocate physical memory
as needed, at frame granularity.
Tuple Fields§
§0: Spinlock<MemoryManagerInner>
Implementations§
source§impl MemoryManager
impl MemoryManager
pub const fn new() -> MemoryManager
pub fn init(&self, regions: MemoryRegions)
pub fn walk_usable_memory(&self)
pub fn populate_memory_map(&self, memory_map: &mut MemoryMap)
Trait Implementations§
source§impl FrameAllocator<Size4KiB> for MemoryManager
impl FrameAllocator<Size4KiB> for MemoryManager
source§impl Mapper for MemoryManager
impl Mapper for MemoryManager
impl Send for MemoryManager
impl Sync for MemoryManager
Auto Trait Implementations§
impl !Freeze for MemoryManager
impl !RefUnwindSafe for MemoryManager
impl Unpin for MemoryManager
impl UnwindSafe for MemoryManager
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more