Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
sigcontext.h
Go to the documentation of this file.
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 */