Skip to content

Latest commit

 

History

History
39 lines (27 loc) · 1.73 KB

README.md

File metadata and controls

39 lines (27 loc) · 1.73 KB

Workflow Status Percentage of issues still open

xng-rs

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).

Usage

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

About the Project

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.