X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fum%2Fkernel%2Fskas%2Fprocess_kern.c;fp=arch%2Fum%2Fkernel%2Fskas%2Fprocess_kern.c;h=3f70a2e12f067504f48243a204190ff2eff44027;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=55caeec8b25725d856db3af7a00d678277a520e5;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/arch/um/kernel/skas/process_kern.c b/arch/um/kernel/skas/process_kern.c index 55caeec8b..3f70a2e12 100644 --- a/arch/um/kernel/skas/process_kern.c +++ b/arch/um/kernel/skas/process_kern.c @@ -35,8 +35,6 @@ void switch_to_skas(void *prev, void *next) switch_threads(&from->thread.mode.skas.switch_buf, to->thread.mode.skas.switch_buf); - arch_switch_to_skas(current->thread.prev_sched, current); - if(current->pid == 0) switch_timers(1); } @@ -91,17 +89,10 @@ void fork_handler(int sig) panic("blech"); schedule_tail(current->thread.prev_sched); - - /* XXX: if interrupt_end() calls schedule, this call to - * arch_switch_to_skas isn't needed. We could want to apply this to - * improve performance. -bb */ - arch_switch_to_skas(current->thread.prev_sched, current); - current->thread.prev_sched = NULL; /* Handle any immediate reschedules or signals */ interrupt_end(); - userspace(¤t->thread.regs.regs); } @@ -118,8 +109,6 @@ int copy_thread_skas(int nr, unsigned long clone_flags, unsigned long sp, if(sp != 0) REGS_SP(p->thread.regs.regs.skas.regs) = sp; handler = fork_handler; - - arch_copy_thread(¤t->thread.arch, &p->thread.arch); } else { init_thread_registers(&p->thread.regs.regs); @@ -177,7 +166,7 @@ int start_uml_skas(void) if(proc_mm) userspace_pid[0] = start_userspace(0); - init_new_thread_signals(); + init_new_thread_signals(1); init_task.thread.request.u.thread.proc = start_kernel_proc; init_task.thread.request.u.thread.arg = NULL;