# # arch/s390x/setjmp.S # # setjmp/longjmp for the s390x architecture # .text .align 4 .globl setjmp .type setjmp, @function setjmp: stmg %r6,%r15,0(%r2) # save all general registers std %f1,80(%r2) # save fp registers f4 and f6 std %f3,88(%r2) std %f5,96(%r2) std %f7,104(%r2) lghi %r2,0 # return 0 br %r14 .size setjmp,.-setjmp .text .align 4 .globl longjmp .type longjmp, @function longjmp: lgr %r1,%r2 # jmp_buf lgr %r2,%r3 # return value ld %f7,104(%r1) # restore all saved registers ld %f5,96(%r1) ld %f3,88(%r1) ld %f1,80(%r1) lmg %r6,%r15,0(%r1) br %r14 # return to restored address .size longjmp,.-longjmp