This content is reproduced for convenience from the GitHub Wiki page on this topic.

The original page is available at:

https://github.com/riscv/riscv-wiki/wiki/RISC-V-Software-Status

RISC-V Software Ecosystem Overview

This document captures the status of the RISC-V Software Ecosystem. Please add to the list and fix inaccuracies.

We would like to enlist community help for the software ports in the Help Wanted section.

Simulators

Name Links License Maintainers
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)
Imperas website Proprietary, models available under Apache 2.0 Imperas
riscvOVPsim github license Imperas
OVPsim website Free for non commercial use, models available under Apache 2.0 Imperas
jor1k website, github BSD 2-Clause Sebastian Macke
QEMU upstream, RISC-V Github GPL Sagar Karandikar (University of California, Berkeley), Bastian Koppelmann (University of Paderborn), Alex Suykov, Stefan O'Rear and Michael Clark (SiFive)
Renode website, github MIT Antmicro
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)

Object toolchain

Binutils
LLVM
Cranelift

Debugging

Gdb
OpenOCD
GNU MCU Eclipse OpenOCD

A binary distribution of OpenOCD with support for RISC-V.

Imperas Multi Processor Debugger
TCF Debugger

C compilers and libraries

GCC
GNU MCU Eclipse RISC-V Embedded GCC (riscv-none-embed-gcc)

A binary distribution of the RISC-V toolchain, intended for bare-metal embedded applications.

clang
CompCert
Glibc
Newlib
  • Maintainer(s): Kito Cheng (Andes)
  • Version: 2.5.0
  • Status: Upstream, RISC-V support available starting in 2.5.0
  • Future work: Prepare patches for review.
  • RISC-V repository: https://github.com/riscv/riscv-newlib
  • Upstream repository: git://sourceware.org/git/newlib-cygwin.git
  • Privileged Spec:
  • User Spec: 2.0
  • ABI:
Musl
  • Maintainer(s):
  • Version:
  • Status:
  • Upstreaming status:
  • Future work:
  • RISC-V repository:
  • Upstream repository:
  • Privileged Spec:
  • User Spec: 2.0
  • ABI:

Boot loaders and monitors

coreboot
  • Maintainer(s): Ron Minnich (Google), Jonathan Neuschäfer
  • Version: master
  • Status: runs on spike, lowRISC/Nexys4DDR. Linux doesn't quite work yet.
  • Upstreaming status: upstream
  • Future work:
  • RISC-V repository:
  • Upstream repository: https://review.coreboot.org/cgit/coreboot.git/
  • Privileged Spec: 1.9
  • User Spec: 2.0
  • ABI:

More information:

UEFI
  • Maintainer(s): Abner Chang, Dong Wei (HP Enterprise)
  • Version:
  • Status:
  • Upstreaming status:
  • Future work:
  • RISC-V repository:
  • Upstream repository:
  • Privileged Spec:
  • User Spec: 2.0
  • ABI:

https://content.riscv.org/wp-content/uploads/2016/01/Tues1415-RISC-V-and-UEFI.pdf

Proxy Kernel/BBL

Kernels

Linux Kernel
seL4
RTEMS
FreeRTOS
  • Maintainer(s):
  • Version:
  • Status:
  • Upstreaming status:
  • Future work:
  • RISC-V repository:
  • Upstream repository:
  • Privileged Spec:
  • User Spec: 2.0
  • ABI:
Apache Mynewt
Zephyr

Operating systems

Fedora
  • Maintainer(s): Richard WM Jones, Stefan O’Rear, David Abdurachmanov
  • Version: 25
  • Status: Packages from @Core group (except dracut and plymouth) built against an old ABI; on hold until the bootstrap can be repeated and automated
  • Upstreaming status: Some changes upstreamed
  • Future work: Redo bootstrap with gcc-7, upstream all patches
  • RISC-V repository:
  • Upstream repository:
  • Privileged Spec: (depends on kernel used)
  • User Spec: 2.0
  • ABI: ~ September 2016 (not gcc-7)
  • Links: http://fedoraproject.org/wiki/Architectures/RISC-V
Debian
openSUSE
Yocto Project/OpenEmbedded
Poky
Gentoo
Parabola GNU/Linux-libre
OpenWrt
Busybox
Buildroot
  • Maintainer(s): Mark Corbin (Embecosm)
  • Version:
    • master branch as of Sept 25, 2018 (64 bit)
    • master branch as of Jan 10, 2019 (32 bit)
  • Status: Basic RISC-V 32-bit and 64-bit support for QEMU virtual target
  • Upstreaming status: upstream
  • Future work: -
  • Upstream repository: https://git.busybox.net/buildroot/
  • Privileged Spec:
  • User Spec:
  • ABI:
FreeBSD

https://content.riscv.org/wp-content/uploads/2016/01/Tues1445-freebsd-riscv-1.pdf

NetBSD

Compilers and runtimes for other languages

Go
OCaml
Jikes RVM (Java Virtual Machine)
  • Maintainer(s): Martin Maas (University of California, Berkeley)
  • Version:
  • Status:
  • Upstreaming status:
  • Future work:
  • RISC-V repository: Not yet public
  • Upstream repository: https://github.com/JikesRVM/JikesRVM
  • Privileged Spec:
  • User Spec: 2.0
  • ABI:
OpenJDK/HotSpot (Java Virtual Machine)
  • Maintainer(s): Alexey Baturo, Michael Knyszek, Martin Maas
  • contact seanhalle at intensivate dot com to join the porting effort
  • Version:
  • Status: Interpreter near completion (Oct 1, 2018)
  • Upstreaming status:
  • Future work: Modify MIPS backend code generator to emit RISC-V instructions
  • RISC-V repository: contact Sean Halle at Intensivate to be added
  • Upstream repository:
  • Privileged Spec:
  • User Spec: 2.0
  • ABI:
Free Pascal
  • Maintainer(s): Jeppe Johansen and others
  • Version: trunk
  • Status: supports most constructs of RV64IMAFDC but lacks hard float calling convention support
  • Upstreaming status: integrated in trunk september 2018
  • Future work: ABI work, optimizations, bug fixes, and full RV32 support
  • Upstream repository: https://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/
  • Privileged Spec: 1.9.1
  • User Spec: 2.2
  • ABI: Integer calling convention only
Nim
  • Maintainer(s): Andreas Rumpf and others
  • Version: 0.18.1
  • Status: Initial support added
  • RISC-V repository: same as upstream
  • Upstream repository: https://nim-lang.org/
Forth kernels

muForth

lbForth

  • Maintainer(s): Lars Brinkhoff
  • Version:
  • Status:
  • Upstreaming status: N/A
  • Future work:
  • RISC-V repository: N/A
  • Upstream repository: https://github.com/larsbrinkhoff/lbForth
  • Privileged Spec:
  • User Spec: 2.0
  • ABI: N/A

Mecrisp-Quintus

Ada (GNAT)
Rust

IDEs

GNU MCU Eclipse

An open source project that includes a family of Eclipse plug-ins and tools for multi-platform embedded development, based on GNU toolchains; includes support for RISC-V.

Help Wanted

  • V8
  • Node.js
  • Dart