├── .clang-format ├── .gitignore ├── .gitmodules ├── LICENSE ├── Makefile ├── README.md ├── mk ├── common.mk ├── external.mk └── tests.mk ├── src ├── arena.cpp ├── arena.h ├── arena_objects.h ├── codegen │ ├── arch_traits.cpp │ ├── arch_traits.h │ ├── asmjit_deps.h │ ├── emit.cpp │ ├── emit.h │ ├── jitabi.cpp │ ├── jitabi.h │ ├── qcg.cpp │ ├── qcg.h │ ├── regalloc.cpp │ └── select.cpp ├── config.h ├── env.cpp ├── env.h ├── execute.cpp ├── execute.h ├── guest │ ├── rv32_cpu.h │ ├── rv32_decode.h │ ├── rv32_insn.h │ ├── rv32_interp.cpp │ ├── rv32_ops.h │ ├── rv32_qir.cpp │ ├── rv32_qir.h │ └── rv32_stubs.h ├── ir │ ├── compile.cpp │ ├── compile.h │ ├── marker.h │ ├── qir.cpp │ ├── qir.h │ ├── qir_builder.h │ ├── qir_ops.h │ ├── qir_opt.cpp │ └── qir_opt.h ├── main.cpp ├── mmu.cpp ├── mmu.h ├── runtime_stubs.cpp ├── runtime_stubs.h ├── syscalls.h ├── tcache.cpp ├── tcache.h └── util │ ├── allocator.h │ ├── bitfield.h │ ├── common.cpp │ ├── common.h │ └── ilist.h └── tests └── program-arguments ├── dut.c ├── dut.elf └── reference.out /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/.clang-format -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/.gitmodules -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/README.md -------------------------------------------------------------------------------- /mk/common.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/mk/common.mk -------------------------------------------------------------------------------- /mk/external.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/mk/external.mk -------------------------------------------------------------------------------- /mk/tests.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/mk/tests.mk -------------------------------------------------------------------------------- /src/arena.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/arena.cpp -------------------------------------------------------------------------------- /src/arena.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/arena.h -------------------------------------------------------------------------------- /src/arena_objects.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/arena_objects.h -------------------------------------------------------------------------------- /src/codegen/arch_traits.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/codegen/arch_traits.cpp -------------------------------------------------------------------------------- /src/codegen/arch_traits.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/codegen/arch_traits.h -------------------------------------------------------------------------------- /src/codegen/asmjit_deps.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/codegen/asmjit_deps.h -------------------------------------------------------------------------------- /src/codegen/emit.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/codegen/emit.cpp -------------------------------------------------------------------------------- /src/codegen/emit.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/codegen/emit.h -------------------------------------------------------------------------------- /src/codegen/jitabi.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/codegen/jitabi.cpp -------------------------------------------------------------------------------- /src/codegen/jitabi.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/codegen/jitabi.h -------------------------------------------------------------------------------- /src/codegen/qcg.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/codegen/qcg.cpp -------------------------------------------------------------------------------- /src/codegen/qcg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/codegen/qcg.h -------------------------------------------------------------------------------- /src/codegen/regalloc.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/codegen/regalloc.cpp -------------------------------------------------------------------------------- /src/codegen/select.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/codegen/select.cpp -------------------------------------------------------------------------------- /src/config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/config.h -------------------------------------------------------------------------------- /src/env.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/env.cpp -------------------------------------------------------------------------------- /src/env.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/env.h -------------------------------------------------------------------------------- /src/execute.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/execute.cpp -------------------------------------------------------------------------------- /src/execute.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/execute.h -------------------------------------------------------------------------------- /src/guest/rv32_cpu.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/guest/rv32_cpu.h -------------------------------------------------------------------------------- /src/guest/rv32_decode.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/guest/rv32_decode.h -------------------------------------------------------------------------------- /src/guest/rv32_insn.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/guest/rv32_insn.h -------------------------------------------------------------------------------- /src/guest/rv32_interp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/guest/rv32_interp.cpp -------------------------------------------------------------------------------- /src/guest/rv32_ops.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/guest/rv32_ops.h -------------------------------------------------------------------------------- /src/guest/rv32_qir.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/guest/rv32_qir.cpp -------------------------------------------------------------------------------- /src/guest/rv32_qir.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/guest/rv32_qir.h -------------------------------------------------------------------------------- /src/guest/rv32_stubs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/guest/rv32_stubs.h -------------------------------------------------------------------------------- /src/ir/compile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/ir/compile.cpp -------------------------------------------------------------------------------- /src/ir/compile.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/ir/compile.h -------------------------------------------------------------------------------- /src/ir/marker.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/ir/marker.h -------------------------------------------------------------------------------- /src/ir/qir.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/ir/qir.cpp -------------------------------------------------------------------------------- /src/ir/qir.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/ir/qir.h -------------------------------------------------------------------------------- /src/ir/qir_builder.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/ir/qir_builder.h -------------------------------------------------------------------------------- /src/ir/qir_ops.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/ir/qir_ops.h -------------------------------------------------------------------------------- /src/ir/qir_opt.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/ir/qir_opt.cpp -------------------------------------------------------------------------------- /src/ir/qir_opt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/ir/qir_opt.h -------------------------------------------------------------------------------- /src/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/main.cpp -------------------------------------------------------------------------------- /src/mmu.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/mmu.cpp -------------------------------------------------------------------------------- /src/mmu.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/mmu.h -------------------------------------------------------------------------------- /src/runtime_stubs.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/runtime_stubs.cpp -------------------------------------------------------------------------------- /src/runtime_stubs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/runtime_stubs.h -------------------------------------------------------------------------------- /src/syscalls.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/syscalls.h -------------------------------------------------------------------------------- /src/tcache.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/tcache.cpp -------------------------------------------------------------------------------- /src/tcache.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/tcache.h -------------------------------------------------------------------------------- /src/util/allocator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/util/allocator.h -------------------------------------------------------------------------------- /src/util/bitfield.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/util/bitfield.h -------------------------------------------------------------------------------- /src/util/common.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/util/common.cpp -------------------------------------------------------------------------------- /src/util/common.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/util/common.h -------------------------------------------------------------------------------- /src/util/ilist.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/src/util/ilist.h -------------------------------------------------------------------------------- /tests/program-arguments/dut.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/tests/program-arguments/dut.c -------------------------------------------------------------------------------- /tests/program-arguments/dut.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/tests/program-arguments/dut.elf -------------------------------------------------------------------------------- /tests/program-arguments/reference.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/rv32jit/HEAD/tests/program-arguments/reference.out --------------------------------------------------------------------------------