summaryrefslogtreecommitdiff
path: root/mips/mips_prelude.sail
diff options
context:
space:
mode:
authorRobert Norton2018-03-14 18:02:10 +0000
committerRobert Norton2018-03-14 18:04:09 +0000
commit7aef4970c36b45f50dc61d66353dc759b438e706 (patch)
treeca5399a81d8019975778dc14c66fbfbf6daa52d0 /mips/mips_prelude.sail
parent26c7468c15c15424535afebc12e995a3a746476f (diff)
Add and use execute_branch and execute_branch_pcc functions to align code with existing MIPS and CHERI specs.
Diffstat (limited to 'mips/mips_prelude.sail')
-rw-r--r--mips/mips_prelude.sail6
1 files changed, 6 insertions, 0 deletions
diff --git a/mips/mips_prelude.sail b/mips/mips_prelude.sail
index b672d993..3c3c45f4 100644
--- a/mips/mips_prelude.sail
+++ b/mips/mips_prelude.sail
@@ -289,6 +289,12 @@ register branchPending : bits(1) /* Set by branch instructions to implement
register inBranchDelay : bits(1) /* Needs to be set by outside world when in branch delay slot */
register delayedPC : bits(64) /* Set by branch instructions to implement branch delay */
+val execute_branch : bits(64) -> unit effect {wreg}
+function execute_branch(pc) = {
+ delayedPC = pc;
+ branchPending = 0b1;
+}
+
/* General purpose registers */