* 7 TagLo TagHi KScratch<n>
*
*/
-#define CPO_REGISTER_00 0
-#define CPO_REGISTER_01 1
-#define CPO_REGISTER_02 2
-#define CPO_REGISTER_03 3
-#define CPO_REGISTER_04 4
-#define CPO_REGISTER_05 5
-#define CPO_REGISTER_06 6
-#define CPO_REGISTER_07 7
-#define CPO_REGISTER_08 8
-#define CPO_REGISTER_09 9
-#define CPO_REGISTER_10 10
-#define CPO_REGISTER_11 11
-#define CPO_REGISTER_12 12
-#define CPO_REGISTER_13 13
-#define CPO_REGISTER_14 14
-#define CPO_REGISTER_15 15
-#define CPO_REGISTER_16 16
-#define CPO_REGISTER_17 17
-#define CPO_REGISTER_18 18
-#define CPO_REGISTER_19 19
-#define CPO_REGISTER_20 20
-#define CPO_REGISTER_21 21
-#define CPO_REGISTER_22 22
-#define CPO_REGISTER_23 23
-#define CPO_REGISTER_24 24
-#define CPO_REGISTER_25 25
-#define CPO_REGISTER_26 26
-#define CPO_REGISTER_27 27
-#define CPO_REGISTER_28 28
-#define CPO_REGISTER_29 29
-#define CPO_REGISTER_30 30
-#define CPO_REGISTER_31 31
+#define CP0_REGISTER_00 0
+#define CP0_REGISTER_01 1
+#define CP0_REGISTER_02 2
+#define CP0_REGISTER_03 3
+#define CP0_REGISTER_04 4
+#define CP0_REGISTER_05 5
+#define CP0_REGISTER_06 6
+#define CP0_REGISTER_07 7
+#define CP0_REGISTER_08 8
+#define CP0_REGISTER_09 9
+#define CP0_REGISTER_10 10
+#define CP0_REGISTER_11 11
+#define CP0_REGISTER_12 12
+#define CP0_REGISTER_13 13
+#define CP0_REGISTER_14 14
+#define CP0_REGISTER_15 15
+#define CP0_REGISTER_16 16
+#define CP0_REGISTER_17 17
+#define CP0_REGISTER_18 18
+#define CP0_REGISTER_19 19
+#define CP0_REGISTER_20 20
+#define CP0_REGISTER_21 21
+#define CP0_REGISTER_22 22
+#define CP0_REGISTER_23 23
+#define CP0_REGISTER_24 24
+#define CP0_REGISTER_25 25
+#define CP0_REGISTER_26 26
+#define CP0_REGISTER_27 27
+#define CP0_REGISTER_28 28
+#define CP0_REGISTER_29 29
+#define CP0_REGISTER_30 30
+#define CP0_REGISTER_31 31
+
+
+/* CP0 Register 00 */
+#define CP0_REG00__INDEX 0
+#define CP0_REG00__VPCONTROL 4
+/* CP0 Register 01 */
+/* CP0 Register 02 */
+#define CP0_REG02__ENTRYLO0 0
+/* CP0 Register 03 */
+#define CP0_REG03__ENTRYLO1 0
+#define CP0_REG03__GLOBALNUM 1
+/* CP0 Register 04 */
+#define CP0_REG04__CONTEXT 0
+#define CP0_REG04__USERLOCAL 2
+#define CP0_REG04__DBGCONTEXTID 4
+#define CP0_REG00__MMID 5
+/* CP0 Register 05 */
+#define CP0_REG05__PAGEMASK 0
+#define CP0_REG05__PAGEGRAIN 1
+/* CP0 Register 06 */
+#define CP0_REG06__WIRED 0
+/* CP0 Register 07 */
+#define CP0_REG07__HWRENA 0
+/* CP0 Register 08 */
+#define CP0_REG08__BADVADDR 0
+#define CP0_REG08__BADINSTR 1
+#define CP0_REG08__BADINSTRP 2
+/* CP0 Register 09 */
+#define CP0_REG09__COUNT 0
+#define CP0_REG09__SAARI 6
+#define CP0_REG09__SAAR 7
+/* CP0 Register 10 */
+#define CP0_REG10__ENTRYHI 0
+#define CP0_REG10__GUESTCTL1 4
+#define CP0_REG10__GUESTCTL2 5
+/* CP0 Register 11 */
+#define CP0_REG11__COMPARE 0
+#define CP0_REG11__GUESTCTL0EXT 4
+/* CP0 Register 12 */
+#define CP0_REG12__STATUS 0
+#define CP0_REG12__INTCTL 1
+#define CP0_REG12__SRSCTL 2
+#define CP0_REG12__GUESTCTL0 6
+#define CP0_REG12__GTOFFSET 7
+/* CP0 Register 13 */
+#define CP0_REG13__CAUSE 0
+/* CP0 Register 14 */
+#define CP0_REG14__EPC 0
+/* CP0 Register 15 */
+#define CP0_REG15__PRID 0
+#define CP0_REG15__EBASE 1
+#define CP0_REG15__CDMMBASE 2
+#define CP0_REG15__CMGCRBASE 3
+/* CP0 Register 16 */
+#define CP0_REG16__CONFIG 0
+#define CP0_REG16__CONFIG1 1
+#define CP0_REG16__CONFIG2 2
+#define CP0_REG16__CONFIG3 3
+#define CP0_REG16__CONFIG4 4
+#define CP0_REG16__CONFIG5 5
+#define CP0_REG00__CONFIG7 7
+/* CP0 Register 17 */
+#define CP0_REG17__LLADDR 0
+#define CP0_REG17__MAAR 1
+#define CP0_REG17__MAARI 2
+/* CP0 Register 18 */
+#define CP0_REG18__WATCHLO0 0
+#define CP0_REG18__WATCHLO1 1
+#define CP0_REG18__WATCHLO2 2
+#define CP0_REG18__WATCHLO3 3
+/* CP0 Register 19 */
+#define CP0_REG19__WATCHHI0 0
+#define CP0_REG19__WATCHHI1 1
+#define CP0_REG19__WATCHHI2 2
+#define CP0_REG19__WATCHHI3 3
+/* CP0 Register 20 */
+#define CP0_REG20__XCONTEXT 0
+/* CP0 Register 21 */
+/* CP0 Register 22 */
+/* CP0 Register 23 */
+#define CP0_REG23__DEBUG 0
+/* CP0 Register 24 */
+#define CP0_REG24__DEPC 0
+/* CP0 Register 25 */
+#define CP0_REG25__PERFCTL0 0
+#define CP0_REG25__PERFCNT0 1
+#define CP0_REG25__PERFCTL1 2
+#define CP0_REG25__PERFCNT1 3
+#define CP0_REG25__PERFCTL2 4
+#define CP0_REG25__PERFCNT2 5
+#define CP0_REG25__PERFCTL3 6
+#define CP0_REG25__PERFCNT3 7
+/* CP0 Register 26 */
+#define CP0_REG00__ERRCTL 0
+/* CP0 Register 27 */
+#define CP0_REG27__CACHERR 0
+/* CP0 Register 28 */
+#define CP0_REG28__ITAGLO 0
+#define CP0_REG28__IDATALO 1
+#define CP0_REG28__DTAGLO 2
+#define CP0_REG28__DDATALO 3
+/* CP0 Register 29 */
+#define CP0_REG29__IDATAHI 1
+#define CP0_REG29__DDATAHI 3
+/* CP0 Register 30 */
+#define CP0_REG30__ERROREPC 0
+/* CP0 Register 31 */
+#define CP0_REG31__DESAVE 0
+#define CP0_REG31__KSCRATCH1 2
+#define CP0_REG31__KSCRATCH2 3
+#define CP0_REG31__KSCRATCH3 4
+#define CP0_REG31__KSCRATCH4 5
+#define CP0_REG31__KSCRATCH5 6
+#define CP0_REG31__KSCRATCH6 7
typedef struct TCState TCState;
const char *rn = "invalid";
switch (reg) {
- case CPO_REGISTER_02:
+ case CP0_REGISTER_02:
switch (sel) {
case 0:
CP0_CHECK(ctx->hflags & MIPS_HFLAG_ELPA);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_03:
+ case CP0_REGISTER_03:
switch (sel) {
case 0:
CP0_CHECK(ctx->hflags & MIPS_HFLAG_ELPA);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_09:
+ case CP0_REGISTER_09:
switch (sel) {
case 7:
CP0_CHECK(ctx->saar);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_17:
+ case CP0_REGISTER_17:
switch (sel) {
case 0:
gen_mfhc0_load64(arg, offsetof(CPUMIPSState, lladdr),
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_28:
+ case CP0_REGISTER_28:
switch (sel) {
case 0:
case 2:
uint64_t mask = ctx->PAMask >> 36;
switch (reg) {
- case CPO_REGISTER_02:
+ case CP0_REGISTER_02:
switch (sel) {
case 0:
CP0_CHECK(ctx->hflags & MIPS_HFLAG_ELPA);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_03:
+ case CP0_REGISTER_03:
switch (sel) {
case 0:
CP0_CHECK(ctx->hflags & MIPS_HFLAG_ELPA);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_09:
+ case CP0_REGISTER_09:
switch (sel) {
case 7:
CP0_CHECK(ctx->saar);
default:
goto cp0_unimplemented;
}
- case CPO_REGISTER_17:
+ case CP0_REGISTER_17:
switch (sel) {
case 0:
/* LLAddr is read-only (the only exception is bit 0 if LLB is
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_28:
+ case CP0_REGISTER_28:
switch (sel) {
case 0:
case 2:
check_insn(ctx, ISA_MIPS32);
switch (reg) {
- case CPO_REGISTER_00:
+ case CP0_REGISTER_00:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_Index));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_01:
+ case CP0_REGISTER_01:
switch (sel) {
case 0:
CP0_CHECK(!(ctx->insn_flags & ISA_MIPS32R6));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_02:
+ case CP0_REGISTER_02:
switch (sel) {
case 0:
{
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_03:
+ case CP0_REGISTER_03:
switch (sel) {
case 0:
{
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_04:
+ case CP0_REGISTER_04:
switch (sel) {
case 0:
tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUMIPSState, CP0_Context));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_05:
+ case CP0_REGISTER_05:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_PageMask));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_06:
+ case CP0_REGISTER_06:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_Wired));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_07:
+ case CP0_REGISTER_07:
switch (sel) {
case 0:
check_insn(ctx, ISA_MIPS32R2);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_08:
+ case CP0_REGISTER_08:
switch (sel) {
case 0:
tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUMIPSState, CP0_BadVAddr));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_09:
+ case CP0_REGISTER_09:
switch (sel) {
case 0:
/* Mark as an IO operation because we read the time. */
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_10:
+ case CP0_REGISTER_10:
switch (sel) {
case 0:
tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUMIPSState, CP0_EntryHi));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_11:
+ case CP0_REGISTER_11:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_Compare));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_12:
+ case CP0_REGISTER_12:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_Status));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_13:
+ case CP0_REGISTER_13:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_Cause));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_14:
+ case CP0_REGISTER_14:
switch (sel) {
case 0:
tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUMIPSState, CP0_EPC));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_15:
+ case CP0_REGISTER_15:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_PRid));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_16:
+ case CP0_REGISTER_16:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_Config0));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_17:
+ case CP0_REGISTER_17:
switch (sel) {
case 0:
gen_helper_mfc0_lladdr(arg, cpu_env);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_18:
+ case CP0_REGISTER_18:
switch (sel) {
case 0:
case 1:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_19:
+ case CP0_REGISTER_19:
switch (sel) {
case 0:
case 1:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_20:
+ case CP0_REGISTER_20:
switch (sel) {
case 0:
#if defined(TARGET_MIPS64)
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_21:
+ case CP0_REGISTER_21:
/* Officially reserved, but sel 0 is used for R1x000 framemask */
CP0_CHECK(!(ctx->insn_flags & ISA_MIPS32R6));
switch (sel) {
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_22:
+ case CP0_REGISTER_22:
tcg_gen_movi_tl(arg, 0); /* unimplemented */
rn = "'Diagnostic"; /* implementation dependent */
break;
- case CPO_REGISTER_23:
+ case CP0_REGISTER_23:
switch (sel) {
case 0:
gen_helper_mfc0_debug(arg, cpu_env); /* EJTAG support */
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_24:
+ case CP0_REGISTER_24:
switch (sel) {
case 0:
/* EJTAG support */
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_25:
+ case CP0_REGISTER_25:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_Performance0));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_26:
+ case CP0_REGISTER_26:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_ErrCtl));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_27:
+ case CP0_REGISTER_27:
switch (sel) {
case 0:
case 1:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_28:
+ case CP0_REGISTER_28:
switch (sel) {
case 0:
case 2:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_29:
+ case CP0_REGISTER_29:
switch (sel) {
case 0:
case 2:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_30:
+ case CP0_REGISTER_30:
switch (sel) {
case 0:
tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUMIPSState, CP0_ErrorEPC));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_31:
+ case CP0_REGISTER_31:
switch (sel) {
case 0:
/* EJTAG support */
}
switch (reg) {
- case CPO_REGISTER_00:
+ case CP0_REGISTER_00:
switch (sel) {
case 0:
gen_helper_mtc0_index(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_01:
+ case CP0_REGISTER_01:
switch (sel) {
case 0:
/* ignored */
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_02:
+ case CP0_REGISTER_02:
switch (sel) {
case 0:
gen_helper_mtc0_entrylo0(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_03:
+ case CP0_REGISTER_03:
switch (sel) {
case 0:
gen_helper_mtc0_entrylo1(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_04:
+ case CP0_REGISTER_04:
switch (sel) {
case 0:
gen_helper_mtc0_context(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_05:
+ case CP0_REGISTER_05:
switch (sel) {
case 0:
gen_helper_mtc0_pagemask(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_06:
+ case CP0_REGISTER_06:
switch (sel) {
case 0:
gen_helper_mtc0_wired(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_07:
+ case CP0_REGISTER_07:
switch (sel) {
case 0:
check_insn(ctx, ISA_MIPS32R2);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_08:
+ case CP0_REGISTER_08:
switch (sel) {
case 0:
/* ignored */
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_09:
+ case CP0_REGISTER_09:
switch (sel) {
case 0:
gen_helper_mtc0_count(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_10:
+ case CP0_REGISTER_10:
switch (sel) {
case 0:
gen_helper_mtc0_entryhi(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_11:
+ case CP0_REGISTER_11:
switch (sel) {
case 0:
gen_helper_mtc0_compare(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_12:
+ case CP0_REGISTER_12:
switch (sel) {
case 0:
save_cpu_state(ctx, 1);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_13:
+ case CP0_REGISTER_13:
switch (sel) {
case 0:
save_cpu_state(ctx, 1);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_14:
+ case CP0_REGISTER_14:
switch (sel) {
case 0:
tcg_gen_st_tl(arg, cpu_env, offsetof(CPUMIPSState, CP0_EPC));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_15:
+ case CP0_REGISTER_15:
switch (sel) {
case 0:
/* ignored */
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_16:
+ case CP0_REGISTER_16:
switch (sel) {
case 0:
gen_helper_mtc0_config0(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_17:
+ case CP0_REGISTER_17:
switch (sel) {
case 0:
gen_helper_mtc0_lladdr(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_18:
+ case CP0_REGISTER_18:
switch (sel) {
case 0:
case 1:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_19:
+ case CP0_REGISTER_19:
switch (sel) {
case 0:
case 1:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_20:
+ case CP0_REGISTER_20:
switch (sel) {
case 0:
#if defined(TARGET_MIPS64)
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_21:
+ case CP0_REGISTER_21:
/* Officially reserved, but sel 0 is used for R1x000 framemask */
CP0_CHECK(!(ctx->insn_flags & ISA_MIPS32R6));
switch (sel) {
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_22:
+ case CP0_REGISTER_22:
/* ignored */
rn = "Diagnostic"; /* implementation dependent */
break;
- case CPO_REGISTER_23:
+ case CP0_REGISTER_23:
switch (sel) {
case 0:
gen_helper_mtc0_debug(cpu_env, arg); /* EJTAG support */
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_24:
+ case CP0_REGISTER_24:
switch (sel) {
case 0:
/* EJTAG support */
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_25:
+ case CP0_REGISTER_25:
switch (sel) {
case 0:
gen_helper_mtc0_performance0(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_26:
+ case CP0_REGISTER_26:
switch (sel) {
case 0:
gen_helper_mtc0_errctl(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_27:
+ case CP0_REGISTER_27:
switch (sel) {
case 0:
case 1:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_28:
+ case CP0_REGISTER_28:
switch (sel) {
case 0:
case 2:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_29:
+ case CP0_REGISTER_29:
switch (sel) {
case 0:
case 2:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_30:
+ case CP0_REGISTER_30:
switch (sel) {
case 0:
tcg_gen_st_tl(arg, cpu_env, offsetof(CPUMIPSState, CP0_ErrorEPC));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_31:
+ case CP0_REGISTER_31:
switch (sel) {
case 0:
/* EJTAG support */
check_insn(ctx, ISA_MIPS64);
switch (reg) {
- case CPO_REGISTER_00:
+ case CP0_REGISTER_00:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_Index));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_01:
+ case CP0_REGISTER_01:
switch (sel) {
case 0:
CP0_CHECK(!(ctx->insn_flags & ISA_MIPS32R6));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_02:
+ case CP0_REGISTER_02:
switch (sel) {
case 0:
tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUMIPSState, CP0_EntryLo0));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_03:
+ case CP0_REGISTER_03:
switch (sel) {
case 0:
tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUMIPSState, CP0_EntryLo1));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_04:
+ case CP0_REGISTER_04:
switch (sel) {
case 0:
tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUMIPSState, CP0_Context));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_05:
+ case CP0_REGISTER_05:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_PageMask));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_06:
+ case CP0_REGISTER_06:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_Wired));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_07:
+ case CP0_REGISTER_07:
switch (sel) {
case 0:
check_insn(ctx, ISA_MIPS32R2);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_08:
+ case CP0_REGISTER_08:
switch (sel) {
case 0:
tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUMIPSState, CP0_BadVAddr));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_09:
+ case CP0_REGISTER_09:
switch (sel) {
case 0:
/* Mark as an IO operation because we read the time. */
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_10:
+ case CP0_REGISTER_10:
switch (sel) {
case 0:
tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUMIPSState, CP0_EntryHi));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_11:
+ case CP0_REGISTER_11:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_Compare));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_12:
+ case CP0_REGISTER_12:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_Status));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_13:
+ case CP0_REGISTER_13:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_Cause));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_14:
+ case CP0_REGISTER_14:
switch (sel) {
case 0:
tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUMIPSState, CP0_EPC));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_15:
+ case CP0_REGISTER_15:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_PRid));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_16:
+ case CP0_REGISTER_16:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_Config0));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_17:
+ case CP0_REGISTER_17:
switch (sel) {
case 0:
gen_helper_dmfc0_lladdr(arg, cpu_env);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_18:
+ case CP0_REGISTER_18:
switch (sel) {
case 0:
case 1:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_19:
+ case CP0_REGISTER_19:
switch (sel) {
case 0:
case 1:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_20:
+ case CP0_REGISTER_20:
switch (sel) {
case 0:
check_insn(ctx, ISA_MIPS3);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_21:
+ case CP0_REGISTER_21:
/* Officially reserved, but sel 0 is used for R1x000 framemask */
CP0_CHECK(!(ctx->insn_flags & ISA_MIPS32R6));
switch (sel) {
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_22:
+ case CP0_REGISTER_22:
tcg_gen_movi_tl(arg, 0); /* unimplemented */
rn = "'Diagnostic"; /* implementation dependent */
break;
- case CPO_REGISTER_23:
+ case CP0_REGISTER_23:
switch (sel) {
case 0:
gen_helper_mfc0_debug(arg, cpu_env); /* EJTAG support */
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_24:
+ case CP0_REGISTER_24:
switch (sel) {
case 0:
/* EJTAG support */
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_25:
+ case CP0_REGISTER_25:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_Performance0));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_26:
+ case CP0_REGISTER_26:
switch (sel) {
case 0:
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_ErrCtl));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_27:
+ case CP0_REGISTER_27:
switch (sel) {
/* ignored */
case 0:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_28:
+ case CP0_REGISTER_28:
switch (sel) {
case 0:
case 2:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_29:
+ case CP0_REGISTER_29:
switch (sel) {
case 0:
case 2:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_30:
+ case CP0_REGISTER_30:
switch (sel) {
case 0:
tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUMIPSState, CP0_ErrorEPC));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_31:
+ case CP0_REGISTER_31:
switch (sel) {
case 0:
/* EJTAG support */
}
switch (reg) {
- case CPO_REGISTER_00:
+ case CP0_REGISTER_00:
switch (sel) {
case 0:
gen_helper_mtc0_index(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_01:
+ case CP0_REGISTER_01:
switch (sel) {
case 0:
/* ignored */
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_02:
+ case CP0_REGISTER_02:
switch (sel) {
case 0:
gen_helper_dmtc0_entrylo0(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_03:
+ case CP0_REGISTER_03:
switch (sel) {
case 0:
gen_helper_dmtc0_entrylo1(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_04:
+ case CP0_REGISTER_04:
switch (sel) {
case 0:
gen_helper_mtc0_context(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_05:
+ case CP0_REGISTER_05:
switch (sel) {
case 0:
gen_helper_mtc0_pagemask(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_06:
+ case CP0_REGISTER_06:
switch (sel) {
case 0:
gen_helper_mtc0_wired(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_07:
+ case CP0_REGISTER_07:
switch (sel) {
case 0:
check_insn(ctx, ISA_MIPS32R2);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_08:
+ case CP0_REGISTER_08:
switch (sel) {
case 0:
/* ignored */
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_09:
+ case CP0_REGISTER_09:
switch (sel) {
case 0:
gen_helper_mtc0_count(cpu_env, arg);
/* Stop translation as we may have switched the execution mode */
ctx->base.is_jmp = DISAS_STOP;
break;
- case CPO_REGISTER_10:
+ case CP0_REGISTER_10:
switch (sel) {
case 0:
gen_helper_mtc0_entryhi(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_11:
+ case CP0_REGISTER_11:
switch (sel) {
case 0:
gen_helper_mtc0_compare(cpu_env, arg);
/* Stop translation as we may have switched the execution mode */
ctx->base.is_jmp = DISAS_STOP;
break;
- case CPO_REGISTER_12:
+ case CP0_REGISTER_12:
switch (sel) {
case 0:
save_cpu_state(ctx, 1);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_13:
+ case CP0_REGISTER_13:
switch (sel) {
case 0:
save_cpu_state(ctx, 1);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_14:
+ case CP0_REGISTER_14:
switch (sel) {
case 0:
tcg_gen_st_tl(arg, cpu_env, offsetof(CPUMIPSState, CP0_EPC));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_15:
+ case CP0_REGISTER_15:
switch (sel) {
case 0:
/* ignored */
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_16:
+ case CP0_REGISTER_16:
switch (sel) {
case 0:
gen_helper_mtc0_config0(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_17:
+ case CP0_REGISTER_17:
switch (sel) {
case 0:
gen_helper_mtc0_lladdr(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_18:
+ case CP0_REGISTER_18:
switch (sel) {
case 0:
case 1:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_19:
+ case CP0_REGISTER_19:
switch (sel) {
case 0:
case 1:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_20:
+ case CP0_REGISTER_20:
switch (sel) {
case 0:
check_insn(ctx, ISA_MIPS3);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_21:
+ case CP0_REGISTER_21:
/* Officially reserved, but sel 0 is used for R1x000 framemask */
CP0_CHECK(!(ctx->insn_flags & ISA_MIPS32R6));
switch (sel) {
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_22:
+ case CP0_REGISTER_22:
/* ignored */
rn = "Diagnostic"; /* implementation dependent */
break;
- case CPO_REGISTER_23:
+ case CP0_REGISTER_23:
switch (sel) {
case 0:
gen_helper_mtc0_debug(cpu_env, arg); /* EJTAG support */
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_24:
+ case CP0_REGISTER_24:
switch (sel) {
case 0:
/* EJTAG support */
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_25:
+ case CP0_REGISTER_25:
switch (sel) {
case 0:
gen_helper_mtc0_performance0(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_26:
+ case CP0_REGISTER_26:
switch (sel) {
case 0:
gen_helper_mtc0_errctl(cpu_env, arg);
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_27:
+ case CP0_REGISTER_27:
switch (sel) {
case 0:
case 1:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_28:
+ case CP0_REGISTER_28:
switch (sel) {
case 0:
case 2:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_29:
+ case CP0_REGISTER_29:
switch (sel) {
case 0:
case 2:
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_30:
+ case CP0_REGISTER_30:
switch (sel) {
case 0:
tcg_gen_st_tl(arg, cpu_env, offsetof(CPUMIPSState, CP0_ErrorEPC));
goto cp0_unimplemented;
}
break;
- case CPO_REGISTER_31:
+ case CP0_REGISTER_31:
switch (sel) {
case 0:
/* EJTAG support */