summaryrefslogtreecommitdiff
path: root/db2/mutex/68020.gcc
blob: 9d8be641d87f93dafe02017f59955a84f4df33e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*
 * @(#)68020.gcc	10.1 (Sleepycat) 4/12/97
 *
 * For gcc/68K, 0 is clear, 1 is set.
 */
#define TSL_SET(tsl) ({							\
	register tsl_t *__l = (tsl);					\
	int __r;							\
	    asm volatile("tas  %1; \n					\
			  seq  %0"					\
		: "=dm" (__r), "=m" (*__l)				\
		: "1" (*__l)						\
		);							\
	__r & 1;							\
})

#define	TSL_UNSET(tsl)	(*(tsl) = 0)
#define	TSL_INIT(tsl)	TSL_UNSET(tsl)