blob: c233e2def2a3d198fd881c7e5f2e153b8763a0a3 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _ASM_M32R_SIGCONTEXT_H
2#define _ASM_M32R_SIGCONTEXT_H
3
4/* $Id$ */
5
6#include <linux/config.h>
7
8struct sigcontext {
9 /* CPU registers */
10 /* Saved main processor registers. */
11 unsigned long sc_r4;
12 unsigned long sc_r5;
13 unsigned long sc_r6;
14 struct pt_regs *sc_pt_regs;
15 unsigned long sc_r0;
16 unsigned long sc_r1;
17 unsigned long sc_r2;
18 unsigned long sc_r3;
19 unsigned long sc_r7;
20 unsigned long sc_r8;
21 unsigned long sc_r9;
22 unsigned long sc_r10;
23 unsigned long sc_r11;
24 unsigned long sc_r12;
25
26 /* Saved main processor status and miscellaneous context registers. */
27#if defined(CONFIG_ISA_M32R2) && defined(CONFIG_ISA_DSP_LEVEL2)
28 unsigned long sc_acc0h;
29 unsigned long sc_acc0l;
30 unsigned long sc_acc1h;
31 unsigned long sc_acc1l;
32#elif defined(CONFIG_ISA_M32R2) || defined(CONFIG_ISA_M32R)
33 unsigned long sc_acch;
34 unsigned long sc_accl;
35#else
36#error unknown isa configuration
37#endif
38 unsigned long sc_psw;
39 unsigned long sc_bpc; /* saved PC for TRAP syscalls */
40 unsigned long sc_bbpsw;
41 unsigned long sc_bbpc;
42 unsigned long sc_spu; /* saved user stack */
43 unsigned long sc_fp;
44 unsigned long sc_lr; /* saved PC for JL syscalls */
45 unsigned long sc_spi; /* saved kernel stack */
46
47 unsigned long oldmask;
48};
49
50#endif /* _ASM_M32R_SIGCONTEXT_H */