summaryrefslogtreecommitdiffstats
path: root/sys/alpha
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2000-10-20 19:54:47 +0000
committerjhb <jhb@FreeBSD.org>2000-10-20 19:54:47 +0000
commit28f96ee0817d1574b17642142dda3fa0b949c42f (patch)
tree26bb35ff47671742da30a54f779fa11df9e31d3b /sys/alpha
parente5781f4f9ffcf3c0fb3fbcedd66bd3639bcce38f (diff)
downloadFreeBSD-src-28f96ee0817d1574b17642142dda3fa0b949c42f.zip
FreeBSD-src-28f96ee0817d1574b17642142dda3fa0b949c42f.tar.gz
Catch up to some of the changes to _getlock_spin_block. Specifically,
use _obtain_lock() instead of a manual atomic_cmpset_ptr.
Diffstat (limited to 'sys/alpha')
-rw-r--r--sys/alpha/include/mutex.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/alpha/include/mutex.h b/sys/alpha/include/mutex.h
index 5ccc28d..6c376f0 100644
--- a/sys/alpha/include/mutex.h
+++ b/sys/alpha/include/mutex.h
@@ -72,11 +72,11 @@ extern char STR_SIEN[];
#define _getlock_spin_block(mp, tid, type) do { \
u_int _ipl = alpha_pal_swpipl(ALPHA_PSL_IPL_HIGH); \
- if (atomic_cmpset_64(&(mp)->mtx_lock, MTX_UNOWNED, (tid)) == 0) \
+ if (!_obtain_lock(mp, tid)) \
mtx_enter_hard(mp, (type) & MTX_HARDOPTS, _ipl); \
else { \
alpha_mb(); \
- (mp)->mtx_saveipl = _ipl; \
+ (mp)->mtx_saveintr = _ipl; \
} \
} while (0)
@@ -97,13 +97,13 @@ extern char STR_SIEN[];
stq_c a0, lck+MTX_LOCK; \
beq a0, 1b; \
mb; \
- stl v0, lck+MTX_SAVEIPL
+ stl v0, lck+MTX_SAVEINTR
#define MTX_EXIT(lck) \
mb; \
ldiq a0, MTX_UNOWNED; \
stq a0, lck+MTX_LOCK; \
- ldl a0, lck+MTX_SAVEIPL; \
+ ldl a0, lck+MTX_SAVEINTR; \
call_pal PAL_OSF1_swpipl
#endif /* !LOCORE */
OpenPOWER on IntegriCloud