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