aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/xen/spinlock.h
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-10-22 15:06:01 +0100
committerKeir Fraser <keir.fraser@citrix.com>2008-10-22 15:06:01 +0100
commit828dfa9ef2bb3dae3ee29cccbe3d4d75bf56b8a6 (patch)
treeccf08c9ffaa14b3cee443be3ffca637202fabbf3 /xen/include/xen/spinlock.h
parentcdd644ce1082849d20832902d8d5a69b854f8cbe (diff)
downloadxen-828dfa9ef2bb3dae3ee29cccbe3d4d75bf56b8a6.tar.gz
xen-828dfa9ef2bb3dae3ee29cccbe3d4d75bf56b8a6.tar.bz2
xen-828dfa9ef2bb3dae3ee29cccbe3d4d75bf56b8a6.zip
Define spin_barrier_irq() for IRQ-safe spinlocks, and use it for virq_lock.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/include/xen/spinlock.h')
-rw-r--r--xen/include/xen/spinlock.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index 289018fea0..c49be63c5f 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -34,6 +34,7 @@ void _spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags);
int _spin_is_locked(spinlock_t *lock);
int _spin_trylock(spinlock_t *lock);
void _spin_barrier(spinlock_t *lock);
+void _spin_barrier_irq(spinlock_t *lock);
void _spin_lock_recursive(spinlock_t *lock);
void _spin_unlock_recursive(spinlock_t *lock);
@@ -67,6 +68,7 @@ void _write_unlock_irqrestore(rwlock_t *lock, unsigned long flags);
/* Ensure a lock is quiescent between two critical operations. */
#define spin_barrier(l) _spin_barrier(l)
+#define spin_barrier_irq(l) _spin_barrier_irq(l)
/*
* spin_[un]lock_recursive(): Use these forms when the lock can (safely!) be