diff options
author | Nathan Froyd <froydnj@codesourcery.com> | 2009-08-03 08:43:25 -0700 |
---|---|---|
committer | malc <av1474@comtv.ru> | 2009-08-03 20:33:41 +0400 |
commit | 18b21a2f83a26c3d6a9e7f0bdc4e8eb2b177e8f6 (patch) | |
tree | 7e7a3100d4e34f207748ff34ab1be97231b3e467 /target-ppc/op_helper.c | |
parent | 174c80d51612ce33960965c75e40c922599a503e (diff) |
target-ppc: retain l{w,d}arx loaded value
We do this so we can check on the corresponding stc{w,d}x. whether the
value has changed. It's a poor man's form of implementing atomic
operations and is valid only for NPTL usermode Linux emulation.
Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: malc <av1474@comtv.ru>
Diffstat (limited to 'target-ppc/op_helper.c')
-rw-r--r-- | target-ppc/op_helper.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/target-ppc/op_helper.c b/target-ppc/op_helper.c index ad6d8ee9b2..812282c746 100644 --- a/target-ppc/op_helper.c +++ b/target-ppc/op_helper.c @@ -329,8 +329,8 @@ static void do_dcbz(target_ulong addr, int dcache_line_size) for (i = 0 ; i < dcache_line_size ; i += 4) { stl(addr + i , 0); } - if (env->reserve == addr) - env->reserve = (target_ulong)-1ULL; + if (env->reserve_addr == addr) + env->reserve_addr = (target_ulong)-1ULL; } void helper_dcbz(target_ulong addr) |