A Reliable Embedded Hypervisor Supporting VM Migration and Hypervisor Live-Update
Rust-Shyper is an embedded type-1 hypervisor built with Rust, which has both high performance and high reliability. Designed for embedded platform, Rust-Shyper provides a small TCB and ensures isolation between different VMs. Furthermore, it can offer differentiated services for VMs such that the real-time performance of critical VMs are guaranteed. We have proposed low overhead VM migration and hypervisor live-update mechanisms to enable Rust-Shyper to tolerate hardware faults at runtime and dynamically fix hypervisor bugs.
The list of supported (and work in progress) platforms is presented below:
aarch64
- NVIDIA Jetson TX2
- Raspberry Pi 4 Model B
- QEMU (note that VM migration and Hypervisor Live-update is not supported on QEMU)
- Firefly ROC-RK3588S-PC (note that VM migration and Hypervisor Live-update is not supported on ROC-RK3588S-PC)
- QEMU (for RISCV64)
Tools for compiling: please install:
- Rust
- aarch64-none-elf toolchain
- cargo-binutils (optional)
- QEMU, or qemu-system-aarch64 (optional)
- u-boot-tools (optional)
Simply run make
make <platform>
For example, make tx2
is to build Rust-Shyper for TX2.
Note that please edit the MVM profile in src/config/<plat>_def.rs according to your requirements.