Commit Briefs

Benjamin Stürz

Actually rename to linurv (main)

Benjamin Stürz

Rename to Linurv

Benjamin Stürz


Benjamin Stürz

Port to arm64

Benjamin Stürz

Add clang dep for NetBSD

Benjamin Stürz


Benjamin Stürz

Add support for NetBSD

Benjamin Stürz

fix 'make test'

Benjamin Stürz


Benjamin Stürz

Use PRIx64 macros instead of llx



This repository contains no tags


.gitignorecommits | blame
Makefilecommits | blame
READMEcommits | blame
config.mkcommits | blame | blame | blame | blame | blame
test.txtcommits | blame


# 64-Bit Linux Userspace RISC-V Emulator
This emulator allows you to run statically-compiled binaries for riscv64-unknown-linux-musl.
The goal is to support most POSIX-compatible OS on most 64bit CPU architectures.

## Instructions
Building rvemu is very simple, just do:

  $ make rvemu

To install rvemu, do:

  # make [PREFIX=/usr/local] install

If you don't already have a toolchain, you can build it with:

  $ make -C tools -j8

To run a test program do:

  $ make run

Look into the examples directory, for example programs.
You can specify which example to run with the T parameter.
Example for the cat.elf program:

  $ make T=cat run

## Supported Host Architectures
Due to design decisions, only 64bit archs can be supported:

- amd64
- arm64

Note: Once I get more hardware, I can port it to other architectures.

## Supported Host OSs
- OpenBSD
- FreeBSD
- NetBSD
- Linux

## Non-standard Toolchain Dependencies
- gsed (GNU sed)
- gmake (GNU make)
- sudo or doas (only for `make run`, see*)
- wget or curl (only on Linux)
- clang (only on NetBSD, because the distribution gcc is too old)

## Resources

## Bugs
This project is still very experimental and has bugs!
If you find one, please contact Benjamin Stürz <benni AT stuerz DOT xyz>.