target/mips: Simplify msa_reset()
authorPhilippe Mathieu-Daudé <f4bug@amsat.org>
Sun, 29 Nov 2020 22:57:02 +0000 (23:57 +0100)
committerPhilippe Mathieu-Daudé <f4bug@amsat.org>
Thu, 14 Jan 2021 16:13:53 +0000 (17:13 +0100)
Call msa_reset() unconditionally, but only reset
the MSA registers if MSA is implemented.

Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Message-Id: <20201208003702.4088927-3-f4bug@amsat.org>

target/mips/cpu-defs.c.inc
target/mips/cpu.c

index 535d4c0c7023f7380b6a78c7fea7ea6e17d30ab8..fe0f47aadf8d0710467652726768078010808e62 100644 (file)
@@ -978,6 +978,10 @@ static void mvp_init(CPUMIPSState *env)
 
 static void msa_reset(CPUMIPSState *env)
 {
+    if (!ase_msa_available(env)) {
+        return;
+    }
+
 #ifdef CONFIG_USER_ONLY
     /* MSA access enabled */
     env->CP0_Config5 |= 1 << CP0C5_MSAEn;
index 0643a5784c719bfbfa6e070db886de9a5a8f3d74..001b1b88e21091ed7ffd3bc10373b4c44b1f2f65 100644 (file)
@@ -532,10 +532,7 @@ static void mips_cpu_reset(DeviceState *dev)
         env->hflags |= MIPS_HFLAG_M16;
     }
 
-    /* MSA */
-    if (ase_msa_available(env)) {
-        msa_reset(env);
-    }
+    msa_reset(env);
 
     compute_hflags(env);
     restore_fp_status(env);