Commit 579b3ea5 authored by Al Viro's avatar Al Viro Committed by Linus Torvalds

[PATCH] uml: task_stack_page()

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent ca9bc0bb
...@@ -118,7 +118,7 @@ int copy_thread_skas(int nr, unsigned long clone_flags, unsigned long sp, ...@@ -118,7 +118,7 @@ int copy_thread_skas(int nr, unsigned long clone_flags, unsigned long sp,
handler = new_thread_handler; handler = new_thread_handler;
} }
new_thread(p->thread_info, &p->thread.mode.skas.switch_buf, new_thread(task_stack_page(p), &p->thread.mode.skas.switch_buf,
&p->thread.mode.skas.fork_buf, handler); &p->thread.mode.skas.fork_buf, handler);
return(0); return(0);
} }
...@@ -185,7 +185,7 @@ int start_uml_skas(void) ...@@ -185,7 +185,7 @@ int start_uml_skas(void)
init_task.thread.request.u.thread.proc = start_kernel_proc; init_task.thread.request.u.thread.proc = start_kernel_proc;
init_task.thread.request.u.thread.arg = NULL; init_task.thread.request.u.thread.arg = NULL;
return(start_idle_thread(init_task.thread_info, return(start_idle_thread(task_stack_page(&init_task),
&init_task.thread.mode.skas.switch_buf, &init_task.thread.mode.skas.switch_buf,
&init_task.thread.mode.skas.fork_buf)); &init_task.thread.mode.skas.fork_buf));
} }
......
...@@ -39,7 +39,7 @@ void flush_thread_tt(void) ...@@ -39,7 +39,7 @@ void flush_thread_tt(void)
do_exit(SIGKILL); do_exit(SIGKILL);
} }
new_pid = start_fork_tramp(current->thread_info, stack, 0, exec_tramp); new_pid = start_fork_tramp(task_stack_page(current), stack, 0, exec_tramp);
if(new_pid < 0){ if(new_pid < 0){
printk(KERN_ERR printk(KERN_ERR
"flush_thread : new thread failed, errno = %d\n", "flush_thread : new thread failed, errno = %d\n",
......
...@@ -253,7 +253,7 @@ int copy_thread_tt(int nr, unsigned long clone_flags, unsigned long sp, ...@@ -253,7 +253,7 @@ int copy_thread_tt(int nr, unsigned long clone_flags, unsigned long sp,
clone_flags &= CLONE_VM; clone_flags &= CLONE_VM;
p->thread.temp_stack = stack; p->thread.temp_stack = stack;
new_pid = start_fork_tramp(p->thread_info, stack, clone_flags, tramp); new_pid = start_fork_tramp(task_stack_page(p), stack, clone_flags, tramp);
if(new_pid < 0){ if(new_pid < 0){
printk(KERN_ERR "copy_thread : clone failed - errno = %d\n", printk(KERN_ERR "copy_thread : clone failed - errno = %d\n",
-new_pid); -new_pid);
...@@ -425,7 +425,7 @@ int start_uml_tt(void) ...@@ -425,7 +425,7 @@ int start_uml_tt(void)
int pages; int pages;
pages = (1 << CONFIG_KERNEL_STACK_ORDER); pages = (1 << CONFIG_KERNEL_STACK_ORDER);
sp = (void *) ((unsigned long) init_task.thread_info) + sp = task_stack_page(&init_task) +
pages * PAGE_SIZE - sizeof(unsigned long); pages * PAGE_SIZE - sizeof(unsigned long);
return(tracer(start_kernel_proc, sp)); return(tracer(start_kernel_proc, sp));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment