target-mips: correct DERET instruction
Fix Debug Mode flag clearing, and when DERET is placed between LL and SC do not make SC fail. Signed-off-by: Leon Alrae <leon.alrae@imgtec.com> Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
6a973e6b65
commit
fe87c2b36a
@ -2154,10 +2154,9 @@ void helper_deret(CPUMIPSState *env)
|
|||||||
debug_pre_eret(env);
|
debug_pre_eret(env);
|
||||||
set_pc(env, env->CP0_DEPC);
|
set_pc(env, env->CP0_DEPC);
|
||||||
|
|
||||||
env->hflags &= MIPS_HFLAG_DM;
|
env->hflags &= ~MIPS_HFLAG_DM;
|
||||||
compute_hflags(env);
|
compute_hflags(env);
|
||||||
debug_post_eret(env);
|
debug_post_eret(env);
|
||||||
env->lladdr = 1;
|
|
||||||
}
|
}
|
||||||
#endif /* !CONFIG_USER_ONLY */
|
#endif /* !CONFIG_USER_ONLY */
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user