summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Norton2017-04-11 14:40:05 +0100
committerShaked Flur2017-04-18 13:58:33 +0100
commit38edc3d20787edb6793efc82b6fb59476a399217 (patch)
tree012f66aa9a14bd550351fab58d429c3c0b78bf7b
parent5914b680eb98f4d920556f66f805adb839fe644f (diff)
add workaround for sail shallow embedding problem concerning semantisc of register reads.
-rw-r--r--mips/mips_insts.sail2
1 files changed, 1 insertions, 1 deletions
diff --git a/mips/mips_insts.sail b/mips/mips_insts.sail
index 285d3011..d127f6db 100644
--- a/mips/mips_insts.sail
+++ b/mips/mips_insts.sail
@@ -1546,7 +1546,7 @@ function clause execute (MTC0(rt, rd, sel, double)) = {
}
function unit TLBWriteEntry((TLBIndexT) idx) = {
- pagemask := ((bit[16]) TLBPageMask);
+ pagemask := EXTZ(TLBPageMask); (* XXX EXTZ here forces register read in ocaml shallow embedding *)
switch(pagemask) {
case 0x0000 -> ()
case 0x0003 -> ()