From cb20fdce640918fb413f92a826375aebefb7313d Mon Sep 17 00:00:00 2001 From: James Hogan Date: Sun, 4 Mar 2018 01:33:51 -0500 Subject: [PATCH] target/mips: Drop redundant gen_io_start/stop() DMTC0 CP0_Cause does a redundant gen_io_start() and gen_io_end() pair, even though this is done for all DMTC0 operations outside of the switch statement. Remove these redundant calls. Backports commit 51ca717b079dccae5b6cc9f45153f5044abd34f0 from qemu --- qemu/target/mips/translate.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/qemu/target/mips/translate.c b/qemu/target/mips/translate.c index f0ab2e5b..5e773fae 100644 --- a/qemu/target/mips/translate.c +++ b/qemu/target/mips/translate.c @@ -7485,15 +7485,7 @@ static void gen_dmtc0(DisasContext *ctx, TCGv arg, int reg, int sel) switch (sel) { case 0: save_cpu_state(ctx, 1); - /* Mark as an IO operation because we may trigger a software - interrupt. */ - //if (ctx->tb->cflags & CF_USE_ICOUNT) { - // gen_io_start(); - //} gen_helper_mtc0_cause(tcg_ctx, tcg_ctx->cpu_env, arg); - //if (ctx->tb->cflags & CF_USE_ICOUNT) { - // gen_io_end(); - //} /* Stop translation as we may have triggered an intetrupt. BS_STOP * isn't sufficient, we need to ensure we break out of translated * code to check for pending interrupts. */