1 /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
2 /*
3  * Copyright (C) 2012 Regents of the University of California
4  */
5 
6 #ifndef _UAPI_ASM_RISCV_SIGCONTEXT_H
7 #define _UAPI_ASM_RISCV_SIGCONTEXT_H
8 
9 #include <asm/ptrace.h>
10 
11 /* The Magic number for signal context frame header. */
12 #define RISCV_V_MAGIC	0x53465457
13 #define END_MAGIC	0x0
14 
15 /* The size of END signal context header. */
16 #define END_HDR_SIZE	0x0
17 
18 #ifndef __ASSEMBLY__
19 
20 struct __sc_riscv_v_state {
21 	struct __riscv_v_ext_state v_state;
22 } __attribute__((aligned(16)));
23 
24 /*
25  * Signal context structure
26  *
27  * This contains the context saved before a signal handler is invoked;
28  * it is restored by sys_sigreturn / sys_rt_sigreturn.
29  */
30 struct sigcontext {
31 	struct user_regs_struct sc_regs;
32 	union {
33 		union __riscv_fp_state sc_fpregs;
34 		struct __riscv_extra_ext_header sc_extdesc;
35 	};
36 };
37 
38 #endif /*!__ASSEMBLY__*/
39 
40 #endif /* _UAPI_ASM_RISCV_SIGCONTEXT_H */
41