aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--target-mips/translate.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/target-mips/translate.c b/target-mips/translate.c
index f917ab98f0..eb8e09e09e 100644
--- a/target-mips/translate.c
+++ b/target-mips/translate.c
@@ -2883,6 +2883,8 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, int reg, int sel)
default:
goto die;
}
+ /* Stop translation as we may have switched the execution mode */
+ ctx->bstate = BS_STOP;
break;
case 12:
switch (sel) {
@@ -4038,6 +4040,8 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, int reg, int sel)
default:
goto die;
}
+ /* Stop translation as we may have switched the execution mode */
+ ctx->bstate = BS_STOP;
break;
case 12:
switch (sel) {