# # arch/cris/setjmp.S # # setjmp/longjmp for the cris architecture # # # The jmp_buf is assumed to contain the following, in order: # $r8..$r0 (in that order) # $sp ($r14) # return address # .text .balign 4 .globl setjmp .type setjmp, @function setjmp: movem $r8,[$r10+] /* Save $r8..$r0 at $r10... */ move.d $sp,[$r10+] move $srp,[$r10] ret moveq 0,$r10 .size setjmp,.-setjmp .text .balign 4 .globl longjmp .type longjmp, @function longjmp: movem [$r10+],$r8 /* Load $r8..$r0 from $r10... */ move.d [$r10+],$sp jump [$r10] move.d $r11,$r10 .size longjmp,.-longjmp