summaryrefslogtreecommitdiff
path: root/sys/src/libc/arm/tas.s
blob: 03a4e65bd140b3589ea2c15b6cb16430b0b130c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
TEXT _tas(SB), 1, $-4
	MOVW	$1, R2
_tas1:
	LDREX	(R0), R1
	STREX	R2, (R0), R3
	CMP.S	$0, R3
	BNE	_tas1
	MOVW	R1, R0
	MOVW	_barrier(SB), R4
	B	(R4)

TEXT _dmb(SB), 1, $-4
	WORD $0xf57ff05f
	RET