[PATCH] ia64: task_thread_info()
on ia64 thread_info is at the constant offset from task_struct and stack is embedded into the same beast. Set __HAVE_THREAD_FUNCTIONS, made task_thread_info() just add a constant. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
@@ -766,7 +766,7 @@ ia64_mca_modify_original_stack(struct pt_regs *regs,
|
||||
l = strlen(previous_current->comm);
|
||||
snprintf(comm, sizeof(comm), "%s %*s %d",
|
||||
current->comm, l, previous_current->comm,
|
||||
previous_current->thread_info->cpu);
|
||||
task_thread_info(previous_current)->cpu);
|
||||
}
|
||||
memcpy(current->comm, comm, sizeof(current->comm));
|
||||
|
||||
@@ -1423,7 +1423,7 @@ format_mca_init_stack(void *mca_data, unsigned long offset,
|
||||
struct task_struct *p = (struct task_struct *)((char *)mca_data + offset);
|
||||
struct thread_info *ti;
|
||||
memset(p, 0, KERNEL_STACK_SIZE);
|
||||
ti = (struct thread_info *)((char *)p + IA64_TASK_SIZE);
|
||||
ti = task_thread_info(p);
|
||||
ti->flags = _TIF_MCA_INIT;
|
||||
ti->preempt_count = 1;
|
||||
ti->task = p;
|
||||
|
@@ -655,11 +655,11 @@ set_sigdelayed(pid_t pid, int signo, int code, void __user *addr)
|
||||
|
||||
if (!t)
|
||||
return;
|
||||
t->thread_info->sigdelayed.signo = signo;
|
||||
t->thread_info->sigdelayed.code = code;
|
||||
t->thread_info->sigdelayed.addr = addr;
|
||||
t->thread_info->sigdelayed.start_time = start_time;
|
||||
t->thread_info->sigdelayed.pid = pid;
|
||||
task_thread_info(t)->sigdelayed.signo = signo;
|
||||
task_thread_info(t)->sigdelayed.code = code;
|
||||
task_thread_info(t)->sigdelayed.addr = addr;
|
||||
task_thread_info(t)->sigdelayed.start_time = start_time;
|
||||
task_thread_info(t)->sigdelayed.pid = pid;
|
||||
wmb();
|
||||
set_tsk_thread_flag(t, TIF_SIGDELAYED);
|
||||
}
|
||||
|
Reference in New Issue
Block a user