diff options
author | Andi Kleen <ak@suse.de> | 2006-09-26 04:52:32 -0400 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2006-09-26 04:52:32 -0400 |
commit | 8b059d2373c16b6d32787a49daf8ccf72dc61b71 (patch) | |
tree | 4814940e77c8956bd94d35edf765ff1698e4c57c /include/asm-x86_64/rwlock.h | |
parent | a752d7194c4fb5a3e767c95542d04fc5decb1d52 (diff) |
[PATCH] Clean up spin/rwlocks
- Inline spinlock strings into their inline functions
- Convert macros to typesafe inlines
- Replace some leftover __asm__ __volatile__s with asm volatile
Signed-off-by: Andi Kleen <ak@suse.de>
Diffstat (limited to 'include/asm-x86_64/rwlock.h')
-rw-r--r-- | include/asm-x86_64/rwlock.h | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/include/asm-x86_64/rwlock.h b/include/asm-x86_64/rwlock.h index 28a080d23119..72aeebed920b 100644 --- a/include/asm-x86_64/rwlock.h +++ b/include/asm-x86_64/rwlock.h | |||
@@ -21,18 +21,6 @@ | |||
21 | #define RW_LOCK_BIAS 0x01000000 | 21 | #define RW_LOCK_BIAS 0x01000000 |
22 | #define RW_LOCK_BIAS_STR "0x01000000" | 22 | #define RW_LOCK_BIAS_STR "0x01000000" |
23 | 23 | ||
24 | #define __build_read_lock(rw) \ | 24 | /* Actual code is in asm/spinlock.h or in arch/x86_64/lib/rwlock.S */ |
25 | asm volatile(LOCK_PREFIX "subl $1,(%0)\n\t" \ | ||
26 | "jns 1f\n" \ | ||
27 | "call __read_lock_failed\n" \ | ||
28 | "1:\n" \ | ||
29 | ::"D" (rw), "i" (RW_LOCK_BIAS) : "memory") | ||
30 | |||
31 | #define __build_write_lock(rw) \ | ||
32 | asm volatile(LOCK_PREFIX "subl %1,(%0)\n\t" \ | ||
33 | "jz 1f\n" \ | ||
34 | "\tcall __write_lock_failed\n\t" \ | ||
35 | "1:\n" \ | ||
36 | ::"D" (rw), "i" (RW_LOCK_BIAS) : "memory") | ||
37 | 25 | ||
38 | #endif | 26 | #endif |