| #include <linux/linkage.h> | |
| ENTRY(setjmp) | |
| add #(9*4), r4 | |
| sts.l pr, @-r4 | |
| mov.l r15, @-r4 | |
| mov.l r14, @-r4 | |
| mov.l r13, @-r4 | |
| mov.l r12, @-r4 | |
| mov.l r11, @-r4 | |
| mov.l r10, @-r4 | |
| mov.l r9, @-r4 | |
| mov.l r8, @-r4 | |
| rts | |
| mov #0, r0 | |
| ENTRY(longjmp) | |
| mov.l @r4+, r8 | |
| mov.l @r4+, r9 | |
| mov.l @r4+, r10 | |
| mov.l @r4+, r11 | |
| mov.l @r4+, r12 | |
| mov.l @r4+, r13 | |
| mov.l @r4+, r14 | |
| mov.l @r4+, r15 | |
| lds.l @r4+, pr | |
| mov r5, r0 | |
| tst r0, r0 | |
| bf 1f | |
| mov #1, r0 ! in case val==0 | |
| 1: rts | |
| nop | |