diff options
author | Jan Beulich <jbeulich@novell.com> | 2005-09-12 12:49:24 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-12 13:50:57 -0400 |
commit | a2d236b3ac8fcbbf1bae7d815294d258ba24e3f5 (patch) | |
tree | 233b4d6dc1b4ae39eb3c4c5db3591503cf90768d /include/asm-x86_64/system.h | |
parent | 1a426cb76443f5b0a021a9df57d3446d14763c21 (diff) |
[PATCH] x86-64: Lose constraints on cmpxchg
While only cosmetic for x86-64, this adjusts the cmpxchg code appearantly
inherited from i386 to use more generic constraints.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-x86_64/system.h')
-rw-r--r-- | include/asm-x86_64/system.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/asm-x86_64/system.h b/include/asm-x86_64/system.h index d65381194bda..85348e02ad2e 100644 --- a/include/asm-x86_64/system.h +++ b/include/asm-x86_64/system.h | |||
@@ -253,19 +253,19 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old, | |||
253 | case 2: | 253 | case 2: |
254 | __asm__ __volatile__(LOCK_PREFIX "cmpxchgw %w1,%2" | 254 | __asm__ __volatile__(LOCK_PREFIX "cmpxchgw %w1,%2" |
255 | : "=a"(prev) | 255 | : "=a"(prev) |
256 | : "q"(new), "m"(*__xg(ptr)), "0"(old) | 256 | : "r"(new), "m"(*__xg(ptr)), "0"(old) |
257 | : "memory"); | 257 | : "memory"); |
258 | return prev; | 258 | return prev; |
259 | case 4: | 259 | case 4: |
260 | __asm__ __volatile__(LOCK_PREFIX "cmpxchgl %k1,%2" | 260 | __asm__ __volatile__(LOCK_PREFIX "cmpxchgl %k1,%2" |
261 | : "=a"(prev) | 261 | : "=a"(prev) |
262 | : "q"(new), "m"(*__xg(ptr)), "0"(old) | 262 | : "r"(new), "m"(*__xg(ptr)), "0"(old) |
263 | : "memory"); | 263 | : "memory"); |
264 | return prev; | 264 | return prev; |
265 | case 8: | 265 | case 8: |
266 | __asm__ __volatile__(LOCK_PREFIX "cmpxchgq %1,%2" | 266 | __asm__ __volatile__(LOCK_PREFIX "cmpxchgq %1,%2" |
267 | : "=a"(prev) | 267 | : "=a"(prev) |
268 | : "q"(new), "m"(*__xg(ptr)), "0"(old) | 268 | : "r"(new), "m"(*__xg(ptr)), "0"(old) |
269 | : "memory"); | 269 | : "memory"); |
270 | return prev; | 270 | return prev; |
271 | } | 271 | } |