ARM64-VMM: CUSTOM KVM HYPERVISOR
Introduction
arm64-vmm is a minimalist, secure hypervisor designed to run microVMs on arm64 hardware. Built using Rust, it interacts directly with the Linux /dev/kvm API to configure CPU states, construct physical memory layouts, and handle device emulation.
Key Features
- Direct Linux KVM Integration — No bloated QEMU dependence.
- Minimal Devicetree Generation — Automatically generates devicetrees for guest kernels.
- Fast Boot Times — Booting kernel payloads to userspace in <15ms.
- VirtIO Console & Block — Clean, performant virtio bindings for console IO and disk access.
Architecture
+-----------------------------------+
| arm64-vmm |
| +--------------+ +-----------+ |
| | vCPU Thread | | Memory | |
| +--------------+ +-----------+ |
+---------|-----------------|-------+
| KVM_RUN | MMAP
+---------v-----------------v-------+
| Linux Kernel |
| +-----------------------------+ |
| | KVM Subsystem | |
| +-----------------------------+ |
+-----------------------------------+