diff options
| author | Robert Norton | 2016-06-28 14:23:11 +0100 |
|---|---|---|
| committer | Robert Norton | 2016-06-28 14:25:28 +0100 |
| commit | 28874bde2f7ad58e76ebe8d779d3920d74ca1db6 (patch) | |
| tree | 5abc4c1c32e16e71029ca9e3367235f99bc627fd /cheri | |
| parent | 90c7ab7d28d68d943ebae7be6b687550d57a357c (diff) | |
Munge exception destination PC so we hit the correct address even when kcc.base is non-zero.
Diffstat (limited to 'cheri')
| -rw-r--r-- | cheri/cheri_prelude.sail | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cheri/cheri_prelude.sail b/cheri/cheri_prelude.sail index c8483548..9f39496f 100644 --- a/cheri/cheri_prelude.sail +++ b/cheri/cheri_prelude.sail @@ -349,7 +349,7 @@ function unit SignalException ((Exception) ex) = nextPCC := C29; (* KCC *) delayedPCC := C29; (* always write delayedPCC together whether PCC so that non-capability branches don't override PCC *) - SignalExceptionMIPS(ex); + SignalExceptionMIPS(ex, C29.base); } function unit ERETHook() = |
