Commit 72f1c62f7dc24546abafe873d0aeaa2a545c0033
1 parent
6c95676b
Fix ARM and Thumb ldlex/stlex.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4202 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
2 additions
and
0 deletions
target-arm/translate.c
| ... | ... | @@ -6241,6 +6241,7 @@ static void disas_arm_insn(CPUState * env, DisasContext *s) |
| 6241 | 6241 | if (insn & (1 << 23)) { |
| 6242 | 6242 | /* load/store exclusive */ |
| 6243 | 6243 | gen_movl_T1_reg(s, rn); |
| 6244 | + addr = cpu_T[1]; | |
| 6244 | 6245 | if (insn & (1 << 20)) { |
| 6245 | 6246 | gen_helper_mark_exclusive(cpu_env, cpu_T[1]); |
| 6246 | 6247 | tmp = gen_ld32(addr, IS_USER(s)); |
| ... | ... | @@ -6991,6 +6992,7 @@ static int disas_thumb2_insn(CPUState *env, DisasContext *s, uint16_t insn_hw1) |
| 6991 | 6992 | } else if ((insn & (1 << 23)) == 0) { |
| 6992 | 6993 | /* Load/store exclusive word. */ |
| 6993 | 6994 | gen_movl_T1_reg(s, rn); |
| 6995 | + addr = cpu_T[1]; | |
| 6994 | 6996 | if (insn & (1 << 20)) { |
| 6995 | 6997 | gen_helper_mark_exclusive(cpu_env, cpu_T[1]); |
| 6996 | 6998 | tmp = gen_ld32(addr, IS_USER(s)); | ... | ... |