]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/thread_info.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb
[linux-2.6-omap-h63xx.git] / include / linux / thread_info.h
index 1c4eb41dbd89df9182c3fcdbf9f418c5958cc5c6..421323e5a2d6ce3e6d82b09cacf308e59c66bac7 100644 (file)
@@ -7,12 +7,26 @@
 #ifndef _LINUX_THREAD_INFO_H
 #define _LINUX_THREAD_INFO_H
 
+#include <linux/types.h>
+
 /*
- * System call restart block. 
+ * System call restart block.
  */
 struct restart_block {
        long (*fn)(struct restart_block *);
-       unsigned long arg0, arg1, arg2, arg3;
+       union {
+               struct {
+                       unsigned long arg0, arg1, arg2, arg3;
+               };
+               /* For futex_wait */
+               struct {
+                       u32 *uaddr;
+                       u32 val;
+                       u32 flags;
+                       u32 bitset;
+                       u64 time;
+               } futex;
+       };
 };
 
 extern long do_no_restart_syscall(struct restart_block *parm);
@@ -29,27 +43,27 @@ extern long do_no_restart_syscall(struct restart_block *parm);
 
 static inline void set_ti_thread_flag(struct thread_info *ti, int flag)
 {
-       set_bit(flag,&ti->flags);
+       set_bit(flag, (unsigned long *)&ti->flags);
 }
 
 static inline void clear_ti_thread_flag(struct thread_info *ti, int flag)
 {
-       clear_bit(flag,&ti->flags);
+       clear_bit(flag, (unsigned long *)&ti->flags);
 }
 
 static inline int test_and_set_ti_thread_flag(struct thread_info *ti, int flag)
 {
-       return test_and_set_bit(flag,&ti->flags);
+       return test_and_set_bit(flag, (unsigned long *)&ti->flags);
 }
 
 static inline int test_and_clear_ti_thread_flag(struct thread_info *ti, int flag)
 {
-       return test_and_clear_bit(flag,&ti->flags);
+       return test_and_clear_bit(flag, (unsigned long *)&ti->flags);
 }
 
 static inline int test_ti_thread_flag(struct thread_info *ti, int flag)
 {
-       return test_bit(flag,&ti->flags);
+       return test_bit(flag, (unsigned long *)&ti->flags);
 }
 
 #define set_thread_flag(flag) \