Commit fa26df03 authored by Rabin Vincent's avatar Rabin Vincent Committed by Paul Brook
Browse files

target-arm: fix thumb CPS



The Thumb CPS currently does not work correctly: CPSID touches more bits
than the instruction wants to, and CPSIE does nothing.  Fix it by
passing the correct mask (the "affect" bits) and value.
Signed-off-by: default avatarRabin Vincent <rabin@rab.in>
parent 24ebf5f3
......@@ -8898,7 +8898,7 @@ static void disas_thumb_insn(CPUState *env, DisasContext *s)
shift = CPSR_A | CPSR_I | CPSR_F;
else
shift = 0;
gen_set_psr_im(s, shift, 0, ((insn & 7) << 6) & shift);
gen_set_psr_im(s, ((insn & 7) << 6), 0, shift);
}
break;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment