Skip to content

Commit 3355498

Browse files
committed
Fix for NS32K machine.
1 parent 0498b6a commit 3355498

File tree

2 files changed

+14
-18
lines changed

2 files changed

+14
-18
lines changed

src/backend/storage/buffer/s_lock.c

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/storage/buffer/Attic/s_lock.c,v 1.10 1998/09/03 02:14:39 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/storage/buffer/Attic/s_lock.c,v 1.11 1998/09/18 05:36:23 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -118,6 +118,17 @@ success: \n\
118118
#endif /* PPC */
119119

120120

121+
#if defined(__ns32k__)
122+
int
123+
tas(volatile slock_t *lock)
124+
{
125+
int res;
126+
__asm__("sbitb 0, %0" : "=m"(*lock));
127+
__asm__("sprb us, %0" : "=r"(res));
128+
res = (res >> 5) & 1;
129+
return res;
130+
}
131+
#endif
121132

122133
#else /* defined(__GNUC__) */
123134
/***************************************************************************

src/include/storage/s_lock.h

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.47 1998/09/12 16:07:53 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.48 1998/09/18 05:36:24 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -213,22 +213,7 @@ tas(slock_t *s_lock)
213213
#endif /* NEED_I386_TAS_ASM */
214214

215215

216-
217-
#if defined(NEED_NS32K_TAS_ASM)
218-
219-
#define S_LOCK(lock) \
220-
{ \
221-
slock_t res = 1; \
222-
while (res) { \
223-
__asm__("movqd 0, r0"); \
224-
__asm__("sbitd r0, %0" : "=m"(*lock)); \
225-
__asm__("sprb us, %0" : "=r" (res)); \
226-
res = ((res >> 5) & 1); \
227-
} \
228-
}
229-
230-
#endif /* NEED_NS32K_TAS_ASM */
231-
216+
/* NS32K code is in s_lock.c */
232217

233218
#endif /* defined(__GNUC__) */
234219

0 commit comments

Comments
 (0)