target/mips: Prevent switching mode related to Config3 ISA bit for nanoMIPS

Only if Config3.ISA is 3 (microMIPS), the mode should be switched in
cpu_state_reset(). Config3.ISA is 1 for nanoMIPS processors, and no mode
change should happen.

Backports commit 0bbc0396809f6caaaf96863dafe738e94f9b73ea from qemu
This commit is contained in:
Stefan Markovic 2018-08-27 04:15:22 -04:00 committed by Lioncash
parent b3f59dae30
commit 2389a5468c
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7

View file

@ -21986,8 +21986,8 @@ void cpu_state_reset(CPUMIPSState *env)
env->CP0_Status |= (1 << CP0St_FR);
}
if (env->CP0_Config3 & (1 << CP0C3_ISA)) {
/* microMIPS on reset when Config3.ISA == {1, 3} */
if (env->CP0_Config3 & (1 << CP0C3_ISA) & (1 << (CP0C3_ISA + 1))) {
/* microMIPS on reset when Config3.ISA is 3 */
env->hflags |= MIPS_HFLAG_M16;
}