LekKit/RVVM logo

LekKit/RVVM

Free

The RISC-V Virtual Machine

FreeFree tier
Type
Open Source

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

Fully spec-compliant rv64imafdcb instruction set with Zkr/Zicbom/Zicboz/Sstc extensions
Tracing JIT compiler with x86_64, ARM64, and RISC-V backends (faster than QEMU TCG)
Supports booting OpenSBI, U-Boot, Linux, FreeBSD, OpenBSD, Haiku guests
Framebuffer display with HID mouse and keyboard, UART terminal
NVMe storage drives with TRIM support and fast multi-threaded I/O
Networking userland stack that works on any host OS
VFIO PCIe passthrough for GPUs and other devices
Kernel-level isolation to prevent and contain vulnerability exploitation
Library API (librvvm) for machine/userland emulation and implementing new devices
Userland emulation (Work in Progress)

Pros & Cons

Pros
  • 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
Cons
  • 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

Best For

Running RISC-V operating systems on foreign-arch hostsDevelopment and testing of RISC-V software and kernelsEmulating RISC-V applications via userland emulationSecurity research using kernel-level isolation featuresHardware passthrough for GPU and PCIe devices in virtualized RISC-V environments