Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #include <linux/linkage.h> |
2 | |||||
3 | ENTRY(setjmp) | ||||
4 | add #(9*4), r4 | ||||
5 | sts.l pr, @-r4 | ||||
6 | mov.l r15, @-r4 | ||||
7 | mov.l r14, @-r4 | ||||
8 | mov.l r13, @-r4 | ||||
9 | mov.l r12, @-r4 | ||||
10 | mov.l r11, @-r4 | ||||
11 | mov.l r10, @-r4 | ||||
12 | mov.l r9, @-r4 | ||||
13 | mov.l r8, @-r4 | ||||
14 | rts | ||||
15 | mov #0, r0 | ||||
16 | |||||
17 | ENTRY(longjmp) | ||||
18 | mov.l @r4+, r8 | ||||
19 | mov.l @r4+, r9 | ||||
20 | mov.l @r4+, r10 | ||||
21 | mov.l @r4+, r11 | ||||
22 | mov.l @r4+, r12 | ||||
23 | mov.l @r4+, r13 | ||||
24 | mov.l @r4+, r14 | ||||
25 | mov.l @r4+, r15 | ||||
26 | lds.l @r4+, pr | ||||
27 | mov r5, r0 | ||||
28 | tst r0, r0 | ||||
29 | bf 1f | ||||
30 | mov #1, r0 ! in case val==0 | ||||
31 | 1: rts | ||||
32 | nop | ||||
33 |