linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / include / asm-m68k / signal.h
index de1ba6e..b7b7ea2 100644 (file)
@@ -74,6 +74,7 @@ typedef unsigned long sigset_t;
  * SA_FLAGS values:
  *
  * SA_ONSTACK indicates that a registered stack_t will be used.
+ * SA_INTERRUPT is a no-op, but left due to historical reasons. Use the
  * SA_RESTART flag to get restarting signals (which were the default long ago)
  * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
  * SA_RESETHAND clears the handler when the signal is delivered.
@@ -93,6 +94,7 @@ typedef unsigned long sigset_t;
 
 #define SA_NOMASK      SA_NODEFER
 #define SA_ONESHOT     SA_RESETHAND
+#define SA_INTERRUPT   0x20000000 /* dummy -- ignored */
 
 /*
  * sigaltstack controls
@@ -154,17 +156,13 @@ typedef struct sigaltstack {
 
 static inline void sigaddset(sigset_t *set, int _sig)
 {
-       asm ("bfset %0{%1,#1}"
-               : "+od" (*set)
-               : "id" ((_sig - 1) ^ 31)
+       __asm__("bfset %0{%1,#1}" : "=m" (*set) : "id" ((_sig - 1) ^ 31)
                : "cc");
 }
 
 static inline void sigdelset(sigset_t *set, int _sig)
 {
-       asm ("bfclr %0{%1,#1}"
-               : "+od" (*set)
-               : "id" ((_sig - 1) ^ 31)
+       __asm__("bfclr %0{%1,#1}" : "=m"(*set) : "id"((_sig - 1) ^ 31)
                : "cc");
 }
 
@@ -177,10 +175,8 @@ static inline int __const_sigismember(sigset_t *set, int _sig)
 static inline int __gen_sigismember(sigset_t *set, int _sig)
 {
        int ret;
-       asm ("bfextu %1{%2,#1},%0"
-               : "=d" (ret)
-               : "od" (*set), "id" ((_sig-1) ^ 31)
-               : "cc");
+       __asm__("bfextu %1{%2,#1},%0"
+               : "=d"(ret) : "m"(*set), "id"((_sig-1) ^ 31));
        return ret;
 }
 
@@ -191,10 +187,7 @@ static inline int __gen_sigismember(sigset_t *set, int _sig)
 
 static inline int sigfindinword(unsigned long word)
 {
-       asm ("bfffo %1{#0,#0},%0"
-               : "=d" (word)
-               : "d" (word & -word)
-               : "cc");
+       __asm__("bfffo %1{#0,#0},%0" : "=d"(word) : "d"(word & -word) : "cc");
        return word ^ 31;
 }