diff options
author | jhb <jhb@FreeBSD.org> | 2000-10-20 19:54:47 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2000-10-20 19:54:47 +0000 |
commit | 28f96ee0817d1574b17642142dda3fa0b949c42f (patch) | |
tree | 26bb35ff47671742da30a54f779fa11df9e31d3b /sys/powerpc/include | |
parent | e5781f4f9ffcf3c0fb3fbcedd66bd3639bcce38f (diff) | |
download | FreeBSD-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/powerpc/include')
-rw-r--r-- | sys/powerpc/include/mutex.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/powerpc/include/mutex.h b/sys/powerpc/include/mutex.h index 5ccc28d..6c376f0 100644 --- a/sys/powerpc/include/mutex.h +++ b/sys/powerpc/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 */ |