summaryrefslogtreecommitdiff
path: root/mips
diff options
context:
space:
mode:
Diffstat (limited to 'mips')
-rw-r--r--mips/mips_wrappers.sail5
1 files changed, 4 insertions, 1 deletions
diff --git a/mips/mips_wrappers.sail b/mips/mips_wrappers.sail
index 8fe1b4d4..25b8936b 100644
--- a/mips/mips_wrappers.sail
+++ b/mips/mips_wrappers.sail
@@ -6,7 +6,10 @@ function bit[64] addrWrapper((bit[64]) addr, (MemAccessType) accessType, (WordTy
addr
function (bit[64]) TranslateAddress ((bit[64]) vAddr, (MemAccessType) accessType) =
- TLBTranslate(vAddr, accessType)
+ if (vAddr[1..0] != 0b00) then (* bad PC alignment *)
+ exit (SignalExceptionBadAddr(AdEL, vAddr))
+ else
+ TLBTranslate(vAddr, accessType)
function unit SignalException ((Exception) ex) = SignalExceptionMIPS(ex)