aboutsummaryrefslogtreecommitdiff
path: root/arch/sh/include/asm/cmpxchg-llsc.h
AgeCommit message (Collapse)Author
2009-06-11sh: Fix sh4a llsc-based cmpxchg()Aoi Shinkai
This fixes up a typo in the ll/sc based cmpxchg code which apparently wasn't getting a lot of testing due to the swapped old/new pair. With that fixed up, the ll/sc code also starts using it and provides its own atomic_add_unless(). Signed-off-by: Aoi Shinkai <shinkoi2005@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-01-29sh: Relax inline assembly constraintsMatt Fleming
When dereferencing the memory address contained in a register and modifying the value at that memory address, the register should not be listed in the inline asm outputs. The value at the memory address is an output (which is taken care of with the "memory" clobber), not the register. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08sh: Provide movli.l/movco.l-based cmpxchg.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>