mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
Remove spinlock support for SINIX, Sun3, and NS32K.
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.
This commit is contained in:
parent
bbe4deac1b
commit
81051a86bc
@ -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.
|
||||
|
@ -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 */
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user