From: Stefan Markovic Date: Mon, 20 Aug 2018 10:00:27 +0000 (+0200) Subject: target/mips: Prevent switching mode related to Config3 ISA bit for nanoMIPS X-Git-Tag: v3.1.0~182^2~41 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=0bbc0396809f6caaaf96863dafe738e94f9b73ea;p=mirror_qemu.git 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. Reviewed-by: Aleksandar Markovic Signed-off-by: Aleksandar Markovic --- diff --git a/target/mips/translate.c b/target/mips/translate.c index 4f95b9a6e8..7fb322b47d 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -21841,8 +21841,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; }