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