8000 Add support for Motorola 88K to s_lock.h. · DanteG41/postgres@0245c75 · GitHub
[go: up one dir, main page]

Skip to content

Commit 0245c75

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 77b76fe commit 0245c75

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
@@ -559,6 +559,30 @@ tas(volatile slock_t *lock)
559559
#endif /* (__mc68000__ || __m68k__) && __linux__ */
560560

561561

562+
/* Motorola 88k */
563+
#if defined(__m88k__)
564+
#define HAS_TEST_AND_SET
565+
566+
typedef unsigned int slock_t;
567+
568+
#define TAS(lock) tas(lock)
569+
570+
static __inline__ int
571+
tas(volatile slock_t *lock)
572+
{
573+
register slock_t _res = 1;
574+
575+
__asm__ __volatile__(
576+
" xmem %0, %2, %%r0 \n"
577+
: "+r"(_res), "+m"(*lock)
578+
: "r"(lock)
579+
: "memory");
580+
return (int) _res;
581+
}
582+
583+
#endif /* __m88k__ */
584+
585+
562586
/*
563587
* VAXen -- even multiprocessor ones
564588
* (thanks to Tom Ivar Helbekkmo)

0 commit comments

Comments
 (0)
0