xref: /minix3/lib/libc/arch/powerpc64/gen/__sigsetjmp14.S (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1*0a6a1f1dSLionel Sambuc/*	$NetBSD: __sigsetjmp14.S,v 1.3 2014/08/23 02:24:22 matt Exp $	*/
22fe8fb19SBen Gras
3*0a6a1f1dSLionel Sambuc#include "SYS.h"
42fe8fb19SBen Gras
52fe8fb19SBen Gras#if defined(LIBC_SCCS)
62fe8fb19SBen Gras	.text
7*0a6a1f1dSLionel Sambuc	.asciz "$NetBSD: __sigsetjmp14.S,v 1.3 2014/08/23 02:24:22 matt Exp $"
82fe8fb19SBen Gras#endif
92fe8fb19SBen Gras
102fe8fb19SBen GrasENTRY(__sigsetjmp14)
112fe8fb19SBen Gras	mr	%r6,%r3
122fe8fb19SBen Gras	or.	%r7,%r4,%r4
132fe8fb19SBen Gras	beq	1f
142fe8fb19SBen Gras	li	%r3,1			# SIG_BLOCK
152fe8fb19SBen Gras	li	%r4,0
162fe8fb19SBen Gras	addi	%r5,%r6,100		# &sigmask
17*0a6a1f1dSLionel Sambuc	_DOSYSCALL(__sigprocmask14)	# assume no error	XXX
182fe8fb19SBen Gras1:
192fe8fb19SBen Gras	mflr	%r11
202fe8fb19SBen Gras	mfcr	%r12
212fe8fb19SBen Gras	mr	%r10,%r1
222fe8fb19SBen Gras	mr	%r9,%r2
232fe8fb19SBen Gras	i = 0
242fe8fb19SBen Gras	.rept	32-7
252fe8fb19SBen Gras	std	7+i,i*8(%r6)		# save r7-r31
262fe8fb19SBen Gras	i = i + 1
272fe8fb19SBen Gras	.endr
282fe8fb19SBen Gras	li	%r3,0
292fe8fb19SBen Gras	blr
30*0a6a1f1dSLionel SambucEND(__sigsetjmp14)
312fe8fb19SBen Gras
322fe8fb19SBen GrasENTRY(__siglongjmp14)
332fe8fb19SBen Gras	i = 0
342fe8fb19SBen Gras	.rept	32-7
352fe8fb19SBen Gras	ld	7+i,i*8(%r3)		# load r7-r31
362fe8fb19SBen Gras	i = i + 1
372fe8fb19SBen Gras	.endr
382fe8fb19SBen Gras	mr	%r6,%r4
392fe8fb19SBen Gras	mtlr	%r11
402fe8fb19SBen Gras	mtcr	%r12
412fe8fb19SBen Gras	mr	%r2,%r9
422fe8fb19SBen Gras	mr	%r1,%r10
432fe8fb19SBen Gras	or.	%r7,%r7,%r7
442fe8fb19SBen Gras	beq	1f
452fe8fb19SBen Gras	addi	%r4,%r3,100		# &sigmask
462fe8fb19SBen Gras	li	%r3,3			# SIG_SETMASK
472fe8fb19SBen Gras	li	%r5,0
48*0a6a1f1dSLionel Sambuc	_DOSYSCALL(__sigprocmask14)	# assume no error	XXX
492fe8fb19SBen Gras1:
502fe8fb19SBen Gras	or.	%r3,%r6,%r6
512fe8fb19SBen Gras	bnelr
522fe8fb19SBen Gras	li	%r3,1
532fe8fb19SBen Gras	blr
54*0a6a1f1dSLionel SambucEND(__siglongjmp14)
55