File tree 2 files changed +18
-14
lines changed
2 files changed +18
-14
lines changed Original file line number Diff line number Diff line change 7
7
*
8
8
*
9
9
* IDENTIFICATION
10
- * $Header: /cvsroot/pgsql/src/backend/storage/buffer/Attic/s_lock.c,v 1.11 1998/09/18 05:36:23 momjian Exp $
10
+ * $Header: /cvsroot/pgsql/src/backend/storage/buffer/Attic/s_lock.c,v 1.12 1998/09/18 17:18:39 momjian Exp $
11
11
*
12
12
*-------------------------------------------------------------------------
13
13
*/
@@ -118,17 +118,6 @@ success: \n\
118
118
#endif /* PPC */
119
119
120
120
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
132
121
133
122
#else /* defined(__GNUC__) */
134
123
/***************************************************************************
Original file line number Diff line number Diff line change 7
7
*
8
8
*
9
9
* IDENTIFICATION
10
- * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.48 1998/09/18 05:36:24 momjian Exp $
10
+ * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.49 1998/09/18 17:18:41 momjian Exp $
11
11
*
12
12
*-------------------------------------------------------------------------
13
13
*/
@@ -213,7 +213,22 @@ tas(slock_t *s_lock)
213
213
#endif /* NEED_I386_TAS_ASM */
214
214
215
215
216
- /* NS32K code is in s_lock.c */
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
+
217
232
218
233
#endif /* defined(__GNUC__) */
219
234
You can’t perform that action at this time.
0 commit comments