Blob


1 # 64-Bit Linux Userspace RISC-V Emulator
2 This emulator allows you to run statically-compiled binaries for riscv64-unknown-linux-musl.
3 The goal is to support most POSIX-compatible OS on most 64bit CPU architectures.
5 ## Instructions
6 Building rvemu is very simple, just do:
8 $ make rvemu
10 To install rvemu, do:
12 # make [PREFIX=/usr/local] install
14 If you don't already have a toolchain, you can build it with:
16 $ make -C tools -j8
18 To run a test program do:
20 $ make run
22 Look into the examples directory, for example programs.
23 You can specify which example to run with the T parameter.
24 Example for the cat.elf program:
26 $ make T=cat run
28 ## Supported Host Architectures
29 Due to design decisions, only 64bit archs can be supported:
31 - amd64
32 - arm64
34 Note: Once I get more hardware, I can port it to other architectures.
36 ## Supported Host OSs
37 - OpenBSD
38 - FreeBSD
39 - NetBSD
40 - Linux
42 ## Non-standard Toolchain Dependencies
43 - gsed (GNU sed)
44 - gmake (GNU make)
45 - sudo or doas (only for `make run`, see config.mk.*)
46 - wget or curl (only on Linux)
47 - clang (only on NetBSD, because the distribution gcc is too old)
49 ## Resources
50 - https://riscv.org/wp-content/uploads/2017/05/riscv-spec-v2.2.pdf
51 - https://five-embeddev.com/riscv-isa-manual/latest/instr-table.html
54 ## Bugs
55 This project is still very experimental and has bugs!
56 If you find one, please contact Benjamin Stürz <benni AT stuerz DOT xyz>.