KVM-based Virtualization Control System
Building a custom Rust-based VMM from scratch, directly controlling KVM ioctl (bypassing QEMU/libvirt) and implementing custom hypercalls for research and experimentation.
Note: This is an experimental project under active development. The codebase and lowβlevel interactions may change as the design evolves.
- β Environment Setup Complete
- β KVM API Version 12 Verified
- β Port I/O (0x99) Communication Success (Latest Update)
- π Custom Hypercall (0x99) - In Progress
# 1. KVM availability νμΈ
ls -l /dev/kvm
# 2. Build (inside avatar-core)
cd avatar-core && cargo build
# 3. Run (Requires sudo for KVM access)
sudo ../target/debug/tima-avatarExpected: [Guest Output] Hello (I/O branch)
2026-03-01: I/O Trap Success
- Implemented 0x99 Port I/O trap handler.
- Verified character-by-character output from guest to host.
- Established feat/first-io-success branch.
2026-02-26: Foundation
- KVM environment verification
- API Version 12 confirmed
- Hypercall preparation initiated
- Language: Rust (Edition 2021)
- Interface: Linux KVM API (ioctl)
- Libraries: kvm-ioctls, kvm-bindings, libc
- Communication: Custom Port I/O (0x99) trap