A Rust wrapper for the XNG API
This crate provides a thin wrapper for the C ABI of fentISS'
Xtratum Next Generation (XNG)
separation kernel/type 1 hypervisor. It allows the implementation of bare metal
(no_std
) partitions for XNG, using the XNG Runtime Environment (XRE).
In order to compile this crate, a compiler must be able to pick up your XNG
header files. An easy way to achieve this is to set the C_INCLUDE_PATH
env
var to the folder containing the fentiss header files when running cargo
.
Furthermore, rust-bindgen
requires libclang
to parse the C header files.
The LIBCLANG_PATH
env var is used to find a suitable libclang
. The
following example shows how to set the env vars accordingly.
Example:
export C_INCLUDE_PATH=/my/xng/installation/include
export LIBCLANG_PATH=/my/clang/installation/lib
cargo build
This is by no means ready - it is an ongoing progress. While we've already used this together with FentISS' Separation Kernel Emulator (SKE), it was not throughfully tested. While we are engaged with FentISS, there is no official support for this neither from FentISS nor from us. However, if you encounter any problems, please open up an issue. The chances are that we care and try to fix the issue.