LekKit/RVVM
FreeThe RISC-V Virtual Machine
About LekKit/RVVM
RVVM is a high-performance virtual machine and emulator for RISC-V guests, emphasizing performance, security, lean code, and portability. It supports full rv64imafdcb instruction set with extensions like Zkr, Zicbom, Zicboz, and Sstc, and includes a tracing JIT compiler with x86_64, ARM64, and RISC-V backends that outperforms QEMU TCG. It can boot multiple guest operating systems, including Linux, FreeBSD, OpenBSD, and Haiku, and provides framebuffer display, HID input, UART terminal, NVMe storage with TRIM and multi-threaded I/O, a networking userland stack, VFIO PCIe passthrough, and kernel-level isolation for security. It also offers a library API (librvvm) for embedding emulation and a work-in-progress userland emulation mode. The project is licensed under MPL-2.0 (library) and GPL-3.0 (binaries).
Key Features
Pros & Cons
- High performance JIT compilation faster than QEMU TCG
- Extremely portable and lightweight
- Open source with dual licensing (MPL-2.0 library, GPL-3.0 binaries)
- Supports a wide range of RISC-V guest operating systems
- Includes advanced features like VFIO passthrough and NVMe storage
- Kernel-level isolation enhances security
- Userland emulation is still work in progress
- Some features like shadow pagetable acceleration are incomplete
- Primarily focused on RISC-V, not a general-purpose emulator