├── .gitignore ├── .gitmodules ├── .travis.yml ├── ChangeLog.md ├── LICENSE ├── Makefile ├── READING.md ├── README.md ├── Setup.hs ├── clean-circuit.sh ├── device_tree ├── device_tree.bin ├── elf2hex ├── ElfFile.cpp ├── ElfFile.hpp ├── ElfLoader.cpp ├── ElfLoader.hpp ├── Makefile └── elf2hex.cpp ├── exceptions.md ├── hie.yaml ├── install.sh ├── install_riscv_gcc.sh ├── linux-build.md ├── loc.py ├── loc.sh ├── make-circuit.sh ├── package.yaml ├── riscv-compliance.py ├── riscv-memory-model ├── README.md ├── RiscvSemantics.java ├── download_alloy.sh ├── riscv.als ├── riscv.thm ├── riscvSemantics.jar └── script.sh ├── riscv-semantics.cabal ├── riscv.als ├── run_riscv_mm_litmus.sh ├── setup.sh ├── src ├── Platform │ ├── BufferMMIO.hs │ ├── Clash.hs │ ├── ClashAccelerator.hs │ ├── CleanTest.hs │ ├── Clint.hs │ ├── EtcClashGCD │ │ ├── Makefile │ │ ├── gcd.S │ │ └── link.ld │ ├── ExecuteClash.hs │ ├── GcdExpr.hs │ ├── MMIO.hs │ ├── MainCompliance.hs │ ├── MainMM.hs │ ├── MainRun.hs │ ├── MainTest.hs │ ├── MemoryModelTracking.hs │ ├── Minimal32.hs │ ├── Minimal64.hs │ ├── Plic.hs │ ├── Pty.hs │ ├── Run.hs │ ├── Run32.hs │ ├── RunCompliance.hs │ ├── RunFast.hs │ ├── RunMM.hs │ └── Test.hs ├── Spec │ ├── CSR.hs │ ├── CSRField.hs │ ├── CSRFile.hs │ ├── CSRFileIO.hs │ ├── CSRGetSet.hs │ ├── CSRSpec.hs │ ├── Decode.hs │ ├── Execute.hs │ ├── Execute32.hs │ ├── ExecuteA.hs │ ├── ExecuteA64.hs │ ├── ExecuteCSR.hs │ ├── ExecuteF.hs │ ├── ExecuteF64.hs │ ├── ExecuteI.hs │ ├── ExecuteI64.hs │ ├── ExecuteM.hs │ ├── ExecuteM64.hs │ ├── Machine.hs │ ├── Memory.hs │ ├── Spec.hs │ └── VirtualMemory.hs ├── Tandem │ ├── CircularBuffer.hpp │ ├── ElfFile.cc │ ├── ElfFile.h │ ├── Makefile │ ├── Tandem.cpp │ └── Tandem.hpp └── Utility │ ├── Elf.hs │ ├── ListMemory.hs │ ├── LitmusToRiscv.hs │ ├── MapMemory.hs │ └── Utility.hs ├── stack.yaml └── test ├── Makefile ├── encoding.h ├── init.S ├── link.ld ├── litmus ├── 2+2W+fence.rw.rw+po.litmus ├── 2+2W+fence.rw.rws.litmus ├── 2+2W.litmus ├── LB+ctrl+po.litmus ├── LB+ctrls.litmus ├── LB+data+ctrl.litmus ├── LB+data+po.litmus ├── LB+datas.litmus ├── LB+fence.rw.rw+ctrl.litmus ├── LB+fence.rw.rw+data.litmus ├── LB+fence.rw.rw+po.litmus ├── LB+fence.rw.rws.litmus ├── LB.litmus ├── MP+fence.rw.rw+addr.litmus ├── MP+fence.rw.rw+ctrl.litmus ├── MP+fence.rw.rw+po.litmus ├── MP+fence.rw.rws.litmus ├── MP+po+addr.litmus ├── MP+po+ctrl.litmus ├── MP+po+fence.rw.rw.litmus ├── MP.litmus ├── R+fence.rw.rw+po.litmus ├── R+fence.rw.rws.litmus ├── R+po+fence.rw.rw.litmus ├── R.litmus ├── S+fence.rw.rw+ctrl.litmus ├── S+fence.rw.rw+data.litmus ├── S+fence.rw.rw+po.litmus ├── S+fence.rw.rws.litmus ├── S+po+ctrl.litmus ├── S+po+data.litmus ├── S+po+fence.rw.rw.litmus ├── S.litmus ├── SB+fence.rw.rw+po.litmus ├── SB+fence.rw.rws.litmus ├── SB.litmus └── encoding.h ├── mmio.c ├── mmio.h ├── mmio.ld ├── mp.S ├── mpFence.S ├── sbData.S ├── sbFence.S ├── src ├── add.c ├── and.c ├── colors.c ├── csr.c ├── ebreak.c ├── gfx.c ├── hello.c ├── illegal.c ├── mandelbrot.c ├── mul.c ├── mul_support.c ├── or.c ├── reverse.c ├── sub.c ├── thuemorse.c ├── time.c ├── trap.c └── xor.c └── trap_handler.h /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/.gitmodules -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/.travis.yml -------------------------------------------------------------------------------- /ChangeLog.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/ChangeLog.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/Makefile -------------------------------------------------------------------------------- /READING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/READING.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/README.md -------------------------------------------------------------------------------- /Setup.hs: -------------------------------------------------------------------------------- 1 | import Distribution.Simple 2 | main = defaultMain 3 | -------------------------------------------------------------------------------- /clean-circuit.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/clean-circuit.sh -------------------------------------------------------------------------------- /device_tree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/device_tree -------------------------------------------------------------------------------- /device_tree.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/device_tree.bin -------------------------------------------------------------------------------- /elf2hex/ElfFile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/elf2hex/ElfFile.cpp -------------------------------------------------------------------------------- /elf2hex/ElfFile.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/elf2hex/ElfFile.hpp -------------------------------------------------------------------------------- /elf2hex/ElfLoader.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/elf2hex/ElfLoader.cpp -------------------------------------------------------------------------------- /elf2hex/ElfLoader.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/elf2hex/ElfLoader.hpp -------------------------------------------------------------------------------- /elf2hex/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/elf2hex/Makefile -------------------------------------------------------------------------------- /elf2hex/elf2hex.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/elf2hex/elf2hex.cpp -------------------------------------------------------------------------------- /exceptions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/exceptions.md -------------------------------------------------------------------------------- /hie.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/hie.yaml -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/install.sh -------------------------------------------------------------------------------- /install_riscv_gcc.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/install_riscv_gcc.sh -------------------------------------------------------------------------------- /linux-build.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/linux-build.md -------------------------------------------------------------------------------- /loc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/loc.py -------------------------------------------------------------------------------- /loc.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/loc.sh -------------------------------------------------------------------------------- /make-circuit.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/make-circuit.sh -------------------------------------------------------------------------------- /package.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/package.yaml -------------------------------------------------------------------------------- /riscv-compliance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/riscv-compliance.py -------------------------------------------------------------------------------- /riscv-memory-model/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/riscv-memory-model/README.md -------------------------------------------------------------------------------- /riscv-memory-model/RiscvSemantics.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/riscv-memory-model/RiscvSemantics.java -------------------------------------------------------------------------------- /riscv-memory-model/download_alloy.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/riscv-memory-model/download_alloy.sh -------------------------------------------------------------------------------- /riscv-memory-model/riscv.als: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/riscv-memory-model/riscv.als -------------------------------------------------------------------------------- /riscv-memory-model/riscv.thm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/riscv-memory-model/riscv.thm -------------------------------------------------------------------------------- /riscv-memory-model/riscvSemantics.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/riscv-memory-model/riscvSemantics.jar -------------------------------------------------------------------------------- /riscv-memory-model/script.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/riscv-memory-model/script.sh -------------------------------------------------------------------------------- /riscv-semantics.cabal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/riscv-semantics.cabal -------------------------------------------------------------------------------- /riscv.als: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/riscv.als -------------------------------------------------------------------------------- /run_riscv_mm_litmus.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/run_riscv_mm_litmus.sh -------------------------------------------------------------------------------- /setup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/setup.sh -------------------------------------------------------------------------------- /src/Platform/BufferMMIO.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/BufferMMIO.hs -------------------------------------------------------------------------------- /src/Platform/Clash.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/Clash.hs -------------------------------------------------------------------------------- /src/Platform/ClashAccelerator.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/ClashAccelerator.hs -------------------------------------------------------------------------------- /src/Platform/CleanTest.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/CleanTest.hs -------------------------------------------------------------------------------- /src/Platform/Clint.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/Clint.hs -------------------------------------------------------------------------------- /src/Platform/EtcClashGCD/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/EtcClashGCD/Makefile -------------------------------------------------------------------------------- /src/Platform/EtcClashGCD/gcd.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/EtcClashGCD/gcd.S -------------------------------------------------------------------------------- /src/Platform/EtcClashGCD/link.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/EtcClashGCD/link.ld -------------------------------------------------------------------------------- /src/Platform/ExecuteClash.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/ExecuteClash.hs -------------------------------------------------------------------------------- /src/Platform/GcdExpr.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/GcdExpr.hs -------------------------------------------------------------------------------- /src/Platform/MMIO.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/MMIO.hs -------------------------------------------------------------------------------- /src/Platform/MainCompliance.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/MainCompliance.hs -------------------------------------------------------------------------------- /src/Platform/MainMM.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/MainMM.hs -------------------------------------------------------------------------------- /src/Platform/MainRun.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/MainRun.hs -------------------------------------------------------------------------------- /src/Platform/MainTest.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/MainTest.hs -------------------------------------------------------------------------------- /src/Platform/MemoryModelTracking.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/MemoryModelTracking.hs -------------------------------------------------------------------------------- /src/Platform/Minimal32.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/Minimal32.hs -------------------------------------------------------------------------------- /src/Platform/Minimal64.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/Minimal64.hs -------------------------------------------------------------------------------- /src/Platform/Plic.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/Plic.hs -------------------------------------------------------------------------------- /src/Platform/Pty.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/Pty.hs -------------------------------------------------------------------------------- /src/Platform/Run.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/Run.hs -------------------------------------------------------------------------------- /src/Platform/Run32.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/Run32.hs -------------------------------------------------------------------------------- /src/Platform/RunCompliance.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/RunCompliance.hs -------------------------------------------------------------------------------- /src/Platform/RunFast.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/RunFast.hs -------------------------------------------------------------------------------- /src/Platform/RunMM.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/RunMM.hs -------------------------------------------------------------------------------- /src/Platform/Test.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Platform/Test.hs -------------------------------------------------------------------------------- /src/Spec/CSR.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/CSR.hs -------------------------------------------------------------------------------- /src/Spec/CSRField.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/CSRField.hs -------------------------------------------------------------------------------- /src/Spec/CSRFile.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/CSRFile.hs -------------------------------------------------------------------------------- /src/Spec/CSRFileIO.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/CSRFileIO.hs -------------------------------------------------------------------------------- /src/Spec/CSRGetSet.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/CSRGetSet.hs -------------------------------------------------------------------------------- /src/Spec/CSRSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/CSRSpec.hs -------------------------------------------------------------------------------- /src/Spec/Decode.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/Decode.hs -------------------------------------------------------------------------------- /src/Spec/Execute.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/Execute.hs -------------------------------------------------------------------------------- /src/Spec/Execute32.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/Execute32.hs -------------------------------------------------------------------------------- /src/Spec/ExecuteA.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/ExecuteA.hs -------------------------------------------------------------------------------- /src/Spec/ExecuteA64.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/ExecuteA64.hs -------------------------------------------------------------------------------- /src/Spec/ExecuteCSR.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/ExecuteCSR.hs -------------------------------------------------------------------------------- /src/Spec/ExecuteF.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/ExecuteF.hs -------------------------------------------------------------------------------- /src/Spec/ExecuteF64.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/ExecuteF64.hs -------------------------------------------------------------------------------- /src/Spec/ExecuteI.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/ExecuteI.hs -------------------------------------------------------------------------------- /src/Spec/ExecuteI64.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/ExecuteI64.hs -------------------------------------------------------------------------------- /src/Spec/ExecuteM.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/ExecuteM.hs -------------------------------------------------------------------------------- /src/Spec/ExecuteM64.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/ExecuteM64.hs -------------------------------------------------------------------------------- /src/Spec/Machine.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/Machine.hs -------------------------------------------------------------------------------- /src/Spec/Memory.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/Memory.hs -------------------------------------------------------------------------------- /src/Spec/Spec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/Spec.hs -------------------------------------------------------------------------------- /src/Spec/VirtualMemory.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Spec/VirtualMemory.hs -------------------------------------------------------------------------------- /src/Tandem/CircularBuffer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Tandem/CircularBuffer.hpp -------------------------------------------------------------------------------- /src/Tandem/ElfFile.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Tandem/ElfFile.cc -------------------------------------------------------------------------------- /src/Tandem/ElfFile.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Tandem/ElfFile.h -------------------------------------------------------------------------------- /src/Tandem/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Tandem/Makefile -------------------------------------------------------------------------------- /src/Tandem/Tandem.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Tandem/Tandem.cpp -------------------------------------------------------------------------------- /src/Tandem/Tandem.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Tandem/Tandem.hpp -------------------------------------------------------------------------------- /src/Utility/Elf.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Utility/Elf.hs -------------------------------------------------------------------------------- /src/Utility/ListMemory.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Utility/ListMemory.hs -------------------------------------------------------------------------------- /src/Utility/LitmusToRiscv.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Utility/LitmusToRiscv.hs -------------------------------------------------------------------------------- /src/Utility/MapMemory.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Utility/MapMemory.hs -------------------------------------------------------------------------------- /src/Utility/Utility.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/src/Utility/Utility.hs -------------------------------------------------------------------------------- /stack.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/stack.yaml -------------------------------------------------------------------------------- /test/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/Makefile -------------------------------------------------------------------------------- /test/encoding.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/encoding.h -------------------------------------------------------------------------------- /test/init.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/init.S -------------------------------------------------------------------------------- /test/link.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/link.ld -------------------------------------------------------------------------------- /test/litmus/2+2W+fence.rw.rw+po.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/2+2W+fence.rw.rw+po.litmus -------------------------------------------------------------------------------- /test/litmus/2+2W+fence.rw.rws.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/2+2W+fence.rw.rws.litmus -------------------------------------------------------------------------------- /test/litmus/2+2W.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/2+2W.litmus -------------------------------------------------------------------------------- /test/litmus/LB+ctrl+po.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/LB+ctrl+po.litmus -------------------------------------------------------------------------------- /test/litmus/LB+ctrls.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/LB+ctrls.litmus -------------------------------------------------------------------------------- /test/litmus/LB+data+ctrl.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/LB+data+ctrl.litmus -------------------------------------------------------------------------------- /test/litmus/LB+data+po.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/LB+data+po.litmus -------------------------------------------------------------------------------- /test/litmus/LB+datas.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/LB+datas.litmus -------------------------------------------------------------------------------- /test/litmus/LB+fence.rw.rw+ctrl.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/LB+fence.rw.rw+ctrl.litmus -------------------------------------------------------------------------------- /test/litmus/LB+fence.rw.rw+data.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/LB+fence.rw.rw+data.litmus -------------------------------------------------------------------------------- /test/litmus/LB+fence.rw.rw+po.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/LB+fence.rw.rw+po.litmus -------------------------------------------------------------------------------- /test/litmus/LB+fence.rw.rws.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/LB+fence.rw.rws.litmus -------------------------------------------------------------------------------- /test/litmus/LB.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/LB.litmus -------------------------------------------------------------------------------- /test/litmus/MP+fence.rw.rw+addr.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/MP+fence.rw.rw+addr.litmus -------------------------------------------------------------------------------- /test/litmus/MP+fence.rw.rw+ctrl.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/MP+fence.rw.rw+ctrl.litmus -------------------------------------------------------------------------------- /test/litmus/MP+fence.rw.rw+po.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/MP+fence.rw.rw+po.litmus -------------------------------------------------------------------------------- /test/litmus/MP+fence.rw.rws.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/MP+fence.rw.rws.litmus -------------------------------------------------------------------------------- /test/litmus/MP+po+addr.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/MP+po+addr.litmus -------------------------------------------------------------------------------- /test/litmus/MP+po+ctrl.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/MP+po+ctrl.litmus -------------------------------------------------------------------------------- /test/litmus/MP+po+fence.rw.rw.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/MP+po+fence.rw.rw.litmus -------------------------------------------------------------------------------- /test/litmus/MP.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/MP.litmus -------------------------------------------------------------------------------- /test/litmus/R+fence.rw.rw+po.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/R+fence.rw.rw+po.litmus -------------------------------------------------------------------------------- /test/litmus/R+fence.rw.rws.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/R+fence.rw.rws.litmus -------------------------------------------------------------------------------- /test/litmus/R+po+fence.rw.rw.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/R+po+fence.rw.rw.litmus -------------------------------------------------------------------------------- /test/litmus/R.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/R.litmus -------------------------------------------------------------------------------- /test/litmus/S+fence.rw.rw+ctrl.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/S+fence.rw.rw+ctrl.litmus -------------------------------------------------------------------------------- /test/litmus/S+fence.rw.rw+data.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/S+fence.rw.rw+data.litmus -------------------------------------------------------------------------------- /test/litmus/S+fence.rw.rw+po.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/S+fence.rw.rw+po.litmus -------------------------------------------------------------------------------- /test/litmus/S+fence.rw.rws.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/S+fence.rw.rws.litmus -------------------------------------------------------------------------------- /test/litmus/S+po+ctrl.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/S+po+ctrl.litmus -------------------------------------------------------------------------------- /test/litmus/S+po+data.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/S+po+data.litmus -------------------------------------------------------------------------------- /test/litmus/S+po+fence.rw.rw.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/S+po+fence.rw.rw.litmus -------------------------------------------------------------------------------- /test/litmus/S.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/S.litmus -------------------------------------------------------------------------------- /test/litmus/SB+fence.rw.rw+po.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/SB+fence.rw.rw+po.litmus -------------------------------------------------------------------------------- /test/litmus/SB+fence.rw.rws.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/SB+fence.rw.rws.litmus -------------------------------------------------------------------------------- /test/litmus/SB.litmus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/SB.litmus -------------------------------------------------------------------------------- /test/litmus/encoding.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/litmus/encoding.h -------------------------------------------------------------------------------- /test/mmio.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/mmio.c -------------------------------------------------------------------------------- /test/mmio.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/mmio.h -------------------------------------------------------------------------------- /test/mmio.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/mmio.ld -------------------------------------------------------------------------------- /test/mp.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/mp.S -------------------------------------------------------------------------------- /test/mpFence.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/mpFence.S -------------------------------------------------------------------------------- /test/sbData.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/sbData.S -------------------------------------------------------------------------------- /test/sbFence.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/sbFence.S -------------------------------------------------------------------------------- /test/src/add.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/src/add.c -------------------------------------------------------------------------------- /test/src/and.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/src/and.c -------------------------------------------------------------------------------- /test/src/colors.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/src/colors.c -------------------------------------------------------------------------------- /test/src/csr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/src/csr.c -------------------------------------------------------------------------------- /test/src/ebreak.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/src/ebreak.c -------------------------------------------------------------------------------- /test/src/gfx.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/src/gfx.c -------------------------------------------------------------------------------- /test/src/hello.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/src/hello.c -------------------------------------------------------------------------------- /test/src/illegal.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/src/illegal.c -------------------------------------------------------------------------------- /test/src/mandelbrot.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/src/mandelbrot.c -------------------------------------------------------------------------------- /test/src/mul.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/src/mul.c -------------------------------------------------------------------------------- /test/src/mul_support.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/src/mul_support.c -------------------------------------------------------------------------------- /test/src/or.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/src/or.c -------------------------------------------------------------------------------- /test/src/reverse.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/src/reverse.c -------------------------------------------------------------------------------- /test/src/sub.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/src/sub.c -------------------------------------------------------------------------------- /test/src/thuemorse.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/src/thuemorse.c -------------------------------------------------------------------------------- /test/src/time.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/src/time.c -------------------------------------------------------------------------------- /test/src/trap.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/src/trap.c -------------------------------------------------------------------------------- /test/src/xor.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/src/xor.c -------------------------------------------------------------------------------- /test/trap_handler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mit-plv/riscv-semantics/HEAD/test/trap_handler.h --------------------------------------------------------------------------------