OSDN Git Service

Add ARM32 support by Andrew McMurry
authorBruce Momjian <bruce@momjian.us>
Tue, 13 Apr 1999 17:42:26 +0000 (17:42 +0000)
committerBruce Momjian <bruce@momjian.us>
Tue, 13 Apr 1999 17:42:26 +0000 (17:42 +0000)
src/include/port/bsd.h
src/include/storage/s_lock.h

index cfd0d28..f24f4f8 100644 (file)
 #define HAS_TEST_AND_SET
 #endif
 
+#if defined(__arm32__)
+#define HAS_TEST_AND_SET
+#endif
+
 #if defined(__powerpc__)
 #define HAS_TEST_AND_SET
 typedef unsigned int slock_t;
index 3863b55..9aef29b 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.58 1999/02/13 23:22:09 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.59 1999/04/13 17:42:26 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -124,6 +124,22 @@ __asm__("lock; xchgb %0,%1": "=q"(_res), "=m"(*lock):"0"(_res));
 
 
 
+#if defined(__arm32__)
+#define TAS(lock) tas(lock)
+
+static __inline__ int
+tas(volatile slock_t *lock)
+{
+        register slock_t _res = 1;
+
+__asm__("swpb %0, %0, [%3]": "=r"(_res), "=m"(*lock):"0"(_res), "r" (lock));
+        return (int) _res;
+}
+
+#endif   /* __arm32__ */
+
+
+
 #if defined(sparc)
 #define TAS(lock) tas(lock)