X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-arm%2Fthread_info.h;h=1a362ca414760123a4439a08d2137560fa0af206;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=f67431fdd9319936b39374f6d479f3984764288f;hpb=9213980e6a70d8473e0ffd4b39ab5b6caaba9ff5;p=linux-2.6.git diff --git a/include/asm-arm/thread_info.h b/include/asm-arm/thread_info.h index f67431fdd..1a362ca41 100644 --- a/include/asm-arm/thread_info.h +++ b/include/asm-arm/thread_info.h @@ -12,12 +12,13 @@ #ifdef __KERNEL__ +#include + #ifndef __ASSEMBLY__ struct task_struct; struct exec_domain; -#include #include #include #include @@ -53,7 +54,8 @@ struct thread_info { struct cpu_context_save cpu_context; /* cpu context */ __u8 used_cp[16]; /* thread used copro */ union fp_state fpstate; - struct restart_block restart_block; + union vfp_state vfpstate; + struct restart_block restart_block; }; #define INIT_THREAD_INFO(tsk) \ @@ -98,22 +100,18 @@ extern void free_thread_info(struct thread_info *); #define thread_saved_fp(tsk) \ ((unsigned long)((tsk)->thread_info->cpu_context.fp)) -#else /* !__ASSEMBLY__ */ - -#define TI_FLAGS 0 -#define TI_PREEMPT 4 -#define TI_ADDR_LIMIT 8 -#define TI_TASK 12 -#define TI_EXEC_DOMAIN 16 -#define TI_CPU 20 -#define TI_CPU_DOMAIN 24 -#define TI_CPU_SAVE 28 -#define TI_USED_CP 76 -#define TI_FPSTATE (TI_USED_CP+16) +extern void iwmmxt_task_disable(struct thread_info *); +extern void iwmmxt_task_copy(struct thread_info *, void *); +extern void iwmmxt_task_restore(struct thread_info *, void *); +extern void iwmmxt_task_release(struct thread_info *); #endif -#define PREEMPT_ACTIVE 0x04000000 +/* + * We use bit 30 of the preempt_count to indicate that kernel + * preemption is occuring. See include/asm-arm/hardirq.h. + */ +#define PREEMPT_ACTIVE 0x40000000 /* * thread information flags: @@ -128,15 +126,15 @@ extern void free_thread_info(struct thread_info *); #define TIF_SIGPENDING 1 #define TIF_NEED_RESCHED 2 #define TIF_SYSCALL_TRACE 8 -#define TIF_USED_FPU 16 -#define TIF_POLLING_NRFLAG 17 +#define TIF_POLLING_NRFLAG 16 +#define TIF_USING_IWMMXT 17 #define _TIF_NOTIFY_RESUME (1 << TIF_NOTIFY_RESUME) #define _TIF_SIGPENDING (1 << TIF_SIGPENDING) #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED) #define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE) -#define _TIF_USED_FPU (1 << TIF_USED_FPU) #define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG) +#define _TIF_USING_IWMMXT (1 << TIF_USING_IWMMXT) /* * Change these and you break ASM code in entry-common.S