summaryrefslogtreecommitdiff
path: root/cheri
diff options
context:
space:
mode:
authorRobert Norton2017-10-31 11:01:10 +0000
committerRobert Norton2017-10-31 11:03:23 +0000
commitb41ee79485e155f67099b007650d73f449db1961 (patch)
tree72a3286b585cb650b5ca036451d3bb6a23bafd16 /cheri
parentdc62ae8cf283cdf71c0cd2001d57abc77bc52673 (diff)
cheri: ccall selector 1 should have a branch delay slot. TODO we need to throw exception for access to IDC/C26 in branch delay slot.
Diffstat (limited to 'cheri')
-rw-r--r--cheri/cheri_insts.sail4
1 files changed, 2 insertions, 2 deletions
diff --git a/cheri/cheri_insts.sail b/cheri/cheri_insts.sail
index c27f6dc7..50399785 100644
--- a/cheri/cheri_insts.sail
+++ b/cheri/cheri_insts.sail
@@ -1057,9 +1057,9 @@ function clause execute (CCall(cs, cb, 0b00000000001)) = (* selector=1 *)
sealed=false;
otype=0;
}) in {
- nextPC := (bit[64]) (getCapOffset(cs_val));
- nextPCC := csUnsealed;
+ delayedPC := (bit[64]) (getCapOffset(cs_val));
delayedPCC := csUnsealed;
+ branchPending := true;
C26 := capStructToCapReg({cb_val with
sealed=false;
otype=0;