patch-2.3.9 linux/include/asm-ppc/spinlock.h
Next file: linux/include/asm-ppc/unistd.h
Previous file: linux/include/asm-ppc/softirq.h
Back to the patch index
Back to the overall index
- Lines: 78
- Date:
Mon Jun 28 13:40:39 1999
- Orig file:
v2.3.8/linux/include/asm-ppc/spinlock.h
- Orig date:
Wed Mar 10 21:30:32 1999
diff -u --recursive --new-file v2.3.8/linux/include/asm-ppc/spinlock.h linux/include/asm-ppc/spinlock.h
@@ -2,7 +2,6 @@
#define __ASM_SPINLOCK_H
#ifndef __SMP__
-
/*
* Your basic spinlocks, allowing only a single CPU anywhere
*
@@ -18,14 +17,16 @@
#define spin_lock_init(lock) do { } while(0)
#define spin_lock(lock) do { } while(0)
-#define spin_trylock(lock) do { } while(0)
+#define spin_trylock(lock) (1)
#define spin_unlock_wait(lock) do { } while(0)
#define spin_unlock(lock) do { } while(0)
#define spin_lock_irq(lock) cli()
#define spin_unlock_irq(lock) sti()
-
+#define spin_lock_bh(lock) local_bh_disable()
+#define spin_unlock_bh(lock) local_bh_enable()
#define spin_lock_irqsave(lock, flags) \
do { save_flags(flags); cli(); } while (0)
+
#define spin_unlock_irqrestore(lock, flags) \
restore_flags(flags)
@@ -57,6 +58,10 @@
#define read_unlock_irq(lock) sti()
#define write_lock_irq(lock) cli()
#define write_unlock_irq(lock) sti()
+#define read_lock_bh(lock) local_bh_disable()
+#define read_unlock_bh(lock) local_bh_enable()
+#define write_lock_bh(lock) local_bh_disable()
+#define write_unlock_bh(lock) local_bh_enable()
#define read_lock_irqsave(lock, flags) \
do { save_flags(flags); cli(); } while (0)
@@ -94,8 +99,11 @@
#define spin_lock_irq(lock) \
do { __cli(); spin_lock(lock); } while (0)
+#define spin_lock_bh(___lk) do { local_bh_disable(); spin_lock(___lk); } while(0)
+
#define spin_unlock_irq(lock) \
do { spin_unlock(lock); __sti(); } while (0)
+#define spin_unlock_bh(___lk) do { spin_unlock(___lk); local_bh_enable(); } while(0)
#define spin_lock_irqsave(lock, flags) \
do { __save_flags(flags); __cli(); spin_lock(lock); } while (0)
@@ -132,10 +140,13 @@
#define read_unlock(rw) _read_unlock(rw)
#define read_lock_irq(lock) do { __cli(); read_lock(lock); } while (0)
+#define read_lock_bh(lock) do { local_bh_disable(); read_lock(lock); } while (0)
#define read_unlock_irq(lock) do { read_unlock(lock); __sti(); } while (0)
+#define read_unlock_bh(lock) do { read_unlock(lock); local_bh_enable(); } while (0)
#define write_lock_irq(lock) do { __cli(); write_lock(lock); } while (0)
+#define write_lock_bh(lock) do { local_bh_disable(); write_lock(lock); } while(0)
#define write_unlock_irq(lock) do { write_unlock(lock); __sti(); } while (0)
-
+#define write_unlock_bh(lock) do { write_unlock(lock); local_bh_enable(); } while(0)
#define read_lock_irqsave(lock, flags) \
do { __save_flags(flags); __cli(); read_lock(lock); } while (0)
#define read_unlock_irqrestore(lock, flags) \
@@ -147,12 +158,3 @@
#endif /* SMP */
#endif /* __ASM_SPINLOCK_H */
-
-
-
-
-
-
-
-
-
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)