]> xenbits.xensource.com Git - people/liuw/freebsd.git/commitdiff
Build fix for MIPS.
authorhselasky <hselasky@FreeBSD.org>
Mon, 26 Oct 2015 09:34:43 +0000 (09:34 +0000)
committerhselasky <hselasky@FreeBSD.org>
Mon, 26 Oct 2015 09:34:43 +0000 (09:34 +0000)
Sponsored by: Mellanox Technologies

sys/ofed/include/linux/sched.h

index 122886835240a6f7834fc08855fdea2cdde7b4b9..c2d66d7fa6ddd0b27f187d32639757482cbec795 100644 (file)
@@ -64,9 +64,12 @@ struct task_struct {
        int     should_stop;
 };
 
-#define        current                 ((struct task_struct *)curthread->td_retval[1])
-#define        task_struct_get(x)      (struct task_struct *)(x)->td_retval[1]
-#define        task_struct_set(x, y)   (x)->td_retval[1] = (register_t)(y)
+#define        current                 task_struct_get(curthread)
+#define        task_struct_get(x)      ((struct task_struct *)(uintptr_t)(x)->td_retval[1])
+#define        task_struct_set(x, y)   (x)->td_retval[1] = (uintptr_t)(y)
+
+/* ensure the task_struct pointer fits into the td_retval[1] field */
+CTASSERT(sizeof(((struct thread *)0)->td_retval[1]) >= sizeof(uintptr_t));
 
 #define        set_current_state(x)                                            \
        atomic_store_rel_int((volatile int *)&current->state, (x))