1#ifndef __ASM_SH_SIGCONTEXT_H
2#define __ASM_SH_SIGCONTEXT_H
3
4struct 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