summaryrefslogtreecommitdiff
path: root/mips/mips.sail
diff options
context:
space:
mode:
Diffstat (limited to 'mips/mips.sail')
-rw-r--r--mips/mips.sail8
1 files changed, 6 insertions, 2 deletions
diff --git a/mips/mips.sail b/mips/mips.sail
index fc639d65..4f468354 100644
--- a/mips/mips.sail
+++ b/mips/mips.sail
@@ -1478,6 +1478,10 @@ function clause decode (0b000000 : 0b00000 : 0b00000 : 0b00000 : (regno) stype :
function clause execute(SYNC) =
MEM_sync()
+union ast member unit HCF
+function clause decode (0b010000 : 0b00100 : (regno) rt : 0b10111 : 0b00000000000) =
+ HCF() (* simulator halt instruction "MTC0 rt, $23" (cheri specific behaviour) *)
+
function clause decode _ = exit no_matching_pattern
end decode
@@ -1505,8 +1509,8 @@ function unit fde() =
else if inBranchDelay then
{
PC := delayedPC;
- inBranchDelay := 1;
- branchPending := 1;
+ inBranchDelay := 0;
+ branchPending := 0;
}
else
{