1*0f9c15feSbmeng@tinylab.org /* SPDX-License-Identifier: GPL-2.0+ OR BSD-2-Clause */ 2*0f9c15feSbmeng@tinylab.org 3df31239aSHeinrich Schuchardt #ifndef GNU_EFI_RISCV64_SETJMP_H 4df31239aSHeinrich Schuchardt #define GNU_EFI_RISCV64_SETJMP_H 5df31239aSHeinrich Schuchardt 6df31239aSHeinrich Schuchardt #define JMPBUF_ALIGN 8 7df31239aSHeinrich Schuchardt 8df31239aSHeinrich Schuchardt typedef struct { 9df31239aSHeinrich Schuchardt /* GP regs */ 10df31239aSHeinrich Schuchardt UINT64 s0; 11df31239aSHeinrich Schuchardt UINT64 s1; 12df31239aSHeinrich Schuchardt UINT64 s2; 13df31239aSHeinrich Schuchardt UINT64 s3; 14df31239aSHeinrich Schuchardt UINT64 s4; 15df31239aSHeinrich Schuchardt UINT64 s5; 16df31239aSHeinrich Schuchardt UINT64 s6; 17df31239aSHeinrich Schuchardt UINT64 s7; 18df31239aSHeinrich Schuchardt UINT64 s8; 19df31239aSHeinrich Schuchardt UINT64 s9; 20df31239aSHeinrich Schuchardt UINT64 s10; 21df31239aSHeinrich Schuchardt UINT64 s11; 22df31239aSHeinrich Schuchardt UINT64 sp; 23df31239aSHeinrich Schuchardt UINT64 ra; 24df31239aSHeinrich Schuchardt 25df31239aSHeinrich Schuchardt /* FP regs */ 26df31239aSHeinrich Schuchardt UINT64 fs0; 27df31239aSHeinrich Schuchardt UINT64 fs1; 28df31239aSHeinrich Schuchardt UINT64 fs2; 29df31239aSHeinrich Schuchardt UINT64 fs3; 30df31239aSHeinrich Schuchardt UINT64 fs4; 31df31239aSHeinrich Schuchardt UINT64 fs5; 32df31239aSHeinrich Schuchardt UINT64 fs6; 33df31239aSHeinrich Schuchardt UINT64 fs7; 34df31239aSHeinrich Schuchardt UINT64 fs8; 35df31239aSHeinrich Schuchardt UINT64 fs9; 36df31239aSHeinrich Schuchardt UINT64 fs10; 37df31239aSHeinrich Schuchardt UINT64 fs11; 38df31239aSHeinrich Schuchardt } ALIGN(JMPBUF_ALIGN) jmp_buf[1]; 39df31239aSHeinrich Schuchardt 40df31239aSHeinrich Schuchardt #endif /* GNU_EFI_RISCV64_SETJMP_H */ 41