target/mips: Clean up handling of CP0 register 25

Clean up handling of CP0 register 25.

Backports commit 1176b328c310dbc71501f370fe128786edc7609c from qemu
This commit is contained in:
Aleksandar Markovic 2019-11-18 23:36:01 -05:00 committed by Lioncash
parent d7b34101a0
commit 7f23faefa3
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7

View file

@ -7497,35 +7497,35 @@ static void gen_mfc0(DisasContext *ctx, TCGv arg, int reg, int sel)
break;
case CP0_REGISTER_25:
switch (sel) {
case 0:
case CP0_REG25__PERFCTL0:
gen_mfc0_load32(ctx, arg, offsetof(CPUMIPSState, CP0_Performance0));
register_name = "Performance0";
break;
case 1:
case CP0_REG25__PERFCNT0:
/* gen_helper_mfc0_performance1(arg); */
register_name = "Performance1";
goto cp0_unimplemented;
case 2:
case CP0_REG25__PERFCTL1:
/* gen_helper_mfc0_performance2(arg); */
register_name = "Performance2";
goto cp0_unimplemented;
case 3:
case CP0_REG25__PERFCNT1:
/* gen_helper_mfc0_performance3(arg); */
register_name = "Performance3";
goto cp0_unimplemented;
case 4:
case CP0_REG25__PERFCTL2:
/* gen_helper_mfc0_performance4(arg); */
register_name = "Performance4";
goto cp0_unimplemented;
case 5:
case CP0_REG25__PERFCNT2:
/* gen_helper_mfc0_performance5(arg); */
register_name = "Performance5";
goto cp0_unimplemented;
case 6:
case CP0_REG25__PERFCTL3:
/* gen_helper_mfc0_performance6(arg); */
register_name = "Performance6";
goto cp0_unimplemented;
case 7:
case CP0_REG25__PERFCNT3:
/* gen_helper_mfc0_performance7(arg); */
register_name = "Performance7";
goto cp0_unimplemented;
@ -8255,35 +8255,35 @@ static void gen_mtc0(DisasContext *ctx, TCGv arg, int reg, int sel)
break;
case CP0_REGISTER_25:
switch (sel) {
case 0:
case CP0_REG25__PERFCTL0:
gen_helper_mtc0_performance0(tcg_ctx, tcg_ctx->cpu_env, arg);
register_name = "Performance0";
break;
case 1:
case CP0_REG25__PERFCNT0:
/* gen_helper_mtc0_performance1(arg); */
register_name = "Performance1";
goto cp0_unimplemented;
case 2:
case CP0_REG25__PERFCTL1:
/* gen_helper_mtc0_performance2(arg); */
register_name = "Performance2";
goto cp0_unimplemented;
case 3:
case CP0_REG25__PERFCNT1:
/* gen_helper_mtc0_performance3(arg); */
register_name = "Performance3";
goto cp0_unimplemented;
case 4:
case CP0_REG25__PERFCTL2:
/* gen_helper_mtc0_performance4(arg); */
register_name = "Performance4";
goto cp0_unimplemented;
case 5:
case CP0_REG25__PERFCNT2:
/* gen_helper_mtc0_performance5(arg); */
register_name = "Performance5";
goto cp0_unimplemented;
case 6:
case CP0_REG25__PERFCTL3:
/* gen_helper_mtc0_performance6(arg); */
register_name = "Performance6";
goto cp0_unimplemented;
case 7:
case CP0_REG25__PERFCNT3:
/* gen_helper_mtc0_performance7(arg); */
register_name = "Performance7";
goto cp0_unimplemented;
@ -8982,35 +8982,35 @@ static void gen_dmfc0(DisasContext *ctx, TCGv arg, int reg, int sel)
break;
case CP0_REGISTER_25:
switch (sel) {
case 0:
case CP0_REG25__PERFCTL0:
gen_mfc0_load32(ctx, arg, offsetof(CPUMIPSState, CP0_Performance0));
register_name = "Performance0";
break;
case 1:
case CP0_REG25__PERFCNT0:
/* gen_helper_dmfc0_performance1(arg); */
register_name = "Performance1";
goto cp0_unimplemented;
case 2:
case CP0_REG25__PERFCTL1:
/* gen_helper_dmfc0_performance2(arg); */
register_name = "Performance2";
goto cp0_unimplemented;
case 3:
case CP0_REG25__PERFCNT1:
/* gen_helper_dmfc0_performance3(arg); */
register_name = "Performance3";
goto cp0_unimplemented;
case 4:
case CP0_REG25__PERFCTL2:
/* gen_helper_dmfc0_performance4(arg); */
register_name = "Performance4";
goto cp0_unimplemented;
case 5:
case CP0_REG25__PERFCNT2:
/* gen_helper_dmfc0_performance5(arg); */
register_name = "Performance5";
goto cp0_unimplemented;
case 6:
case CP0_REG25__PERFCTL3:
/* gen_helper_dmfc0_performance6(arg); */
register_name = "Performance6";
goto cp0_unimplemented;
case 7:
case CP0_REG25__PERFCNT3:
/* gen_helper_dmfc0_performance7(arg); */
register_name = "Performance7";
goto cp0_unimplemented;
@ -9718,35 +9718,35 @@ static void gen_dmtc0(DisasContext *ctx, TCGv arg, int reg, int sel)
break;
case CP0_REGISTER_25:
switch (sel) {
case 0:
case CP0_REG25__PERFCTL0:
gen_helper_mtc0_performance0(tcg_ctx, tcg_ctx->cpu_env, arg);
register_name = "Performance0";
break;
case 1:
case CP0_REG25__PERFCNT0:
/* gen_helper_mtc0_performance1(tcg_ctx->cpu_env, arg); */
register_name = "Performance1";
goto cp0_unimplemented;
case 2:
case CP0_REG25__PERFCTL1:
/* gen_helper_mtc0_performance2(tcg_ctx->cpu_env, arg); */
register_name = "Performance2";
goto cp0_unimplemented;
case 3:
case CP0_REG25__PERFCNT1:
/* gen_helper_mtc0_performance3(tcg_ctx->cpu_env, arg); */
register_name = "Performance3";
goto cp0_unimplemented;
case 4:
case CP0_REG25__PERFCTL2:
/* gen_helper_mtc0_performance4(tcg_ctx->cpu_env, arg); */
register_name = "Performance4";
goto cp0_unimplemented;
case 5:
case CP0_REG25__PERFCNT2:
/* gen_helper_mtc0_performance5(tcg_ctx->cpu_env, arg); */
register_name = "Performance5";
goto cp0_unimplemented;
case 6:
case CP0_REG25__PERFCTL3:
/* gen_helper_mtc0_performance6(tcg_ctx->cpu_env, arg); */
register_name = "Performance6";
goto cp0_unimplemented;
case 7:
case CP0_REG25__PERFCNT3:
/* gen_helper_mtc0_performance7(tcg_ctx->cpu_env, arg); */
register_name = "Performance7";
goto cp0_unimplemented;