diff options
author | Leon Alrae <leon.alrae@imgtec.com> | 2015-07-14 11:08:13 +0100 |
---|---|---|
committer | Leon Alrae <leon.alrae@imgtec.com> | 2015-07-15 14:07:25 +0100 |
commit | fe87c2b36ae9c1c9a5279f3891f3bce1b573baa0 (patch) | |
tree | 8551e02eaa3bd9427dcf916a077070acf9282335 /target-mips | |
parent | 6a973e6b6584221bed89a01e755b88e58b496652 (diff) |
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>
Diffstat (limited to 'target-mips')
-rw-r--r-- | target-mips/op_helper.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/target-mips/op_helper.c b/target-mips/op_helper.c index d457a29f3e..9c28631dc1 100644 --- a/target-mips/op_helper.c +++ b/target-mips/op_helper.c @@ -2154,10 +2154,9 @@ void helper_deret(CPUMIPSState *env) debug_pre_eret(env); set_pc(env, env->CP0_DEPC); - env->hflags &= MIPS_HFLAG_DM; + env->hflags &= ~MIPS_HFLAG_DM; compute_hflags(env); debug_post_eret(env); - env->lladdr = 1; } #endif /* !CONFIG_USER_ONLY */ |