diff --git a/src/main/java/li/cil/circuity/vm/riscv/R5CPU.java b/src/main/java/li/cil/circuity/vm/riscv/R5CPU.java index e5f8f574..c8d7eaa7 100644 --- a/src/main/java/li/cil/circuity/vm/riscv/R5CPU.java +++ b/src/main/java/li/cil/circuity/vm/riscv/R5CPU.java @@ -1467,6 +1467,9 @@ public final class R5CPU implements Steppable, RealTimeCounter, InterruptControl if (priv == R5.PRIVILEGE_U) { throw new R5IllegalInstructionException(inst); } + if ((mstatus & R5.STATUS_TW_MASK) != 0 && priv == R5.PRIVILEGE_S) { + throw new R5IllegalInstructionException(inst); + } if ((mip.get() & mie) != 0) { return false;