diff options
-rw-r--r-- | target/mips/cpu-defs.c.inc | 4 | ||||
-rw-r--r-- | target/mips/cpu.c | 5 |
2 files changed, 5 insertions, 4 deletions
diff --git a/target/mips/cpu-defs.c.inc b/target/mips/cpu-defs.c.inc index 535d4c0..fe0f47a 100644 --- a/target/mips/cpu-defs.c.inc +++ b/target/mips/cpu-defs.c.inc @@ -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; diff --git a/target/mips/cpu.c b/target/mips/cpu.c index 0643a57..001b1b8 100644 --- a/target/mips/cpu.c +++ b/target/mips/cpu.c @@ -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); |