Skip to content

rust-osdev/linked-list-allocator

Folders and files

NameName
Last commit message
Last commit date
Apr 7, 2020
Aug 13, 2020
Jan 19, 2016
May 3, 2020
May 3, 2020
Feb 16, 2016
Feb 16, 2016
Mar 6, 2020
Jan 14, 2020

Repository files navigation

linked-list-allocator

Build Status

Documentation

Usage

Create a static allocator in your root module:

use linked_list_allocator::LockedHeap;

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

Before using this allocator, you need to init it:

pub fn init_heap() {
    let heap_start = …;
    let heap_end = …;
    let heap_size = heap_end - heap_start;
    unsafe {
        ALLOCATOR.lock().init(heap_start, heap_size);
    }
}

Features

  • use_spin (default): Provide a LockedHeap type that implements the GlobalAlloc trait by using a spinlock.
  • alloc_ref: Provide an implementation of the unstable AllocRef trait.
    • Warning: The AllocRef trait is still regularly changed on the Rust side, so expect some regular breakage when using this feature.

License

This crate is dual-licensed under MIT or the Apache License (Version 2.0). See LICENSE-APACHE and LICENSE-MIT for details.

About

No description, website, or topics provided.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages