From 72f1c62f7dc24546abafe873d0aeaa2a545c0033 Mon Sep 17 00:00:00 2001 From: balrog Date: Sun, 13 Apr 2008 01:53:27 +0000 Subject: Fix ARM and Thumb ldlex/stlex. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4202 c046a42c-6fe2-441c-8c8c-71466251a162 --- target-arm/translate.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'target-arm') diff --git a/target-arm/translate.c b/target-arm/translate.c index f1695decdf..3d5142a7cc 100644 --- a/target-arm/translate.c +++ b/target-arm/translate.c @@ -6241,6 +6241,7 @@ static void disas_arm_insn(CPUState * env, DisasContext *s) if (insn & (1 << 23)) { /* load/store exclusive */ gen_movl_T1_reg(s, rn); + addr = cpu_T[1]; if (insn & (1 << 20)) { gen_helper_mark_exclusive(cpu_env, cpu_T[1]); tmp = gen_ld32(addr, IS_USER(s)); @@ -6991,6 +6992,7 @@ static int disas_thumb2_insn(CPUState *env, DisasContext *s, uint16_t insn_hw1) } else if ((insn & (1 << 23)) == 0) { /* Load/store exclusive word. */ gen_movl_T1_reg(s, rn); + addr = cpu_T[1]; if (insn & (1 << 20)) { gen_helper_mark_exclusive(cpu_env, cpu_T[1]); tmp = gen_ld32(addr, IS_USER(s)); -- cgit v1.2.3