Commit 51ca717b authored by James Hogan's avatar James Hogan Committed by Yongbok Kim
Browse files

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.

Fixes: 5dc5d9f0 ("mips: more fixes to the MIPS interrupt glue logic")
Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
Cc: Yongbok Kim <yongbok.kim@imgtec.com>
Cc: Aurelien Jarno <aurelien@aurel32.net>
Reviewed-by: default avatarRichard Henderson <rth@twiddle.net>
Signed-off-by: default avatarYongbok Kim <yongbok.kim@imgtec.com>
parent b74cddcb
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -7401,15 +7401,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(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.  */