summaryrefslogtreecommitdiff
path: root/mips
diff options
context:
space:
mode:
authorRobert Norton2016-01-21 12:05:59 +0000
committerRobert Norton2016-01-21 12:06:40 +0000
commitd8d8956978dc5989ce6771db8b7516b4ae090ece (patch)
tree5307c8a8608f96b5f2da6edbbf8579fdf70184b0 /mips
parentb14c153524a0cc7e8981d96ea85f7abfd255249a (diff)
add another encoding for HCF instruction and add execute clause -> first complete execution of test mips program!
Diffstat (limited to 'mips')
-rw-r--r--mips/mips.sail6
1 files changed, 6 insertions, 0 deletions
diff --git a/mips/mips.sail b/mips/mips.sail
index d0c2b385..9e2ac189 100644
--- a/mips/mips.sail
+++ b/mips/mips.sail
@@ -1488,6 +1488,12 @@ union ast member unit HCF
function clause decode (0b010000 : 0b00100 : (regno) rt : 0b10111 : 0b00000000000) =
Some(HCF()) (* simulator halt instruction "MTC0 rt, $23" (cheri specific behaviour) *)
+function clause decode (0b010000 : 0b00100 : (regno) rt : 0b11010 : 0b00000000000) =
+ Some(HCF()) (* simulator halt instruction "MTC0 rt, $26" (cheri specific behaviour) *)
+
+function clause execute (HCF) =
+ () (* halt instruction actually executed by interpreter framework *)
+
function clause decode _ = None
end decode