]> granicus.if.org Git - postgresql/commitdiff
Remove spinlock support for SINIX, Sun3, and NS32K.
authorRobert Haas <rhaas@postgresql.org>
Thu, 17 Oct 2013 16:02:05 +0000 (12:02 -0400)
committerRobert Haas <rhaas@postgresql.org>
Thu, 17 Oct 2013 16:02:05 +0000 (12:02 -0400)
All of these platforms are very much obsolete.

As far as I can determine, the last version of SINIX, later renamed
Reliant, occurred some time between 2002 and 2005.

The last release of SunOS that would run on a sun3 was released in
November of 1991; the last release of OpenBSD which supported that
platform was in 2001.  The highest clock speed of any processor in
the family was 25MHz.

The NS32K (national semiconductor 320xx) architecture was retired
in 1990.

Support can be re-added if a maintainer emerges for any of these
platforms, but it seems unlikely.

Reviewed by Andres Freund.

doc/src/sgml/installation.sgml
src/backend/storage/lmgr/s_lock.c
src/include/storage/s_lock.h

index 9bee423677385ed1cd51ff7d0a58de5149d50e3f..fa9ef177732f6c761657fbaedabbd9ea4fc0ac14 100644 (file)
@@ -1953,7 +1953,7 @@ kill `cat /usr/local/pgsql/data/postmaster.pid`
    In general, <productname>PostgreSQL</> can be expected to work on
    these CPU architectures: x86, x86_64, IA64, PowerPC,
    PowerPC 64, S/390, S/390x, Sparc, Sparc 64, Alpha, ARM, MIPS, MIPSEL, M68K,
-   and PA-RISC.  Code support exists for M32R, NS32K, and VAX, but these
+   and PA-RISC.  Code support exists for M32R and VAX, but these
    architectures are not known to have been tested recently.  It is often
    possible to build on an unsupported CPU type by configuring with
    <option>--disable-spinlocks</option>, but performance will be poor.
index 940b6865d24914e5b51659a786229eb8f6035af0..138b337945043d3b417790b6605daf9676380ebe 100644 (file)
@@ -247,36 +247,6 @@ _success:                                          \n\
        );
 }
 #endif   /* __m68k__ && !__linux__ */
-#else                                                  /* not __GNUC__ */
-
-/*
- * All non gcc
- */
-
-
-#if defined(sun3)
-static void
-tas_dummy()                                            /* really means: extern int tas(slock_t
-                                                                * *lock); */
-{
-       asm("LLA0:");
-       asm("   .data");
-       asm("   .text");
-       asm("|#PROC# 04");
-       asm("   .globl  _tas");
-       asm("_tas:");
-       asm("|#PROLOGUE# 1");
-       asm("   movel   sp@(0x4),a0");
-       asm("   tas a0@");
-       asm("   beq LLA1");
-       asm("   moveq   #-128,d0");
-       asm("   rts");
-       asm("LLA1:");
-       asm("   moveq   #0,d0");
-       asm("   rts");
-       asm("   .data");
-}
-#endif   /* sun3 */
 #endif   /* not __GNUC__ */
 #endif   /* HAVE_SPINLOCKS */
 
index 38e09ce8d9dd7db672228f3cce742b0495740d80..1b493ace4f41525e64e92eff7bab2b469dc8f6c2 100644 (file)
@@ -551,31 +551,6 @@ tas(volatile slock_t *lock)
 
 #endif  /* __vax__ */
 
-
-#if defined(__ns32k__)         /* National Semiconductor 32K */
-#define HAS_TEST_AND_SET
-
-typedef unsigned char slock_t;
-
-#define TAS(lock) tas(lock)
-
-static __inline__ int
-tas(volatile slock_t *lock)
-{
-       register int    _res;
-
-       __asm__ __volatile__(
-               "       sbitb   0, %1   \n"
-               "       sfsd    %0              \n"
-:              "=r"(_res), "+m"(*lock)
-:
-:              "memory");
-       return _res;
-}
-
-#endif  /* __ns32k__ */
-
-
 #if defined(__alpha) || defined(__alpha__)     /* Alpha */
 /*
  * Correct multi-processor locking methods are explained in section 5.5.3
@@ -886,25 +861,6 @@ typedef unsigned long slock_t;
 #define S_LOCK_FREE(lock)      (test_then_add(lock,0) == 0)
 #endif  /* __sgi */
 
-
-#if defined(sinix)             /* Sinix */
-/*
- * SINIX / Reliant UNIX
- * slock_t is defined as a struct abilock_t, which has a single unsigned long
- * member. (Basically same as SGI)
- */
-#define HAS_TEST_AND_SET
-
-#include "abi_mutex.h"
-typedef abilock_t slock_t;
-
-#define TAS(lock)      (!acquire_lock(lock))
-#define S_UNLOCK(lock) release_lock(lock)
-#define S_INIT_LOCK(lock)      init_lock(lock)
-#define S_LOCK_FREE(lock)      (stat_lock(lock) == UNLOCKED)
-#endif  /* sinix */
-
-
 #if defined(_AIX)      /* AIX */
 /*
  * AIX (POWER)
@@ -922,14 +878,6 @@ typedef int slock_t;
 
 /* These are in s_lock.c */
 
-
-#if defined(sun3)              /* Sun3 */
-#define HAS_TEST_AND_SET
-
-typedef unsigned char slock_t;
-#endif
-
-
 #if defined(__SUNPRO_C) && (defined(__i386) || defined(__x86_64__) || defined(__sparc__) || defined(__sparc))
 #define HAS_TEST_AND_SET