blob: 38b0f1cab57635768fc52c8c88da2a3a3b9efc9d [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0 */
#define __ASSEMBLY__
#include <asm/asm.h>
.section .text
.balign 4
.global setjmp
setjmp:
REG_S ra, (0 * SZREG)(a0)
REG_S s0, (1 * SZREG)(a0)
REG_S s1, (2 * SZREG)(a0)
REG_S s2, (3 * SZREG)(a0)
REG_S s3, (4 * SZREG)(a0)
REG_S s4, (5 * SZREG)(a0)
REG_S s5, (6 * SZREG)(a0)
REG_S s6, (7 * SZREG)(a0)
REG_S s7, (8 * SZREG)(a0)
REG_S s8, (9 * SZREG)(a0)
REG_S s9, (10 * SZREG)(a0)
REG_S s10, (11 * SZREG)(a0)
REG_S s11, (12 * SZREG)(a0)
REG_S sp, (13 * SZREG)(a0)
REG_S gp, (14 * SZREG)(a0)
REG_S tp, (15 * SZREG)(a0)
li a0, 0
ret
.balign 4
.global longjmp
longjmp:
REG_L ra, (0 * SZREG)(a0)
REG_L s0, (1 * SZREG)(a0)
REG_L s1, (2 * SZREG)(a0)
REG_L s2, (3 * SZREG)(a0)
REG_L s3, (4 * SZREG)(a0)
REG_L s4, (5 * SZREG)(a0)
REG_L s5, (6 * SZREG)(a0)
REG_L s6, (7 * SZREG)(a0)
REG_L s7, (8 * SZREG)(a0)
REG_L s8, (9 * SZREG)(a0)
REG_L s9, (10 * SZREG)(a0)
REG_L s10, (11 * SZREG)(a0)
REG_L s11, (12 * SZREG)(a0)
REG_L sp, (13 * SZREG)(a0)
REG_L gp, (14 * SZREG)(a0)
REG_L tp, (15 * SZREG)(a0)
seqz a0, a1
add a0, a0, a1
ret