THIS REPO IS NOW ARCHIVED. If you would like to make an addition or change, please contact [email protected]
RISC-V Software Ecosystem Overview
This document captures the status of the RISC-V Software Ecosystem. Please add
to the list and fix inaccuracies by making a Pull Request against the software list repository on GitHub.
-
Simulators
-
Object toolchain
-
Debugging
-
C compilers and libraries
-
Boot loaders and monitors
-
Hypervisor and related tools
-
OS and OS kernels
-
Compilers and runtimes for other languages
-
IDEs, SDKs and binary toolchain distributions
-
Security
-
Machine Learning / AI
-
Configuration
-
Verification Tools
-
Accelerated Libraries
We would like to enlist community help for the software ports in the Help Wanted section.
Simulators
Name |
Links |
License |
Maintainers |
riscvOVPsimPlus |
website |
Proprietary freeware |
Imperas |
DBT-RISE-RISCV |
github |
BSD 3-Clause |
MINRES Technologies |
FireSim |
website, mailing list, github, ISCA 2018 Paper |
BSD |
Sagar Karandikar, Howard Mao, Donggyu Kim, David Biancolin, Alon Amid, Berkeley Architecture Research |
gem5 |
SW-dev thread, repository |
BSD-style |
Alec Roelke (University of Virginia) |
OVPsim |
website, github |
Proprietary (core simulation platform), Apache License (processor / platform model) |
Imperas |
jor1k |
website, github |
BSD 2-Clause |
Sebastian Macke |
Jupiter |
github |
GPL-3.0 |
Andrés Castellanos |
MARSS-RISCV |
github |
MIT |
Gaurav N Kothari, Parikshit P Sarnaik, Gokturk Yuksek (State University of New York at Binghamton) |
QEMU |
upstream |
GPL |
Sagar Karandikar (University of California, Berkeley), Bastian Koppelmann (University of Paderborn), Alex Suykov, Stefan O'Rear and Michael Clark (SiFive) |
RARS |
github |
MIT |
Benjamin Landers |
Renode |
website, github |
MIT |
Antmicro |
Ripes |
github |
MIT |
Morten Borup Petersen |
RISC-V Virtual Prototype |
website, github |
MIT |
Vladimir Herdt (University of Bremen, AGRA) |
TinyEMU |
website |
MIT |
Fabrice Bellard |
Spike |
github |
BSD 3-clause |
Andrew Waterman & Yunsup Lee (SiFive) |
Swerv-ISS |
github |
GPL - 3 |
Joseph Rahmeh (Western Digital) |
VLAB |
VLAB Works |
Proprietary |
ASTC |
WebRISC-V |
github |
BSD 3-clause |
Gianfranco Mariotti, Roberto Giorgi (University of Siena) |
PQSE |
website |
Proprietary |
PQShield |
riscv-rust |
website github |
MIT |
Takahiro Aoyagi |
terminus |
github |
MIT |
Yang Li |
Vulcan |
github |
MIT |
Victor Miguel de Morais Costa |
riscv-vm |
github |
MIT |
Aidan Dodds |
EmulsiV |
Working Instance, GitHub |
Open (MPL2.0) |
Guillaume Savaton |
Object toolchain
Debugging
C compilers and libraries
Name |
Links |
License |
Maintainers |
GCC |
Upstream, RISC-V repository |
GPLv3 |
Andrew Waterman (SiFive), Palmer Dabbelt (Google), Jim Wilson (SiFive), Kito Cheng (SiFive) |
GNU MCU Eclipse RISC-V Embedded GCC (riscv-non-embed-gcc) |
Web, Repository, Build, Binary package installer |
Eclipse Public License |
Liviu lonescu |
Clang/LLVM |
Upstream |
Apache 2.0 |
Alex Bradbury (lowRISC) |
CompCert |
Upstream |
INRIA Non-Commercial License Agreement |
Xavier Leroy |
Glibc |
Upstream, RISC-V repository |
GPLv2 |
Palmer Dabbelt (Google), Andrew Waterman (SiFive), DJ Delorie (Red Hat), Darius Rad(Bluespec) |
Newlib |
Upstream, RISC-V repository |
GPLv2 |
Kito Cheng (SiFive) |
SEGGER Runtime Library |
Website |
SEGGER commercial license |
SEGGER |
SEGGER Floating Point Library |
Website |
SEGGER commercial license |
SEGGER |
Musl |
GitHub |
MIT |
- |
Green Hills Optimizing C/C++ Compilers |
Website |
Proprietary |
Green Hills |
OpenArkCompiler (MAPLE) |
Upstream |
MulanPSL-2.0 |
Futurewei |
Andes MCUlib |
website |
Andes commercial license |
Andes |
Boot loaders and monitors
Name |
Links |
License |
Maintainers |
coreboot |
Upstream |
GPLv2 |
Ron Minnich (Google), Jonathan Neuschäfer |
U-Boot |
Upstream |
GPLv2 |
Rick Chen (Andes) |
Proxy Kernel/BBL |
GitHub |
BSD 3-clause |
SiFive |
OpenSBI |
GitHub |
BSD 2-clause |
Anup Patel (Western Digital), Atish Patra (Western Digital) |
RustSBI |
GitHub |
Mulan PSL v2 |
Luo Jia (Huazhong Univ. of Sci. & Tech.) |
UEFI edk2 |
GitHub |
BSD 2-Clause Patent |
Abner Chang (Hewlett Packard Enterprise), Daniel Schaefer (Hewlett Packard Enterprise) |
Hypervisors and related tools
Name |
Links |
License |
Brief |
Maintainers |
Xvisor |
Website, Upstream, RISC-V Repo |
GPLv2 |
Type-1 baremetal monolithic hypervisor |
Anup Patel (Western Digital) |
KVM |
Website, RISC-V Repo, RISC-V Wiki |
GPLv2 |
Type-2 hypervisor |
Anup Patel (Western Digital), Atish Patra (Western Digital) |
KVMTOOL |
Upstream, RISC-V Repo |
GPLv2 |
Userspace tool for the KVM hypervisor |
Anup Patel (Western Digital), Atish Patra (Western Digital) |
RVirt |
GitHub |
Apache-2.0 |
Trap-and-emulate hypervisor |
Jonathan Behrens (MIT) |
OS and OS kernels
Linux built from source
Name |
Links |
License |
Maintainers |
Linux Kernel |
github, kernel.org |
GPLv2 |
Andrew Waterman (SiFive), Albert Ou (SiFive), Palmer Dabbelt (Google) |
Yocto Project/OpenEmbedded |
github |
MIT |
Khem Raj |
Buildroot |
busybox.net |
|
Mark Corbin (Embecosm) |
Linux distributions
Real-time Operating Systems
Name |
Links |
License |
Maintainers |
RT-Thread |
github, rt-thread.io |
Apache 2.0 |
RT-Thread |
embOS |
Website, RISC-V port |
SEGGER commercial license, free for non-commercial use |
SEGGER |
RTEMS |
rtems.org, docs.rtems.org |
|
Hesham Almatary |
FreeRTOS |
sourceforge, freertos.org |
MIT |
AWS |
Zephyr |
github, docs |
Apache 2.0 |
Karol Gugala (Antmicro), Peter Gielda (Antmicro), Nathaniel Graff (SiFive) |
LiteOS |
github, docs |
|
Chaifangming (Huawei), Pengzhouhu (Huawei), Huerjia (Huawei) |
NuttX |
bitbucket.org, nuttx.org |
|
|
Apache Mynewt |
riscv.org |
Apache 2.0 |
James Pace, Runtime |
OpenWrt |
github, binary repo |
|
Zoltan Herpai |
seL4 |
github, seL4.systems |
GPLv2 (kernel and proofs), various open-source licenses (userland) |
Trustworthy Systems group, Data61 CSIRO |
PikeOS |
Press release |
Proprietary |
SYSGO |
VxWorks |
Press release |
Proprietary |
Wind River |
Embox |
github, embox.rocks |
|
Embox |
Phoenix-RTOS |
github, documentation |
BSD |
Phoenix Systems |
BSD distributions
Compilers and runtimes for other languages
Name |
Links |
License |
Maintainers |
Go |
Upstream, RISC-V repository, Stef's fork |
BSD 3-clause |
Benjamin Barenblat (Google), Michael Pratt (Google), Stef O'Rear |
Ocaml |
Upstream, RISC-V repository |
LGPL |
Nicolás Ojeda Bär |
Maxine VM (Java Virtual Machine) |
Upstream |
GPLv2 |
Maxine team |
Jikes RVM (Java Virtual Machine) |
Upstream |
Eclipse Public License (EPL) |
Martin Maas (University of California, Berkeley) |
OpenJDK/HotSpot (Java Virtual Machine) |
? |
? |
Alexey Baturo, Michael Knysnek, Martin Maas |
OpenJDK/OpenJ9 (Java Virtual Machine) |
Upstream |
Eclipse Public License 2.0 (EPLv2) with ClassPath Exception & Apache 2.0 |
Cheng Jin |
BishengJDK/HotSpot (Java Virtual Machine) |
Upstream |
GPLv2 with Classpath Exception |
Yadong Wang |
Free Pascal |
Upstream |
? |
Jeppe Johansen and others |
Nim |
Upstream |
MIT |
Andreas Rumpf and others |
Ada (GNAT) |
Upstream |
GPLv3 with linking exception |
AdaCore |
Rust |
Upstream |
Apache and MIT |
Rust Project |
muForth |
Upstream |
? |
David Frech |
ibForth |
Upstream |
GPLv3 |
Lars Brinkhoff |
Mecrisp-Quintis Forth kernel |
Upstream |
? |
Matthias Koch |
Mono |
Initial support in upstream |
MIT |
Alex Rønne Petersen |
Zen |
Zen-Lang.org |
Commercial, AGPLv3 |
connectFree Corporation |
V8 (JS) |
Upstream github |
BSD |
RIOS, Futurewei, PLCT Lab |
Node.js |
github |
MIT |
RIOS, Futurewei, PLCT Lab |
OpenArkCompiler (MAPLE) |
Upstream |
MulanPSL-2.0 |
Futurewei |
Eclipse OMR |
github |
Eclipse Public License 2.0 (EPLv2) with ClassPath and Assembly Exception & Apache 2.0 |
Eclipse OMR Project |
IDEs, SDKs and binary toolchain distributions
Security
Name |
Links |
License |
Maintainers |
emCrypt |
Website |
Commercial, free for non-commercial use |
SEGGER |
CoreGuard |
Website |
Proprietary |
Dover Microsystems, Inc. |
MultiZone API |
GitHub |
ISC |
Hex Five Security Inc. |
Secure IoT Stack |
GitHub |
MIT, GPLv2, GPLv3, Evaluation license |
Hex Five Security Inc. |
MultiZone Security TEE & Enclave |
SDK, Enclave |
Evaluation license |
Hex Five Security Inc. |
Keystone Enclave |
Website, Repositories |
BSD 3-clause |
Keystone Team |
SecureRF |
Website, SDK |
Proprietary |
SecureRF Corp. |
IntrinsicID |
Quiddikey |
Proprietary |
Intrinsic ID |
Penglai Enclave |
Website, GitHub |
Mulan PSL v1 |
IPADS |
PQSLIB / PQSoC |
Website |
Proprietary |
PQShield |
Ghidra |
Website, Github |
Apache 2.0 |
National Security Agency |
Machine Learning / AI
Configuration
Name |
Links |
License |
Maintainers |
RISC-V Explorer |
Website |
Proprietary |
BlueSpec |
Verification Tools
Accelerated Libraries
Name |
Links |
License |
Maintainers |
OpenBLAS (Support RISC-V V extension 0.7.1) |
GitHub |
BSD 3-clause |
PerfXLab |
Andes DSP Library |
website |
Andes commercial license |
Andes |
Andes Vector Library |
website |
Andes commercial license |
Andes |
Help Wanted