aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>2008-12-17 21:51:08 -0500
committerIngo Molnar <mingo@elte.hu>2008-12-18 05:28:55 -0500
commitc85c2ff877c9305f801f7d5b9e6382cb05a03d45 (patch)
tree72709e75b6869c95c0bc3414e302e2e2c303db88
parent41af86fad3c40646b9748279e3862781e937a5d2 (diff)
x86: signal: prepare to include from ia32_signal.c
Impact: cleanup, prepare to use from ia32_signal.c Make struct sigframe_ia32 and rt_sigframe_ia32 visible to ia32_signal.c. Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/include/asm/sigframe.h22
1 files changed, 20 insertions, 2 deletions
diff --git a/arch/x86/include/asm/sigframe.h b/arch/x86/include/asm/sigframe.h
index 6718ed04b05b..491a0878c3aa 100644
--- a/arch/x86/include/asm/sigframe.h
+++ b/arch/x86/include/asm/sigframe.h
@@ -4,7 +4,15 @@
4#define sigcontext_ia32 sigcontext 4#define sigcontext_ia32 sigcontext
5#define _fpstate_ia32 _fpstate 5#define _fpstate_ia32 _fpstate
6#define ucontext_ia32 ucontext 6#define ucontext_ia32 ucontext
7#else /* !CONFIG_X86_32 */
8
9#ifdef CONFIG_IA32_EMULATION
10#include <asm/ia32.h>
11#endif /* CONFIG_IA32_EMULATION */
12
13#endif /* CONFIG_X86_32 */
7 14
15#if defined(CONFIG_X86_32) || defined(CONFIG_IA32_EMULATION)
8struct sigframe_ia32 { 16struct sigframe_ia32 {
9 u32 pretcode; 17 u32 pretcode;
10 int sig; 18 int sig;
@@ -18,7 +26,11 @@ struct sigframe_ia32 {
18 * legacy application accessing/modifying it. 26 * legacy application accessing/modifying it.
19 */ 27 */
20 struct _fpstate_ia32 fpstate_unused; 28 struct _fpstate_ia32 fpstate_unused;
29#ifdef CONFIG_IA32_EMULATION
30 unsigned int extramask[_COMPAT_NSIG_WORDS-1];
31#else /* !CONFIG_IA32_EMULATION */
21 unsigned long extramask[_NSIG_WORDS-1]; 32 unsigned long extramask[_NSIG_WORDS-1];
33#endif /* CONFIG_IA32_EMULATION */
22 char retcode[8]; 34 char retcode[8];
23 /* fp state follows here */ 35 /* fp state follows here */
24}; 36};
@@ -28,16 +40,22 @@ struct rt_sigframe_ia32 {
28 int sig; 40 int sig;
29 u32 pinfo; 41 u32 pinfo;
30 u32 puc; 42 u32 puc;
43#ifdef CONFIG_IA32_EMULATION
44 compat_siginfo_t info;
45#else /* !CONFIG_IA32_EMULATION */
31 struct siginfo info; 46 struct siginfo info;
47#endif /* CONFIG_IA32_EMULATION */
32 struct ucontext_ia32 uc; 48 struct ucontext_ia32 uc;
33 char retcode[8]; 49 char retcode[8];
34 /* fp state follows here */ 50 /* fp state follows here */
35}; 51};
36#else /* !CONFIG_X86_32 */ 52#endif /* defined(CONFIG_X86_32) || defined(CONFIG_IA32_EMULATION) */
53
54#ifdef CONFIG_X86_64
37struct rt_sigframe { 55struct rt_sigframe {
38 char __user *pretcode; 56 char __user *pretcode;
39 struct ucontext uc; 57 struct ucontext uc;
40 struct siginfo info; 58 struct siginfo info;
41 /* fp state follows here */ 59 /* fp state follows here */
42}; 60};
43#endif /* CONFIG_X86_32 */ 61#endif /* CONFIG_X86_64 */