mirror of
https://github.com/panpaul/tiny_os
synced 2024-09-20 09:45:19 +08:00
feat: allocator: block: expose internal blocks
This commit is contained in:
parent
d36c534a92
commit
7fa26c109f
@ -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<const N: usize> RamBlock<N> {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub fn blocks(&self) -> &[Option<Block>; N] {
|
||||
&self.blocks
|
||||
}
|
||||
|
||||
pub fn blocks_mut(&mut self) -> &mut [Option<Block>; N] {
|
||||
&mut self.blocks
|
||||
}
|
||||
}
|
||||
|
||||
impl<const N: usize> Default for RamBlock<N> {
|
||||
|
Loading…
Reference in New Issue
Block a user