git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git]
/
arch
/
um
/
kernel
/
skas
/
process_kern.c
diff --git
a/arch/um/kernel/skas/process_kern.c
b/arch/um/kernel/skas/process_kern.c
index
55caeec
..
3f70a2e
100644
(file)
--- 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);
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);
}
if(current->pid == 0)
switch_timers(1);
}
@@
-91,17
+89,10
@@
void fork_handler(int sig)
panic("blech");
schedule_tail(current->thread.prev_sched);
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();
current->thread.prev_sched = NULL;
/* Handle any immediate reschedules or signals */
interrupt_end();
-
userspace(¤t->thread.regs.regs);
}
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;
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);
}
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);
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;
init_task.thread.request.u.thread.proc = start_kernel_proc;
init_task.thread.request.u.thread.arg = NULL;