diff options
Diffstat (limited to 'include/asm-m68k/signal.h')
-rw-r--r-- | include/asm-m68k/signal.h | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/include/asm-m68k/signal.h b/include/asm-m68k/signal.h index b7b7ea20caa..de1ba6ead3b 100644 --- a/include/asm-m68k/signal.h +++ b/include/asm-m68k/signal.h | |||
@@ -74,7 +74,6 @@ typedef unsigned long sigset_t; | |||
74 | * SA_FLAGS values: | 74 | * SA_FLAGS values: |
75 | * | 75 | * |
76 | * SA_ONSTACK indicates that a registered stack_t will be used. | 76 | * SA_ONSTACK indicates that a registered stack_t will be used. |
77 | * SA_INTERRUPT is a no-op, but left due to historical reasons. Use the | ||
78 | * SA_RESTART flag to get restarting signals (which were the default long ago) | 77 | * SA_RESTART flag to get restarting signals (which were the default long ago) |
79 | * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. | 78 | * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. |
80 | * SA_RESETHAND clears the handler when the signal is delivered. | 79 | * SA_RESETHAND clears the handler when the signal is delivered. |
@@ -94,7 +93,6 @@ typedef unsigned long sigset_t; | |||
94 | 93 | ||
95 | #define SA_NOMASK SA_NODEFER | 94 | #define SA_NOMASK SA_NODEFER |
96 | #define SA_ONESHOT SA_RESETHAND | 95 | #define SA_ONESHOT SA_RESETHAND |
97 | #define SA_INTERRUPT 0x20000000 /* dummy -- ignored */ | ||
98 | 96 | ||
99 | /* | 97 | /* |
100 | * sigaltstack controls | 98 | * sigaltstack controls |
@@ -156,13 +154,17 @@ typedef struct sigaltstack { | |||
156 | 154 | ||
157 | static inline void sigaddset(sigset_t *set, int _sig) | 155 | static inline void sigaddset(sigset_t *set, int _sig) |
158 | { | 156 | { |
159 | __asm__("bfset %0{%1,#1}" : "=m" (*set) : "id" ((_sig - 1) ^ 31) | 157 | asm ("bfset %0{%1,#1}" |
158 | : "+od" (*set) | ||
159 | : "id" ((_sig - 1) ^ 31) | ||
160 | : "cc"); | 160 | : "cc"); |
161 | } | 161 | } |
162 | 162 | ||
163 | static inline void sigdelset(sigset_t *set, int _sig) | 163 | static inline void sigdelset(sigset_t *set, int _sig) |
164 | { | 164 | { |
165 | __asm__("bfclr %0{%1,#1}" : "=m"(*set) : "id"((_sig - 1) ^ 31) | 165 | asm ("bfclr %0{%1,#1}" |
166 | : "+od" (*set) | ||
167 | : "id" ((_sig - 1) ^ 31) | ||
166 | : "cc"); | 168 | : "cc"); |
167 | } | 169 | } |
168 | 170 | ||
@@ -175,8 +177,10 @@ static inline int __const_sigismember(sigset_t *set, int _sig) | |||
175 | static inline int __gen_sigismember(sigset_t *set, int _sig) | 177 | static inline int __gen_sigismember(sigset_t *set, int _sig) |
176 | { | 178 | { |
177 | int ret; | 179 | int ret; |
178 | __asm__("bfextu %1{%2,#1},%0" | 180 | asm ("bfextu %1{%2,#1},%0" |
179 | : "=d"(ret) : "m"(*set), "id"((_sig-1) ^ 31)); | 181 | : "=d" (ret) |
182 | : "od" (*set), "id" ((_sig-1) ^ 31) | ||
183 | : "cc"); | ||
180 | return ret; | 184 | return ret; |
181 | } | 185 | } |
182 | 186 | ||
@@ -187,7 +191,10 @@ static inline int __gen_sigismember(sigset_t *set, int _sig) | |||
187 | 191 | ||
188 | static inline int sigfindinword(unsigned long word) | 192 | static inline int sigfindinword(unsigned long word) |
189 | { | 193 | { |
190 | __asm__("bfffo %1{#0,#0},%0" : "=d"(word) : "d"(word & -word) : "cc"); | 194 | asm ("bfffo %1{#0,#0},%0" |
195 | : "=d" (word) | ||
196 | : "d" (word & -word) | ||
197 | : "cc"); | ||
191 | return word ^ 31; | 198 | return word ^ 31; |
192 | } | 199 | } |
193 | 200 | ||