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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy