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