projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
24ebf5f
)
target-arm: fix thumb CPS
author
Rabin Vincent
<rabin@rab.in>
Sun, 14 Feb 2010 18:32:34 +0000
(
00:02
+0530)
committer
Paul Brook
<paul@codesourcery.com>
Fri, 19 Feb 2010 13:38:32 +0000
(13:38 +0000)
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: Rabin Vincent <rabin@rab.in>
target-arm/translate.c
patch
|
blob
|
history
diff --git
a/target-arm/translate.c
b/target-arm/translate.c
index 786c3294dac4f3f7a69009c6769348c00694784c..10a516b9097829955059c69b71f21fc55d79c655 100644
(file)
--- a/
target-arm/translate.c
+++ b/
target-arm/translate.c
@@
-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;