xref: /linux/arch/sh/include/uapi/asm/sigcontext.h (revision 6fdcba32711044c35c0e1b094cbd8f3f0b4472c9)
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef __ASM_SH_SIGCONTEXT_H
3 #define __ASM_SH_SIGCONTEXT_H
4 
5 struct sigcontext {
6 	unsigned long	oldmask;
7 
8 #if defined(__SH5__) || defined(CONFIG_CPU_SH5)
9 	/* CPU registers */
10 	unsigned long long sc_regs[63];
11 	unsigned long long sc_tregs[8];
12 	unsigned long long sc_pc;
13 	unsigned long long sc_sr;
14 
15 	/* FPU registers */
16 	unsigned long long sc_fpregs[32];
17 	unsigned int sc_fpscr;
18 	unsigned int sc_fpvalid;
19 #else
20 	/* CPU registers */
21 	unsigned long sc_regs[16];
22 	unsigned long sc_pc;
23 	unsigned long sc_pr;
24 	unsigned long sc_sr;
25 	unsigned long sc_gbr;
26 	unsigned long sc_mach;
27 	unsigned long sc_macl;
28 
29 	/* FPU registers */
30 	unsigned long sc_fpregs[16];
31 	unsigned long sc_xfpregs[16];
32 	unsigned int sc_fpscr;
33 	unsigned int sc_fpul;
34 	unsigned int sc_ownedfp;
35 #endif
36 };
37 
38 #endif /* __ASM_SH_SIGCONTEXT_H */
39