1//------------------------------------------------------------------------------ 2// 3// Set/Long jump for RISC-V 4// 5// Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> 6// 7// SPDX-License-Identifier: BSD-2-Clause-Patent 8// 9//------------------------------------------------------------------------------ 10# define REG_S sd 11# define REG_L ld 12# define SZREG 8 13.align 3 14 .globl SetJump 15 16SetJump: 17 REG_S ra, 0*SZREG(a0) 18 REG_S s0, 1*SZREG(a0) 19 REG_S s1, 2*SZREG(a0) 20 REG_S s2, 3*SZREG(a0) 21 REG_S s3, 4*SZREG(a0) 22 REG_S s4, 5*SZREG(a0) 23 REG_S s5, 6*SZREG(a0) 24 REG_S s6, 7*SZREG(a0) 25 REG_S s7, 8*SZREG(a0) 26 REG_S s8, 9*SZREG(a0) 27 REG_S s9, 10*SZREG(a0) 28 REG_S s10, 11*SZREG(a0) 29 REG_S s11, 12*SZREG(a0) 30 REG_S sp, 13*SZREG(a0) 31 li a0, 0 32 ret 33 34 .globl InternalLongJump 35InternalLongJump: 36 REG_L ra, 0*SZREG(a0) 37 REG_L s0, 1*SZREG(a0) 38 REG_L s1, 2*SZREG(a0) 39 REG_L s2, 3*SZREG(a0) 40 REG_L s3, 4*SZREG(a0) 41 REG_L s4, 5*SZREG(a0) 42 REG_L s5, 6*SZREG(a0) 43 REG_L s6, 7*SZREG(a0) 44 REG_L s7, 8*SZREG(a0) 45 REG_L s8, 9*SZREG(a0) 46 REG_L s9, 10*SZREG(a0) 47 REG_L s10, 11*SZREG(a0) 48 REG_L s11, 12*SZREG(a0) 49 REG_L sp, 13*SZREG(a0) 50 51 add a0, s0, 0 52 add a1, s1, 0 53 add a2, s2, 0 54 add a3, s3, 0 55 ret 56