# polymorph-allocator
A simple no\_std memory allocator.
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.
[awooOS/dmm]: https://github.com/awooos/dmm
## Usage
```rust
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
`polymorph-allocator` is licensed under the MIT License, the same license as
the rest of polymorphOS.
You can find this license in the `LICENSE` file in the top level of this
repository.