X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fum%2Fkernel%2Fskas%2Fprocess_kern.c;h=ec62366acd84b1180ee63a274f1efb9991732d87;hb=1be35e94e1da3669db492995cd2c8b1a37016b11;hp=e16309d532276828c81171e8179c30684dea9394;hpb=a91482bdcc2e0f6035702e46f1b99043a0893346;p=linux-2.6.git diff --git a/arch/um/kernel/skas/process_kern.c b/arch/um/kernel/skas/process_kern.c index e16309d53..ec62366ac 100644 --- a/arch/um/kernel/skas/process_kern.c +++ b/arch/um/kernel/skas/process_kern.c @@ -16,8 +16,6 @@ #include "frame.h" #include "kern.h" #include "mode.h" -#include "filehandle.h" -#include "proc_mm.h" int singlestepping_skas(void) { @@ -132,33 +130,12 @@ int copy_thread_skas(int nr, unsigned long clone_flags, unsigned long sp, handler = new_thread_handler; } - new_thread(p->thread_info, &p->thread.mode.skas.switch_buf, + new_thread((void *) p->thread.kernel_stack, + &p->thread.mode.skas.switch_buf, &p->thread.mode.skas.fork_buf, handler); return(0); } -int new_mm(int from) -{ - struct proc_mm_op copy; - int n, fd; - - fd = open_file("/proc/mm", of_cloexec(of_write(OPENFLAGS())), 0); - if(fd < 0) - return(fd); - - if(from != -1){ - copy = ((struct proc_mm_op) { .op = MM_COPY_SEGMENTS, - .u = - { .copy_segments = from } } ); - n = os_write_file(fd, ©, sizeof(copy)); - if(n != sizeof(copy)) - printk("new_mm : /proc/mm copy_segments failed, " - "err = %d\n", -n); - } - - return(fd); -} - void init_idle_skas(void) { cpu_tasks[current_thread->cpu].pid = os_getpid(); @@ -187,13 +164,13 @@ int start_uml_skas(void) { start_userspace(0); capture_signal_stack(); + uml_idle_timer(); init_new_thread_signals(1); - uml_idle_timer(); init_task.thread.request.u.thread.proc = start_kernel_proc; init_task.thread.request.u.thread.arg = NULL; - return(start_idle_thread(init_task.thread_info, + return(start_idle_thread((void *) init_task.thread.kernel_stack, &init_task.thread.mode.skas.switch_buf, &init_task.thread.mode.skas.fork_buf)); }