Skip to main content

Crate moa_memblock

Crate moa_memblock 

Source
Expand description

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

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

§示例

use moa_memblock::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);
}

Modules§

error
错误类型
flags
区域标志
iter
Free 区域迭代器
memblock
顶层 Memblock 分配器
region
内存区域及排序区域数组