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


Index: include/asm-ia64/wrappers.h
===================================================================
--- include/asm-ia64/wrappers.h (Revision 2609)
+++ include/asm-ia64/wrappers.h (Arbeitskopie)
@@ -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)
Index: include/asm-i386/wrappers.h
===================================================================
--- include/asm-i386/wrappers.h (Revision 2609)
+++ include/asm-i386/wrappers.h (Arbeitskopie)
@@ -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)
Index: include/asm-x86_64/syscall.h
===================================================================
--- include/asm-x86_64/syscall.h        (Revision 2609)
+++ include/asm-x86_64/syscall.h        (Arbeitskopie)
@@ -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)) 

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to