1/* SPDX-License-Identifier: GPL-2.0 */ 2#include <asm/asm.h> 3 4.section .text 5 6.balign 4 7.global setjmp 8setjmp: 9 REG_S ra, (0 * SZREG)(a0) 10 REG_S s0, (1 * SZREG)(a0) 11 REG_S s1, (2 * SZREG)(a0) 12 REG_S s2, (3 * SZREG)(a0) 13 REG_S s3, (4 * SZREG)(a0) 14 REG_S s4, (5 * SZREG)(a0) 15 REG_S s5, (6 * SZREG)(a0) 16 REG_S s6, (7 * SZREG)(a0) 17 REG_S s7, (8 * SZREG)(a0) 18 REG_S s8, (9 * SZREG)(a0) 19 REG_S s9, (10 * SZREG)(a0) 20 REG_S s10, (11 * SZREG)(a0) 21 REG_S s11, (12 * SZREG)(a0) 22 REG_S sp, (13 * SZREG)(a0) 23 REG_S gp, (14 * SZREG)(a0) 24 REG_S tp, (15 * SZREG)(a0) 25 li a0, 0 26 ret 27 28.balign 4 29.global longjmp 30longjmp: 31 REG_L ra, (0 * SZREG)(a0) 32 REG_L s0, (1 * SZREG)(a0) 33 REG_L s1, (2 * SZREG)(a0) 34 REG_L s2, (3 * SZREG)(a0) 35 REG_L s3, (4 * SZREG)(a0) 36 REG_L s4, (5 * SZREG)(a0) 37 REG_L s5, (6 * SZREG)(a0) 38 REG_L s6, (7 * SZREG)(a0) 39 REG_L s7, (8 * SZREG)(a0) 40 REG_L s8, (9 * SZREG)(a0) 41 REG_L s9, (10 * SZREG)(a0) 42 REG_L s10, (11 * SZREG)(a0) 43 REG_L s11, (12 * SZREG)(a0) 44 REG_L sp, (13 * SZREG)(a0) 45 REG_L gp, (14 * SZREG)(a0) 46 REG_L tp, (15 * SZREG)(a0) 47 seqz a0, a1 48 add a0, a0, a1 49 ret 50