This is a multiboot (v1) library written entirely in rust. The code depends only on libcore.
```rust extern crate multiboot;
use multiboot::{Multiboot, PAddr}; use core::slice; use core::mem;
pub fn paddrtoslice<'a>(p: multiboot::PAddr, sz: usize) -> Option<&'a [u8]> { unsafe { let ptr = mem::transmute(p); Some(slice::fromrawparts(ptr, sz)) } }
/// mbootptr is the initial pointer to the multiboot structure /// provided in %ebx on start-up. pub fn usemultiboot(mbootptr: PAddr) { unsafe { Multiboot::new(mbootptr, paddrtoslice); } } ```
Functionality is still not complete and patches are welcome!