aboutsummaryrefslogtreecommitdiffstats
path: root/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/rwlock.h
diff options
context:
space:
mode:
authorrn@wyvis.research.intel-research.net <rn@wyvis.research.intel-research.net>2003-03-14 15:58:24 +0000
committerrn@wyvis.research.intel-research.net <rn@wyvis.research.intel-research.net>2003-03-14 15:58:24 +0000
commit0ec37682a14624a0f5097be9ea1fec77453dc8c1 (patch)
treebab97e72ada703fd5a1d9c774d3d0451d6ceade7 /xenolinux-2.4.21-pre4-sparse/include/asm-xeno/rwlock.h
parentd9812e47d9c20b15dbb920cc451eff1c7b88e81c (diff)
parentf9e443afb85c3843c8abd0760ee4a77b0aceeeed (diff)
downloadxen-0ec37682a14624a0f5097be9ea1fec77453dc8c1.tar.gz
xen-0ec37682a14624a0f5097be9ea1fec77453dc8c1.tar.bz2
xen-0ec37682a14624a0f5097be9ea1fec77453dc8c1.zip
bitkeeper revision 1.126 (3e71fc20anCOs2KFyD3-AMyHjdJQfg)
resolve merge conflicts manually
Diffstat (limited to 'xenolinux-2.4.21-pre4-sparse/include/asm-xeno/rwlock.h')
-rw-r--r--xenolinux-2.4.21-pre4-sparse/include/asm-xeno/rwlock.h83
1 files changed, 0 insertions, 83 deletions
diff --git a/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/rwlock.h b/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/rwlock.h
deleted file mode 100644
index 5c2f47040f..0000000000
--- a/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/rwlock.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/* include/asm-i386/rwlock.h
- *
- * Helpers used by both rw spinlocks and rw semaphores.
- *
- * Based in part on code from semaphore.h and
- * spinlock.h Copyright 1996 Linus Torvalds.
- *
- * Copyright 1999 Red Hat, Inc.
- *
- * Written by Benjamin LaHaise.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _ASM_I386_RWLOCK_H
-#define _ASM_I386_RWLOCK_H
-
-#define RW_LOCK_BIAS 0x01000000
-#define RW_LOCK_BIAS_STR "0x01000000"
-
-#define __build_read_lock_ptr(rw, helper) \
- asm volatile(LOCK "subl $1,(%0)\n\t" \
- "js 2f\n" \
- "1:\n" \
- LOCK_SECTION_START("") \
- "2:\tcall " helper "\n\t" \
- "jmp 1b\n" \
- LOCK_SECTION_END \
- ::"a" (rw) : "memory")
-
-#define __build_read_lock_const(rw, helper) \
- asm volatile(LOCK "subl $1,%0\n\t" \
- "js 2f\n" \
- "1:\n" \
- LOCK_SECTION_START("") \
- "2:\tpushl %%eax\n\t" \
- "leal %0,%%eax\n\t" \
- "call " helper "\n\t" \
- "popl %%eax\n\t" \
- "jmp 1b\n" \
- LOCK_SECTION_END \
- :"=m" (*(volatile int *)rw) : : "memory")
-
-#define __build_read_lock(rw, helper) do { \
- if (__builtin_constant_p(rw)) \
- __build_read_lock_const(rw, helper); \
- else \
- __build_read_lock_ptr(rw, helper); \
- } while (0)
-
-#define __build_write_lock_ptr(rw, helper) \
- asm volatile(LOCK "subl $" RW_LOCK_BIAS_STR ",(%0)\n\t" \
- "jnz 2f\n" \
- "1:\n" \
- LOCK_SECTION_START("") \
- "2:\tcall " helper "\n\t" \
- "jmp 1b\n" \
- LOCK_SECTION_END \
- ::"a" (rw) : "memory")
-
-#define __build_write_lock_const(rw, helper) \
- asm volatile(LOCK "subl $" RW_LOCK_BIAS_STR ",(%0)\n\t" \
- "jnz 2f\n" \
- "1:\n" \
- LOCK_SECTION_START("") \
- "2:\tpushl %%eax\n\t" \
- "leal %0,%%eax\n\t" \
- "call " helper "\n\t" \
- "popl %%eax\n\t" \
- "jmp 1b\n" \
- LOCK_SECTION_END \
- :"=m" (*(volatile int *)rw) : : "memory")
-
-#define __build_write_lock(rw, helper) do { \
- if (__builtin_constant_p(rw)) \
- __build_write_lock_const(rw, helper); \
- else \
- __build_write_lock_ptr(rw, helper); \
- } while (0)
-
-#endif