summaryrefslogtreecommitdiff
path: root/sys/src/ape/lib/ap/arm64/setjmp.s
blob: f4a725ad3ed50572bb9cf698bcd5133123a21be7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
TEXT sigsetjmp(SB), 1, $-4
	MOVW	savemask+8(FP), R1
	MOVW	_psigblocked(SB), R2
	MOVW	R1, 0(R0)
	MOVW	R2, 4(R0)
	ADD	$8, R0
	/* wet floor */

TEXT setjmp(SB), 1, $-4
	MOV	LR, 8(R0)
	MOV	SP, R1
	MOV	R1, 0(R0)
	MOV	$0, R0
	RETURN


TEXT longjmp(SB), 1, $-4
	MOV	8(R0), LR
	MOV	0(R0), R1
	MOVW	arg+8(FP), R0
	MOV	R1, SP
	CBZ	R0, _one
	RETURN
_one:
	MOV	$1, R0
	RETURN