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 | |
| 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>
| -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 | } |
