diff options
-rw-r--r-- | target-mips/translate.c | 4 |
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) { |