From b41ee79485e155f67099b007650d73f449db1961 Mon Sep 17 00:00:00 2001 From: Robert Norton Date: Tue, 31 Oct 2017 11:01:10 +0000 Subject: 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. --- cheri/cheri_insts.sail | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'cheri') 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; -- cgit v1.2.3