RVVM
opensbi-h
RVVM | opensbi-h | |
---|---|---|
7 | 1 | |
822 | 28 | |
- | - | |
9.6 | 0.0 | |
13 days ago | about 1 year ago | |
C | C | |
GNU General Public License v3.0 only | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
RVVM
opensbi-h
-
RVVM – The RISC-V Virtual Machine
> I wish ARM64, RISC-V, and other modern ISAs had taken DEC Alpha AXP's idea of restricting all of the privileged instructions to the firmware
This is already possible on RISC-V to some extend, by trapping privileged instructions into upper privileged modes. Everything in the ISA is made so it may be achieved cleanly. It also does not allow to detect current privileged mode, so the kernel running in U-mode and trapped on each privileged instruction would never know it's actually not in S-mode.
There is even a software-based hypervisor extension emulator based on that, that brings KVM to non-hypervisor-capable HW: https://github.com/dramforever/opensbi-h
What are some alternatives?
rvemu - RISC-V emulator for CLI and Web written in Rust with WebAssembly. It supports xv6 and Linux (ongoing).
chipyard - An Agile RISC-V SoC Design Framework with in-order cores, out-of-order cores, accelerators, and more
small-vm - A small virtual machine, following the "Write your own virtual machine" : https://justinmeiners.github.io/lc3-vm/ course.
qemu-pinning - My QEMU fork with pinning (affinity) support and a few tweaks.
cheribsd - FreeBSD adapted for CHERI-RISC-V and Arm Morello.
jupiter - RISC-V Assembler and Runtime Simulator
retro-go - Retro emulation for the ODROID-GO and other ESP32 devices
article-transfer-rs - Rust/Go/php-src article translate
GCC-Cross-Compiler - These are gcc cross compiler tools.
terminus - A riscv isa simulator in rust.
ch32v00 - Unofficial snap for ch32v00* chipset development tools