Skip to contentSkip to conversation

use task_thread_info over 2.6.x

PATCH New Jan Kiszka 1 participant 1 message Jun 19, 2007

lore
Share & tools
lore

Jan Kiszka

author
#0 lore raw

PATCH 1/1 use task_thread_info over 2.6.x

Hi,

with 2.6.22, task_struct no longer contains thread_info. Users should have migrated to task_thread_info() already, Xenomai did not yet. This patch performs this for i386, x86_64, and ia64. ARM still needs to be fixed.

Jan

asm-ia64/wrappers.h +1 -1
Index: include/asm-ia64/wrappers.h
===================================================================
@@ -33,7 +33,7 @@
 
 #else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)  */
 
-#define wrap_access_ok(task,addr,size) __access_ok((addr),(size),(task)->thread_info->addr_limit)
+#define wrap_access_ok(task,addr,size) __access_ok((addr),(size),task_thread_info(task)->addr_limit)
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,16)
 #define task_pt_regs(t)  ia64_task_regs(t)
asm-i386/wrappers.h +4 -4
Index: include/asm-i386/wrappers.h
===================================================================
@@ -61,18 +61,18 @@ do {				  \
 	unsigned long flag,sum; \
 	asm("addl %3,%1 ; sbbl %0,%0; cmpl %1,%4; sbbl $0,%0" \
 		:"=&r" (flag), "=r" (sum) \
-	        :"1" (addr),"g" ((int)(size)),"g" ((task)->thread_info->addr_limit.seg)); \
+	        :"1" (addr),"g" ((int)(size)),"g" (task_thread_info(task)->addr_limit.seg)); \
 	flag == 0; })
 
 #define wrap_test_fpu_used(task)  \
-   ((task)->thread_info->status & TS_USEDFPU)
+   (task_thread_info(task)->status & TS_USEDFPU)
 #define wrap_set_fpu_used(task)   \
 do { \
-   (task)->thread_info->status |= TS_USEDFPU; \
+   task_thread_info(task)->status |= TS_USEDFPU; \
 } while(0)
 #define wrap_clear_fpu_used(task) \
 do { \
-   (task)->thread_info->status &= ~TS_USEDFPU; \
+   task_thread_info(task)->status &= ~TS_USEDFPU; \
 } while(0)
 
 static inline void wrap_switch_iobitmap (struct task_struct *p, int cpu)
asm-x86_64/syscall.h +1 -1
Index: include/asm-x86_64/syscall.h
===================================================================
@@ -61,7 +61,7 @@
 	unsigned long flag,sum; \
 	asm("addq %3,%1 ; sbbq %0,%0; cmpq %1,%4; sbbq $0,%0" \
 		:"=&r" (flag), "=r" (sum) \
-	        :"1" (addr),"g" ((long)(size)),"g" ((task)->thread_info->addr_limit.seg)); \
+	        :"1" (addr),"g" ((long)(size)),"g" (task_thread_info(task)->addr_limit.seg)); \
 	flag == 0; })
 
 #define __xn_access_ok(task,type,addr,size)	(__xn_range_ok(task,addr,size))