polymorph-allocator 0.1.0

A simple no_std memory allocator

polymorph-allocator

Build status

A simple no_std memory allocator, originally designed for polymorphOS.

This crate takes heavy inspiration from awooOS/dmm, a simple C memory allocator for bare-metal uses.

This crate is very early in development, and as such may be unstable or randomly panic!(). As of v0.1.0 it works well enough for polymorphOS to boot using this crate as it's allocator, though, so YMMV.

Usage

use polymorph_allocator::LockedAllocator;

#[global_allocator]
pub static ALLOCATOR: LockedAllocator = LockedAllocator::empty();

fn main() {
    // For a 32MB heap starting at 1MB in RAM:
    ALLOCATOR.lock().add_region(0x100000, 0x2000000);
}

License

MIT, see LICENSE