diff options
-rw-r--r-- | arch/sparc/include/asm/signal_64.h | 40 |
1 files changed, 28 insertions, 12 deletions
diff --git a/arch/sparc/include/asm/signal_64.h b/arch/sparc/include/asm/signal_64.h index ab1509a101c5..41535e77b255 100644 --- a/arch/sparc/include/asm/signal_64.h +++ b/arch/sparc/include/asm/signal_64.h | |||
@@ -1,7 +1,8 @@ | |||
1 | #ifndef _ASMSPARC64_SIGNAL_H | 1 | #ifndef __SPARC_SIGNAL_H |
2 | #define _ASMSPARC64_SIGNAL_H | 2 | #define __SPARC_SIGNAL_H |
3 | 3 | ||
4 | #include <asm/sigcontext.h> | 4 | #include <asm/sigcontext.h> |
5 | #include <linux/compiler.h> | ||
5 | 6 | ||
6 | #ifdef __KERNEL__ | 7 | #ifdef __KERNEL__ |
7 | #ifndef __ASSEMBLY__ | 8 | #ifndef __ASSEMBLY__ |
@@ -83,8 +84,8 @@ | |||
83 | 84 | ||
84 | #define __OLD_NSIG 32 | 85 | #define __OLD_NSIG 32 |
85 | #define __NEW_NSIG 64 | 86 | #define __NEW_NSIG 64 |
86 | #define _NSIG_BPW 64 | 87 | #define _NSIG_BPW 64 |
87 | #define _NSIG_WORDS (__NEW_NSIG / _NSIG_BPW) | 88 | #define _NSIG_WORDS (__NEW_NSIG / _NSIG_BPW) |
88 | 89 | ||
89 | #define SIGRTMIN 32 | 90 | #define SIGRTMIN 32 |
90 | #define SIGRTMAX __NEW_NSIG | 91 | #define SIGRTMAX __NEW_NSIG |
@@ -156,20 +157,35 @@ struct sigstack { | |||
156 | #define MINSIGSTKSZ 4096 | 157 | #define MINSIGSTKSZ 4096 |
157 | #define SIGSTKSZ 16384 | 158 | #define SIGSTKSZ 16384 |
158 | 159 | ||
160 | #ifdef __KERNEL__ | ||
161 | /* | ||
162 | * DJHR | ||
163 | * SA_STATIC_ALLOC is used for the sparc32 system to indicate that this | ||
164 | * interrupt handler's irq structure should be statically allocated | ||
165 | * by the request_irq routine. | ||
166 | * The alternative is that arch/sparc/kernel/irq.c has carnal knowledge | ||
167 | * of interrupt usage and that sucks. Also without a flag like this | ||
168 | * it may be possible for the free_irq routine to attempt to free | ||
169 | * statically allocated data.. which is NOT GOOD. | ||
170 | * | ||
171 | */ | ||
172 | #define SA_STATIC_ALLOC 0x8000 | ||
173 | #endif | ||
174 | |||
159 | #include <asm-generic/signal.h> | 175 | #include <asm-generic/signal.h> |
160 | 176 | ||
161 | struct __new_sigaction { | 177 | struct __new_sigaction { |
162 | __sighandler_t sa_handler; | 178 | __sighandler_t sa_handler; |
163 | unsigned long sa_flags; | 179 | unsigned long sa_flags; |
164 | __sigrestore_t sa_restorer; /* not used by Linux/SPARC yet */ | 180 | __sigrestore_t sa_restorer; /* not used by Linux/SPARC yet */ |
165 | __new_sigset_t sa_mask; | 181 | __new_sigset_t sa_mask; |
166 | }; | 182 | }; |
167 | 183 | ||
168 | struct __old_sigaction { | 184 | struct __old_sigaction { |
169 | __sighandler_t sa_handler; | 185 | __sighandler_t sa_handler; |
170 | __old_sigset_t sa_mask; | 186 | __old_sigset_t sa_mask; |
171 | unsigned long sa_flags; | 187 | unsigned long sa_flags; |
172 | void (*sa_restorer)(void); /* not used by Linux/SPARC yet */ | 188 | void (*sa_restorer)(void); /* not used by Linux/SPARC yet */ |
173 | }; | 189 | }; |
174 | 190 | ||
175 | typedef struct sigaltstack { | 191 | typedef struct sigaltstack { |
@@ -181,8 +197,8 @@ typedef struct sigaltstack { | |||
181 | #ifdef __KERNEL__ | 197 | #ifdef __KERNEL__ |
182 | 198 | ||
183 | struct k_sigaction { | 199 | struct k_sigaction { |
184 | struct __new_sigaction sa; | 200 | struct __new_sigaction sa; |
185 | void __user *ka_restorer; | 201 | void __user *ka_restorer; |
186 | }; | 202 | }; |
187 | 203 | ||
188 | #define ptrace_signal_deliver(regs, cookie) do { } while (0) | 204 | #define ptrace_signal_deliver(regs, cookie) do { } while (0) |
@@ -191,4 +207,4 @@ struct k_sigaction { | |||
191 | 207 | ||
192 | #endif /* !(__ASSEMBLY__) */ | 208 | #endif /* !(__ASSEMBLY__) */ |
193 | 209 | ||
194 | #endif /* !(_ASMSPARC64_SIGNAL_H) */ | 210 | #endif /* !(__SPARC_SIGNAL_H) */ |