diff --git a/lib/allocator/src/block.rs b/lib/allocator/src/block.rs index b2aba4d..e9aedba 100644 --- a/lib/allocator/src/block.rs +++ b/lib/allocator/src/block.rs @@ -3,17 +3,21 @@ use core::cmp::min; use utils::addr::{AddressOps, PhysAddr}; #[derive(Copy, Clone, Debug)] -struct Block { +pub struct Block { start: PhysAddr, size: usize, } impl Block { - fn start_addr(&self) -> PhysAddr { + pub fn start_addr(&self) -> PhysAddr { self.start } - fn end_addr(&self) -> PhysAddr { + pub fn size(&self) -> usize { + self.size + } + + pub fn end_addr(&self) -> PhysAddr { self.start + self.size } @@ -137,6 +141,14 @@ impl RamBlock { } } } + + pub fn blocks(&self) -> &[Option; N] { + &self.blocks + } + + pub fn blocks_mut(&mut self) -> &mut [Option; N] { + &mut self.blocks + } } impl Default for RamBlock {