Jeremy Fitzhardinge
31a8394e06
x86: consolidate xchg and xadd macros
...
They both have a basic "put new value in location, return old value"
pattern, so they can use the same macro easily.
Signed-off-by: Jeremy Fitzhardinge <jeremy@goop.org >
2011-11-25 10:43:12 -08:00
Jeremy Fitzhardinge
3d94ae0c70
x86/cmpxchg: add a locked add() helper
...
Mostly to remove some conditional code in spinlock.h.
Signed-off-by: Jeremy Fitzhardinge <jeremy@goop.org >
2011-11-25 10:42:59 -08:00
Jeremy Fitzhardinge
61e2cd0acc
x86, cmpxchg: Use __compiletime_error() to make usage messages a bit nicer
...
Use __compiletime_error() to produce a compile-time error rather than
link-time, where available.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com >
Link: http://lkml.kernel.org/r/4E5BCC40.3030501@goop.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com >
2011-08-29 17:20:40 -07:00
Jeremy Fitzhardinge
433b352061
x86: Add xadd helper macro
...
Add a common xadd implementation.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com >
Link: http://lkml.kernel.org/r/4E5BCC40.3030501@goop.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com >
2011-08-29 13:42:20 -07:00
Jeremy Fitzhardinge
e9826380d8
x86, cmpxchg: Unify cmpxchg into cmpxchg.h
...
Everything that's actually common between 32 and 64-bit is moved into
cmpxchg.h.
xchg/cmpxchg will fail with a link error if they're passed an
unsupported size (which includes 64-bit args on 32-bit systems).
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com >
Link: http://lkml.kernel.org/r/4E5BCC40.3030501@goop.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com >
2011-08-29 13:42:10 -07:00
Al Viro
bb8985586b
x86, um: ... and asm-x86 move
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk >
Signed-off-by: H. Peter Anvin <hpa@zytor.com >
2008-10-22 22:55:20 -07:00