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
This commit is contained in:
James Hogan 2018-03-04 01:33:51 -05:00 committed by Lioncash
parent 0afa0c8ddc
commit cb20fdce64
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7

View file

@ -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. */