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