free-list

Crates.iofree-list
lib.rsfree-list
version0.3.1
sourcesrc
created_at2019-04-09 20:40:02.297372
updated_at2024-05-10 14:41:23.439236
descriptionA free-list-based page/frame allocator.
homepage
repositoryhttps://github.com/mkroening/free-list
max_upload_size
id126880
size51,623
Martin Kröning (mkroening)

documentation

README

free-list

Crates.io docs.rs CI

This crate provides the FreeList type to allocate pages/frames of virtual/physical memory:

use free_list::{FreeList, PageLayout};

let mut free_list = FreeList::<16>::new();

unsafe {
    free_list.deallocate((0x1000..0x5000).try_into().unwrap()).unwrap();
}
assert_eq!(free_list.free_space(), 0x4000);

let layout = PageLayout::from_size(0x4000).unwrap();
assert_eq!(free_list.allocate(layout).unwrap(), (0x1000..0x5000).try_into().unwrap());

For API documentation, see the docs.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 8

cargo fmt