moa_memblock 0.1.3

Linux 风格 memblock 早期引导内存分配器
Documentation

Linux 风格 memblock 早期引导内存分配器

提供双区域类型(memory + reserved)、排序区域数组、自动合并、 标志过滤、方向控制分配等功能,所有存储基于固定大小静态数组。

示例

use moa_memblock::Memblock;

let mut mb = Memblock::new();

// 添加可用内存
mb.add(0x4000_0000, 0x4000_0000).unwrap(); // 1GB @ 1GB

// 保留内核镜像区域
mb.reserve(0x4000_0000, 0x100_0000).unwrap(); // 16MB

// 分配 4KB,4KB 对齐
let addr = mb.alloc(0x1000, 0x1000).unwrap();
assert!(addr >= 0x4100_0000); // 在保留区域之后

// 迭代 free 区域
for (base, size) in mb.free_regions() {
    assert!(size > 0);
}