diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2007-02-12 20:31:48 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-02-13 17:40:50 -0500 |
commit | 66680583461d7cae281cef63c050c9b6371e3286 (patch) | |
tree | 4aaafd553e821775206d4cf0cd0720a98dcd33e2 /arch | |
parent | 205d84aaea380bbd1cc1079d44086cd50c2c2dad (diff) |
[MIPS] signal: Move sigframe definition for native O32/N64 into signal.c
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/mips/kernel/signal-common.h | 26 | ||||
-rw-r--r-- | arch/mips/kernel/signal.c | 20 |
2 files changed, 20 insertions, 26 deletions
diff --git a/arch/mips/kernel/signal-common.h b/arch/mips/kernel/signal-common.h index d9a832f67e8a..b95e542ace27 100644 --- a/arch/mips/kernel/signal-common.h +++ b/arch/mips/kernel/signal-common.h | |||
@@ -20,32 +20,6 @@ | |||
20 | #endif | 20 | #endif |
21 | 21 | ||
22 | /* | 22 | /* |
23 | * Horribly complicated - with the bloody RM9000 workarounds enabled | ||
24 | * the signal trampolines is moving to the end of the structure so we can | ||
25 | * increase the alignment without breaking software compatibility. | ||
26 | */ | ||
27 | #if ICACHE_REFILLS_WORKAROUND_WAR == 0 | ||
28 | |||
29 | struct sigframe { | ||
30 | u32 sf_ass[4]; /* argument save space for o32 */ | ||
31 | u32 sf_code[2]; /* signal trampoline */ | ||
32 | struct sigcontext sf_sc; | ||
33 | sigset_t sf_mask; | ||
34 | }; | ||
35 | |||
36 | #else /* ICACHE_REFILLS_WORKAROUND_WAR */ | ||
37 | |||
38 | struct sigframe { | ||
39 | u32 sf_ass[4]; /* argument save space for o32 */ | ||
40 | u32 sf_pad[2]; | ||
41 | struct sigcontext sf_sc; /* hw context */ | ||
42 | sigset_t sf_mask; | ||
43 | u32 sf_code[8] ____cacheline_aligned; /* signal trampoline */ | ||
44 | }; | ||
45 | |||
46 | #endif /* !ICACHE_REFILLS_WORKAROUND_WAR */ | ||
47 | |||
48 | /* | ||
49 | * Determine which stack to use.. | 23 | * Determine which stack to use.. |
50 | */ | 24 | */ |
51 | extern void __user *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, | 25 | extern void __user *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, |
diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c index 54398af2371f..e7b04928caec 100644 --- a/arch/mips/kernel/signal.c +++ b/arch/mips/kernel/signal.c | |||
@@ -36,8 +36,20 @@ | |||
36 | 36 | ||
37 | #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) | 37 | #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) |
38 | 38 | ||
39 | /* | ||
40 | * Horribly complicated - with the bloody RM9000 workarounds enabled | ||
41 | * the signal trampolines is moving to the end of the structure so we can | ||
42 | * increase the alignment without breaking software compatibility. | ||
43 | */ | ||
39 | #if ICACHE_REFILLS_WORKAROUND_WAR == 0 | 44 | #if ICACHE_REFILLS_WORKAROUND_WAR == 0 |
40 | 45 | ||
46 | struct sigframe { | ||
47 | u32 sf_ass[4]; /* argument save space for o32 */ | ||
48 | u32 sf_code[2]; /* signal trampoline */ | ||
49 | struct sigcontext sf_sc; | ||
50 | sigset_t sf_mask; | ||
51 | }; | ||
52 | |||
41 | struct rt_sigframe { | 53 | struct rt_sigframe { |
42 | u32 rs_ass[4]; /* argument save space for o32 */ | 54 | u32 rs_ass[4]; /* argument save space for o32 */ |
43 | u32 rs_code[2]; /* signal trampoline */ | 55 | u32 rs_code[2]; /* signal trampoline */ |
@@ -47,6 +59,14 @@ struct rt_sigframe { | |||
47 | 59 | ||
48 | #else | 60 | #else |
49 | 61 | ||
62 | struct sigframe { | ||
63 | u32 sf_ass[4]; /* argument save space for o32 */ | ||
64 | u32 sf_pad[2]; | ||
65 | struct sigcontext sf_sc; /* hw context */ | ||
66 | sigset_t sf_mask; | ||
67 | u32 sf_code[8] ____cacheline_aligned; /* signal trampoline */ | ||
68 | }; | ||
69 | |||
50 | struct rt_sigframe { | 70 | struct rt_sigframe { |
51 | u32 rs_ass[4]; /* argument save space for o32 */ | 71 | u32 rs_ass[4]; /* argument save space for o32 */ |
52 | u32 rs_pad[2]; | 72 | u32 rs_pad[2]; |