diff options
Diffstat (limited to 'mips/mips_wrappers.sail')
| -rw-r--r-- | mips/mips_wrappers.sail | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mips/mips_wrappers.sail b/mips/mips_wrappers.sail index 25b8936b..7d9e73e6 100644 --- a/mips/mips_wrappers.sail +++ b/mips/mips_wrappers.sail @@ -5,11 +5,13 @@ function bool effect {wmem} MEMw_conditional_wrapper(addr, size, data) = function bit[64] addrWrapper((bit[64]) addr, (MemAccessType) accessType, (WordType) width) = addr -function (bit[64]) TranslateAddress ((bit[64]) vAddr, (MemAccessType) accessType) = +function (bit[64]) TranslateAddress ((bit[64]) vAddr, (MemAccessType) accessType) = { + incrementCP0Count(); if (vAddr[1..0] != 0b00) then (* bad PC alignment *) exit (SignalExceptionBadAddr(AdEL, vAddr)) else TLBTranslate(vAddr, accessType) +} function unit SignalException ((Exception) ex) = SignalExceptionMIPS(ex) |
