aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/sparc/include/asm/signal_64.h40
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
161struct __new_sigaction { 177struct __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
168struct __old_sigaction { 184struct __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
175typedef struct sigaltstack { 191typedef struct sigaltstack {
@@ -181,8 +197,8 @@ typedef struct sigaltstack {
181#ifdef __KERNEL__ 197#ifdef __KERNEL__
182 198
183struct k_sigaction { 199struct 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) */