A playground for the Kernel Virtual Machine (KVM) in rust to
learn about KVM, rust ffi and x86_64.
The sources are structured as follows:
src/provides a small library as abstraction over the raw KVM API.examples/contains example VMs using the library above.guest/contains the guest source code which is run inside the VMs.sysdeps/contains helper to generate some KVM constants from the system header (executed by build.rs).
Rustdoc for this crate is avalable at johannst.github.io/mini-kvm-rs.
- Kernel with
kvmsupport and permissions to open/dev/kvm. - Compiler & binuitls for generating the guest images.
Runs the real mode VM with the guest program.
# Once: Build the guest binary image.
make -C guest
# Run the Real Mode example.
cargo run --example real_modeRuns the long mode VM with the guest program.
# Once: Build the guest binary image.
make -C guest
# Run the Long Mode example.
cargo run --example long_modeThis project is licensed under the MIT license.