[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH for 4.2 v6 20/22] target/mips: Clean up handling of
From: |
Aleksandar Markovic |
Subject: |
[Qemu-devel] [PATCH for 4.2 v6 20/22] target/mips: Clean up handling of CP0 register 31 |
Date: |
Mon, 5 Aug 2019 12:09:18 +0200 |
From: Aleksandar Markovic <address@hidden>
Clean up handling of CP0 register 31.
Signed-off-by: Aleksandar Markovic <address@hidden>
---
target/mips/cpu.h | 2 +-
target/mips/translate.c | 56 ++++++++++++++++++++++++-------------------------
2 files changed, 29 insertions(+), 29 deletions(-)
diff --git a/target/mips/cpu.h b/target/mips/cpu.h
index e2f6844..0c79a0e 100644
--- a/target/mips/cpu.h
+++ b/target/mips/cpu.h
@@ -552,7 +552,6 @@ struct CPUMIPSState {
* CP0 Register 4
*/
target_ulong CP0_Context;
- target_ulong CP0_KScratch[MIPS_KSCRATCH_NUM];
int32_t CP0_MemoryMapID;
/*
* CP0 Register 5
@@ -963,6 +962,7 @@ struct CPUMIPSState {
* CP0 Register 31
*/
int32_t CP0_DESAVE;
+ target_ulong CP0_KScratch[MIPS_KSCRATCH_NUM];
/* We waste some space so we can handle shadow registers like TCs. */
TCState tcs[MIPS_SHADOW_SET_MAX];
diff --git a/target/mips/translate.c b/target/mips/translate.c
index 90e9636..9ad0519 100644
--- a/target/mips/translate.c
+++ b/target/mips/translate.c
@@ -7573,17 +7573,17 @@ static void gen_mfc0(DisasContext *ctx, TCGv arg, int
reg, int sel)
break;
case CP0_REGISTER_31:
switch (sel) {
- case 0:
+ case CP0_REG31__DESAVE:
/* EJTAG support */
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_DESAVE));
register_name = "DESAVE";
break;
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
+ case CP0_REG31__KSCRATCH1:
+ case CP0_REG31__KSCRATCH2:
+ case CP0_REG31__KSCRATCH3:
+ case CP0_REG31__KSCRATCH4:
+ case CP0_REG31__KSCRATCH5:
+ case CP0_REG31__KSCRATCH6:
CP0_CHECK(ctx->kscrexist & (1 << sel));
tcg_gen_ld_tl(arg, cpu_env,
offsetof(CPUMIPSState, CP0_KScratch[sel-2]));
@@ -8319,17 +8319,17 @@ static void gen_mtc0(DisasContext *ctx, TCGv arg, int
reg, int sel)
break;
case CP0_REGISTER_31:
switch (sel) {
- case 0:
+ case CP0_REG31__DESAVE:
/* EJTAG support */
gen_mtc0_store32(arg, offsetof(CPUMIPSState, CP0_DESAVE));
register_name = "DESAVE";
break;
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
+ case CP0_REG31__KSCRATCH1:
+ case CP0_REG31__KSCRATCH2:
+ case CP0_REG31__KSCRATCH3:
+ case CP0_REG31__KSCRATCH4:
+ case CP0_REG31__KSCRATCH5:
+ case CP0_REG31__KSCRATCH6:
CP0_CHECK(ctx->kscrexist & (1 << sel));
tcg_gen_st_tl(arg, cpu_env,
offsetof(CPUMIPSState, CP0_KScratch[sel-2]));
@@ -9048,17 +9048,17 @@ static void gen_dmfc0(DisasContext *ctx, TCGv arg, int
reg, int sel)
break;
case CP0_REGISTER_31:
switch (sel) {
- case 0:
+ case CP0_REG31__DESAVE:
/* EJTAG support */
gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_DESAVE));
register_name = "DESAVE";
break;
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
+ case CP0_REG31__KSCRATCH1:
+ case CP0_REG31__KSCRATCH2:
+ case CP0_REG31__KSCRATCH3:
+ case CP0_REG31__KSCRATCH4:
+ case CP0_REG31__KSCRATCH5:
+ case CP0_REG31__KSCRATCH6:
CP0_CHECK(ctx->kscrexist & (1 << sel));
tcg_gen_ld_tl(arg, cpu_env,
offsetof(CPUMIPSState, CP0_KScratch[sel-2]));
@@ -9781,17 +9781,17 @@ static void gen_dmtc0(DisasContext *ctx, TCGv arg, int
reg, int sel)
break;
case CP0_REGISTER_31:
switch (sel) {
- case 0:
+ case CP0_REG31__DESAVE:
/* EJTAG support */
gen_mtc0_store32(arg, offsetof(CPUMIPSState, CP0_DESAVE));
register_name = "DESAVE";
break;
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
+ case CP0_REG31__KSCRATCH1:
+ case CP0_REG31__KSCRATCH2:
+ case CP0_REG31__KSCRATCH3:
+ case CP0_REG31__KSCRATCH4:
+ case CP0_REG31__KSCRATCH5:
+ case CP0_REG31__KSCRATCH6:
CP0_CHECK(ctx->kscrexist & (1 << sel));
tcg_gen_st_tl(arg, cpu_env,
offsetof(CPUMIPSState, CP0_KScratch[sel-2]));
--
2.7.4
- [Qemu-devel] [PATCH for 4.2 v6 09/22] target/mips: Style improvements in internal.h, (continued)
- [Qemu-devel] [PATCH for 4.2 v6 09/22] target/mips: Style improvements in internal.h, Aleksandar Markovic, 2019/08/05
- [Qemu-devel] [PATCH for 4.2 v6 06/22] target/mips: Style improvements in cp0_timer.c, Aleksandar Markovic, 2019/08/05
- [Qemu-devel] [PATCH for 4.2 v6 04/22] target/mips: Add support for emulation of GINVT instruction, Aleksandar Markovic, 2019/08/05
- [Qemu-devel] [PATCH for 4.2 v6 02/22] target/mips: Amend CP0 WatchHi register implementation, Aleksandar Markovic, 2019/08/05
- [Qemu-devel] [PATCH for 4.2 v6 11/22] target/mips: Style improvements in cps.c, Aleksandar Markovic, 2019/08/05
- [Qemu-devel] [PATCH for 4.2 v6 18/22] target/mips: Clean up handling of CP0 register 26, Aleksandar Markovic, 2019/08/05
- [Qemu-devel] [PATCH for 4.2 v6 21/22] target/mips: tests/tcg: Add optional printing of more detailed failure info, Aleksandar Markovic, 2019/08/05
- [Qemu-devel] [PATCH for 4.2 v6 19/22] target/mips: Clean up handling of CP0 register 30, Aleksandar Markovic, 2019/08/05
- [Qemu-devel] [PATCH for 4.2 v6 08/22] target/mips: Style improvements in helper.c, Aleksandar Markovic, 2019/08/05
- [Qemu-devel] [PATCH for 4.2 v6 16/22] target/mips: Clean up handling of CP0 register 0, Aleksandar Markovic, 2019/08/05
- [Qemu-devel] [PATCH for 4.2 v6 20/22] target/mips: Clean up handling of CP0 register 31,
Aleksandar Markovic <=
- [Qemu-devel] [PATCH for 4.2 v6 14/22] target/mips: Style improvements in mips_malta.c, Aleksandar Markovic, 2019/08/05
- [Qemu-devel] [PATCH for 4.2 v6 17/22] target/mips: Clean up handling of CP0 register 24, Aleksandar Markovic, 2019/08/05
- [Qemu-devel] [PATCH for 4.2 v6 22/22] target/mips: tests/tcg: Fix target configurations for MSA tests, Aleksandar Markovic, 2019/08/05