An interpreter for the RV32I instruction set
Go to file
mappu 49a1f26c06 chore: rename module to allow public go-mod imports 2022-12-28 16:07:11 +13:00
cmd/riscvrun chore: rename module to allow public go-mod imports 2022-12-28 16:07:11 +13:00
.gitignore cpu: separate into cpu/cmd/test/world files 2022-12-28 12:05:26 +13:00
LICENSE doc: add README.md and ISC license 2022-12-28 12:12:54 +13:00
README.md chore: rename module to allow public go-mod imports 2022-12-28 16:07:11 +13:00
cpu.go chore: rename module to allow public go-mod imports 2022-12-28 16:07:11 +13:00
cpu_test.go cpu.test: add test cases for add, ebreak, assembling fragments with llvm 2022-12-28 15:58:24 +13:00
eei.go cpu: implement ECALL/EBREAK 2022-12-28 14:46:41 +13:00
go.mod chore: rename module to allow public go-mod imports 2022-12-28 16:07:11 +13:00
virtualEei.go eei: fixes for write-through pages, endianness 2022-12-28 15:57:49 +13:00
virtualEei_test.go eei: fixes for write-through pages, endianness 2022-12-28 15:57:49 +13:00

README.md

riscvemu

An interpreter for the RV32I instruction set.

Features:

  • Supports RV32I base instructions only (so far)
  • Page-based virtual memory, with custom memory traps and syscalls
  • Install with Go Modules (go get code.ivysaur.me/riscvemu)

License

ISC License

The source code includes quotations from the RISC-V Instruction Set Manual under the Creative Commons Attribution 4.0 International License.

References