summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mips/mips_insts.sail14
-rw-r--r--mips/mips_rmem.sail15
2 files changed, 16 insertions, 13 deletions
diff --git a/mips/mips_insts.sail b/mips/mips_insts.sail
index 84136e66..3e3f4c39 100644
--- a/mips/mips_insts.sail
+++ b/mips/mips_insts.sail
@@ -1005,19 +1005,7 @@ function clause execute (BCMPZ(rs, imm, cmp, link, likely)) =
/* SYSCALL/BREAK/WAIT/Trap */
/**************************************************************************************/
-/* Co-opt syscall 0xfffff for use as thread start in pccmem */
-union clause ast = SYSCALL_THREAD_START : unit
-function clause decode (0b000000 @ 0xfffff @ 0b001100) =
- Some(SYSCALL_THREAD_START())
-function clause execute (SYSCALL_THREAD_START()) = ()
-
-
-/* fake stop fetching instruction for ppcmem, execute doesn't do anything,
- decode never produces it */
-
-union clause ast = ImplementationDefinedStopFetching : unit
-function clause execute (ImplementationDefinedStopFetching()) = ()
-
+/* $include mips_rmem.sail */
union clause ast = SYSCALL : unit
function clause decode (0b000000 @ code : bits(20) @ 0b001100) =
diff --git a/mips/mips_rmem.sail b/mips/mips_rmem.sail
new file mode 100644
index 00000000..1bc47337
--- /dev/null
+++ b/mips/mips_rmem.sail
@@ -0,0 +1,15 @@
+/* These instructions are used for RMEM integration only */
+
+/* Co-opt syscall 0xfffff for use as thread start in pccmem */
+union clause ast = SYSCALL_THREAD_START : unit
+function clause decode (0b000000 @ 0xfffff @ 0b001100) =
+ Some(SYSCALL_THREAD_START())
+function clause execute (SYSCALL_THREAD_START()) = ()
+
+
+/* fake stop fetching instruction for ppcmem, execute doesn't do anything,
+ decode never produces it */
+
+union clause ast = ImplementationDefinedStopFetching : unit
+function clause execute (ImplementationDefinedStopFetching()) = ()
+