Skip to content

Commit f3bd00c

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 2ede45c commit f3bd00c

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

545545

546+
/* Motorola 88k */
547+
#if defined(__m88k__)
548+
#define HAS_TEST_AND_SET
549+
550+
typedef unsigned int slock_t;
551+
552+
#define TAS(lock) tas(lock)
553+
554+
static __inline__ int
555+
tas(volatile slock_t *lock)
556+
{
557+
register slock_t _res = 1;
558+
559+
__asm__ __volatile__(
560+
" xmem %0, %2, %%r0 \n"
561+
: "+r"(_res), "+m"(*lock)
562+
: "r"(lock)
563+
: "memory");
564+
return (int) _res;
565+
}
566+
567+
#endif /* __m88k__ */
568+
569+
546570
/*
547571
* VAXen -- even multiprocessor ones
548572
* (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