提交 e7c1b32f 编写于 作者: A Al Viro 提交者: Linus Torvalds

[PATCH] arm: task_thread_info()

Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 68f8b1f8
...@@ -342,10 +342,10 @@ void flush_thread(void) ...@@ -342,10 +342,10 @@ void flush_thread(void)
void release_thread(struct task_struct *dead_task) void release_thread(struct task_struct *dead_task)
{ {
#if defined(CONFIG_VFP) #if defined(CONFIG_VFP)
vfp_release_thread(&dead_task->thread_info->vfpstate); vfp_release_thread(&task_thread_info(dead_task)->vfpstate);
#endif #endif
#if defined(CONFIG_IWMMXT) #if defined(CONFIG_IWMMXT)
iwmmxt_task_release(dead_task->thread_info); iwmmxt_task_release(task_thread_info(dead_task));
#endif #endif
} }
......
...@@ -604,7 +604,7 @@ static int ptrace_setregs(struct task_struct *tsk, void __user *uregs) ...@@ -604,7 +604,7 @@ static int ptrace_setregs(struct task_struct *tsk, void __user *uregs)
*/ */
static int ptrace_getfpregs(struct task_struct *tsk, void __user *ufp) static int ptrace_getfpregs(struct task_struct *tsk, void __user *ufp)
{ {
return copy_to_user(ufp, &tsk->thread_info->fpstate, return copy_to_user(ufp, &task_thread_info(tsk)->fpstate,
sizeof(struct user_fp)) ? -EFAULT : 0; sizeof(struct user_fp)) ? -EFAULT : 0;
} }
...@@ -613,7 +613,7 @@ static int ptrace_getfpregs(struct task_struct *tsk, void __user *ufp) ...@@ -613,7 +613,7 @@ static int ptrace_getfpregs(struct task_struct *tsk, void __user *ufp)
*/ */
static int ptrace_setfpregs(struct task_struct *tsk, void __user *ufp) static int ptrace_setfpregs(struct task_struct *tsk, void __user *ufp)
{ {
struct thread_info *thread = tsk->thread_info; struct thread_info *thread = task_thread_info(tsk);
thread->used_cp[1] = thread->used_cp[2] = 1; thread->used_cp[1] = thread->used_cp[2] = 1;
return copy_from_user(&thread->fpstate, ufp, return copy_from_user(&thread->fpstate, ufp,
sizeof(struct user_fp)) ? -EFAULT : 0; sizeof(struct user_fp)) ? -EFAULT : 0;
...@@ -626,7 +626,7 @@ static int ptrace_setfpregs(struct task_struct *tsk, void __user *ufp) ...@@ -626,7 +626,7 @@ static int ptrace_setfpregs(struct task_struct *tsk, void __user *ufp)
*/ */
static int ptrace_getwmmxregs(struct task_struct *tsk, void __user *ufp) static int ptrace_getwmmxregs(struct task_struct *tsk, void __user *ufp)
{ {
struct thread_info *thread = tsk->thread_info; struct thread_info *thread = task_thread_info(tsk);
void *ptr = &thread->fpstate; void *ptr = &thread->fpstate;
if (!test_ti_thread_flag(thread, TIF_USING_IWMMXT)) if (!test_ti_thread_flag(thread, TIF_USING_IWMMXT))
...@@ -643,7 +643,7 @@ static int ptrace_getwmmxregs(struct task_struct *tsk, void __user *ufp) ...@@ -643,7 +643,7 @@ static int ptrace_getwmmxregs(struct task_struct *tsk, void __user *ufp)
*/ */
static int ptrace_setwmmxregs(struct task_struct *tsk, void __user *ufp) static int ptrace_setwmmxregs(struct task_struct *tsk, void __user *ufp)
{ {
struct thread_info *thread = tsk->thread_info; struct thread_info *thread = task_thread_info(tsk);
void *ptr = &thread->fpstate; void *ptr = &thread->fpstate;
if (!test_ti_thread_flag(thread, TIF_USING_IWMMXT)) if (!test_ti_thread_flag(thread, TIF_USING_IWMMXT))
...@@ -779,7 +779,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) ...@@ -779,7 +779,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
#endif #endif
case PTRACE_GET_THREAD_AREA: case PTRACE_GET_THREAD_AREA:
ret = put_user(child->thread_info->tp_value, ret = put_user(task_thread_info(child)->tp_value,
(unsigned long __user *) data); (unsigned long __user *) data);
break; break;
......
...@@ -168,7 +168,7 @@ extern struct task_struct *__switch_to(struct task_struct *, struct thread_info ...@@ -168,7 +168,7 @@ extern struct task_struct *__switch_to(struct task_struct *, struct thread_info
#define switch_to(prev,next,last) \ #define switch_to(prev,next,last) \
do { \ do { \
last = __switch_to(prev,prev->thread_info,next->thread_info); \ last = __switch_to(prev,task_thread_info(prev), task_thread_info(next)); \
} while (0) } while (0)
/* /*
......
...@@ -100,9 +100,9 @@ extern void free_thread_info(struct thread_info *); ...@@ -100,9 +100,9 @@ extern void free_thread_info(struct thread_info *);
#define put_thread_info(ti) put_task_struct((ti)->task) #define put_thread_info(ti) put_task_struct((ti)->task)
#define thread_saved_pc(tsk) \ #define thread_saved_pc(tsk) \
((unsigned long)(pc_pointer((tsk)->thread_info->cpu_context.pc))) ((unsigned long)(pc_pointer(task_thread_info(tsk)->cpu_context.pc)))
#define thread_saved_fp(tsk) \ #define thread_saved_fp(tsk) \
((unsigned long)((tsk)->thread_info->cpu_context.fp)) ((unsigned long)(task_thread_info(tsk)->cpu_context.fp))
extern void iwmmxt_task_disable(struct thread_info *); extern void iwmmxt_task_disable(struct thread_info *);
extern void iwmmxt_task_copy(struct thread_info *, void *); extern void iwmmxt_task_copy(struct thread_info *, void *);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册