summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--riscv/Makefile2
-rw-r--r--riscv/riscv_mem.sail5
-rw-r--r--riscv/riscv_sys.sail7
3 files changed, 8 insertions, 6 deletions
diff --git a/riscv/Makefile b/riscv/Makefile
index 0532bf09..436fa0dc 100644
--- a/riscv/Makefile
+++ b/riscv/Makefile
@@ -1,4 +1,4 @@
-SAIL_SRCS = prelude.sail riscv_types.sail riscv_mem.sail riscv_sys.sail riscv_vmem.sail riscv.sail riscv_step.sail
+SAIL_SRCS = prelude.sail riscv_types.sail riscv_sys.sail riscv_mem.sail riscv_vmem.sail riscv.sail riscv_step.sail
SAIL_DIR ?= $(realpath ..)
export SAIL_DIR
diff --git a/riscv/riscv_mem.sail b/riscv/riscv_mem.sail
index 375f48b3..10fd98fe 100644
--- a/riscv/riscv_mem.sail
+++ b/riscv/riscv_mem.sail
@@ -1,10 +1,5 @@
/* memory */
-union MemoryOpResult ('a : Type) = {
- MemValue : 'a,
- MemException: ExceptionType
-}
-
function is_aligned_addr (addr : xlenbits, width : atom('n)) -> forall 'n. bool =
unsigned(addr) % width == 0
diff --git a/riscv/riscv_sys.sail b/riscv/riscv_sys.sail
index 803531bd..01e45363 100644
--- a/riscv/riscv_sys.sail
+++ b/riscv/riscv_sys.sail
@@ -741,3 +741,10 @@ function init_sys() -> unit = {
function tick_clock() -> unit = {
mcycle = mcycle + 1
}
+
+/* memory access exceptions, defined here for use by the platform model. */
+
+union MemoryOpResult ('a : Type) = {
+ MemValue : 'a,
+ MemException: ExceptionType
+}