2 unstable releases
0.1.0 | Apr 16, 2019 |
---|---|
0.0.0 | Feb 17, 2019 |
#776 in Memory management
22KB
471 lines
efw
Framework for writing UEFI application
State of development
The types in this crate do not yet wrap the entirety of the UEFI spec. Currently
only a subset of UEFI functions are defined. Some types (SystemTable
) for
example allow you access lower layers though (via the bits()
method).
Getting started
This is a hello world application using efw:
#![no_std]
#![no_main]
#[macro_use] extern crate efw;
#[no_mangle]
fn efw_main() {
println!("Hello, world!");
}
efw
reexports the contents of the alloc
crate so you can use dynamic memory allocation:
#![no_std]
#![no_main]
#[macro_use] extern crate efw;
#[no_mangle]
fn efw_main() {
let vector = vec![1, 2, 3];
println!("Allocated vector: {:?}", vector);
}
Protocol support
efw provides a set of predefined protocols that are needed for it to function
properly. You can extend the set of protocols though by implementing the
Protocol
trait. That trait provides methods for finding handles supporting
the protocol.
Dependencies
~280KB