diff --git a/ostd/src/mm/frame/meta.rs b/ostd/src/mm/frame/meta.rs index 29b5b367f..dd6cd7c2e 100644 --- a/ostd/src/mm/frame/meta.rs +++ b/ostd/src/mm/frame/meta.rs @@ -458,7 +458,12 @@ pub(crate) unsafe fn init() -> Segment { let regions = &crate::boot::EARLY_INFO.get().unwrap().memory_regions; regions .iter() - .filter(|r| r.typ() == MemoryRegionType::Usable) + .filter(|r| { + matches!( + r.typ(), + MemoryRegionType::Usable | MemoryRegionType::Reclaimable + ) + }) .map(|r| r.base() + r.len()) .max() .unwrap()