diff options
author | 2004-02-09 13:14:34 +0000 | |
---|---|---|
committer | 2004-02-09 13:14:34 +0000 | |
commit | cccb07d903ad7ddcbbfdbafb107dcc7129ddafdb (patch) | |
tree | 92af7693fb9e7a573e768874082ec97ac1de1ff6 /lib/libpthread/arch/arm/_atomic_lock.c | |
parent | punctuate variable; okay jmc@. (diff) | |
download | wireguard-openbsd-cccb07d903ad7ddcbbfdbafb107dcc7129ddafdb.tar.xz wireguard-openbsd-cccb07d903ad7ddcbbfdbafb107dcc7129ddafdb.zip |
Add arm support files for libpthread.
Diffstat (limited to 'lib/libpthread/arch/arm/_atomic_lock.c')
-rw-r--r-- | lib/libpthread/arch/arm/_atomic_lock.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/libpthread/arch/arm/_atomic_lock.c b/lib/libpthread/arch/arm/_atomic_lock.c new file mode 100644 index 00000000000..81797dcaa7f --- /dev/null +++ b/lib/libpthread/arch/arm/_atomic_lock.c @@ -0,0 +1,18 @@ +/* $OpenBSD: _atomic_lock.c,v 1.1 2004/02/09 13:14:34 drahn Exp $ */ +/* + * Atomic lock for powerpc + */ + +#include "spinlock.h" + +int +_atomic_lock(volatile _spinlock_lock_t *lock) +{ + _spinlock_lock_t old; + + __asm__("swp %0, %2, [%1]" + : "=r" (old), "=r" (lock) + : "r" (_SPINLOCK_LOCKED), "1" (lock) ); + + return (old != _SPINLOCK_UNLOCKED); +} |