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