compat_sigsetjmp.S revision 1.1 1 1.1 matt /* $NetBSD: compat_sigsetjmp.S,v 1.1 2006/02/18 00:45:22 matt Exp $ */
2 1.1 matt
3 1.1 matt #include <sys/syscall.h>
4 1.1 matt
5 1.1 matt #include <machine/asm.h>
6 1.1 matt
7 1.1 matt #if defined(LIBC_SCCS)
8 1.1 matt .text
9 1.1 matt .asciz "$NetBSD: compat_sigsetjmp.S,v 1.1 2006/02/18 00:45:22 matt Exp $"
10 1.1 matt #endif
11 1.1 matt
12 1.1 matt ENTRY(sigsetjmp)
13 1.1 matt mr %r6,%r3
14 1.1 matt or. %r7,%r4,%r4
15 1.1 matt beq 1f
16 1.1 matt li %r3,1 # SIG_BLOCK
17 1.1 matt li %r4,0
18 1.1 matt li %r0,SYS_compat_13_sigprocmask13
19 1.1 matt sc # assume no error XXX
20 1.1 matt 1:
21 1.1 matt mflr %r11
22 1.1 matt mfcr %r12
23 1.1 matt mr %r10,%r1
24 1.1 matt mr %r9,%r2
25 1.1 matt mr %r8,%r3
26 1.1 matt stmw %r7,0(%r6)
27 1.1 matt li %r3,0
28 1.1 matt blr
29 1.1 matt
30 1.1 matt ENTRY(siglongjmp)
31 1.1 matt lmw %r7,0(%r3)
32 1.1 matt mr %r6,%r4
33 1.1 matt mtlr %r11
34 1.1 matt mtcr %r12
35 1.1 matt mr %r2,%r9
36 1.1 matt mr %r1,%r10
37 1.1 matt or. %r7,%r7,%r7
38 1.1 matt beq 1f
39 1.1 matt mr %r4,%r8
40 1.1 matt li %r3,3 # SIG_SETMASK
41 1.1 matt li %r0,SYS_compat_13_sigprocmask13
42 1.1 matt sc # assume no error XXX
43 1.1 matt 1:
44 1.1 matt or. %r3,%r6,%r6
45 1.1 matt bnelr
46 1.1 matt li %r3,1
47 1.1 matt blr
48