diff options
| author | Robert Norton | 2018-03-14 18:02:10 +0000 |
|---|---|---|
| committer | Robert Norton | 2018-03-14 18:04:09 +0000 |
| commit | 7aef4970c36b45f50dc61d66353dc759b438e706 (patch) | |
| tree | ca5399a81d8019975778dc14c66fbfbf6daa52d0 /mips/mips_prelude.sail | |
| parent | 26c7468c15c15424535afebc12e995a3a746476f (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.sail | 6 |
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 */ |
