summaryrefslogtreecommitdiff
path: root/cheri/cheri_insts.sail
diff options
context:
space:
mode:
authorRobert Norton2017-10-31 16:09:46 +0000
committerRobert Norton2017-10-31 16:09:46 +0000
commita35692d69681683c2bffe7c824ad230b88679ed9 (patch)
tree2b0962eb00a62c581a5eced904fa6451687cc382 /cheri/cheri_insts.sail
parentb41ee79485e155f67099b007650d73f449db1961 (diff)
cheri: throw an exception if there is an attempt to access C26/IDC in the delay slot of a ccall selector 1 call.
Diffstat (limited to 'cheri/cheri_insts.sail')
-rw-r--r--cheri/cheri_insts.sail1
1 files changed, 1 insertions, 0 deletions
diff --git a/cheri/cheri_insts.sail b/cheri/cheri_insts.sail
index 50399785..5687a275 100644
--- a/cheri/cheri_insts.sail
+++ b/cheri/cheri_insts.sail
@@ -1060,6 +1060,7 @@ function clause execute (CCall(cs, cb, 0b00000000001)) = (* selector=1 *)
delayedPC := (bit[64]) (getCapOffset(cs_val));
delayedPCC := csUnsealed;
branchPending := true;
+ inCCallDelay := true;
C26 := capStructToCapReg({cb_val with
sealed=false;
otype=0;