diff options
author | Roman Zippel <zippel@linux-m68k.org> | 2006-06-25 08:46:54 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-25 13:00:56 -0400 |
commit | 6bf9f755c3f30c81df17fce7d2f8dda11b9516a4 (patch) | |
tree | 79e44842ef7377829ee008ff1349a526a240c00e /include/asm-m68k/signal.h | |
parent | 53617825ccf3ff8a71e6efcf3dcf58885ed6f3e5 (diff) |
[PATCH] m68k: fix constraints of the signal functions and some cleanup
Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-m68k/signal.h')
-rw-r--r-- | include/asm-m68k/signal.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/include/asm-m68k/signal.h b/include/asm-m68k/signal.h index b7b7ea20caab..85037a3d3e8e 100644 --- a/include/asm-m68k/signal.h +++ b/include/asm-m68k/signal.h | |||
@@ -156,13 +156,17 @@ typedef struct sigaltstack { | |||
156 | 156 | ||
157 | static inline void sigaddset(sigset_t *set, int _sig) | 157 | static inline void sigaddset(sigset_t *set, int _sig) |
158 | { | 158 | { |
159 | __asm__("bfset %0{%1,#1}" : "=m" (*set) : "id" ((_sig - 1) ^ 31) | 159 | asm ("bfset %0{%1,#1}" |
160 | : "+od" (*set) | ||
161 | : "id" ((_sig - 1) ^ 31) | ||
160 | : "cc"); | 162 | : "cc"); |
161 | } | 163 | } |
162 | 164 | ||
163 | static inline void sigdelset(sigset_t *set, int _sig) | 165 | static inline void sigdelset(sigset_t *set, int _sig) |
164 | { | 166 | { |
165 | __asm__("bfclr %0{%1,#1}" : "=m"(*set) : "id"((_sig - 1) ^ 31) | 167 | asm ("bfclr %0{%1,#1}" |
168 | : "+od" (*set) | ||
169 | : "id" ((_sig - 1) ^ 31) | ||
166 | : "cc"); | 170 | : "cc"); |
167 | } | 171 | } |
168 | 172 | ||
@@ -175,8 +179,10 @@ static inline int __const_sigismember(sigset_t *set, int _sig) | |||
175 | static inline int __gen_sigismember(sigset_t *set, int _sig) | 179 | static inline int __gen_sigismember(sigset_t *set, int _sig) |
176 | { | 180 | { |
177 | int ret; | 181 | int ret; |
178 | __asm__("bfextu %1{%2,#1},%0" | 182 | asm ("bfextu %1{%2,#1},%0" |
179 | : "=d"(ret) : "m"(*set), "id"((_sig-1) ^ 31)); | 183 | : "=d" (ret) |
184 | : "od" (*set), "id" ((_sig-1) ^ 31) | ||
185 | : "cc"); | ||
180 | return ret; | 186 | return ret; |
181 | } | 187 | } |
182 | 188 | ||
@@ -187,7 +193,10 @@ static inline int __gen_sigismember(sigset_t *set, int _sig) | |||
187 | 193 | ||
188 | static inline int sigfindinword(unsigned long word) | 194 | static inline int sigfindinword(unsigned long word) |
189 | { | 195 | { |
190 | __asm__("bfffo %1{#0,#0},%0" : "=d"(word) : "d"(word & -word) : "cc"); | 196 | asm ("bfffo %1{#0,#0},%0" |
197 | : "=d" (word) | ||
198 | : "d" (word & -word) | ||
199 | : "cc"); | ||
191 | return word ^ 31; | 200 | return word ^ 31; |
192 | } | 201 | } |
193 | 202 | ||