Skip to content

Commit 8bd8b4b

Browse files
committed
Add support for Motorola 88K to s_lock.h.
Apparently there are still people out there who care about this old architecture. They probably care about dusty versions of Postgres too, so back-patch to all supported branches. David Carlier (from a patch being carried by OpenBSD packagers) Discussion: https://postgr.es/m/CA+XhMqzwFSGVU7MEnfhCecc8YdP98tigXzzpd0AAdwaGwaVXEA@mail.gmail.com
1 parent 7d98dc1 commit 8bd8b4b

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

src/include/storage/s_lock.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -571,6 +571,30 @@ tas(volatile slock_t *lock)
571571
#endif /* (__mc68000__ || __m68k__) && __linux__ */
572572

573573

574+
/* Motorola 88k */
575+
#if defined(__m88k__)
576+
#define HAS_TEST_AND_SET
577+
578+
typedef unsigned int slock_t;
579+
580+
#define TAS(lock) tas(lock)
581+
582+
static __inline__ int
583+
tas(volatile slock_t *lock)
584+
{
585+
register slock_t _res = 1;
586+
587+
__asm__ __volatile__(
588+
" xmem %0, %2, %%r0 \n"
589+
: "+r"(_res), "+m"(*lock)
590+
: "r"(lock)
591+
: "memory");
592+
return (int) _res;
593+
}
594+
595+
#endif /* __m88k__ */
596+
597+
574598
/*
575599
* VAXen -- even multiprocessor ones
576600
* (thanks to Tom Ivar Helbekkmo)

0 commit comments

Comments
 (0)