aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/kernel/skas/process.c
diff options
context:
space:
mode:
authorWim Van Sebroeck <wim@iguana.be>2007-05-11 15:03:13 -0400
committerWim Van Sebroeck <wim@iguana.be>2007-05-11 15:03:13 -0400
commit5c34202b8bf942da411b6599668a76b07449bbfd (patch)
tree5719c361321eaddc8e4f1b0c8a7994f0e9a6fdd3 /arch/um/kernel/skas/process.c
parent0d4804b31f91cfbcff6d62af0bc09a893a1c8ae0 (diff)
parent1f8a6b658a943b4f04a1fc7b3a420360202c86cd (diff)
Merge /pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'arch/um/kernel/skas/process.c')
-rw-r--r--arch/um/kernel/skas/process.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/arch/um/kernel/skas/process.c b/arch/um/kernel/skas/process.c
index ae4fa71d3b8b..2a69a7ce5792 100644
--- a/arch/um/kernel/skas/process.c
+++ b/arch/um/kernel/skas/process.c
@@ -13,9 +13,9 @@
13#include "asm/uaccess.h" 13#include "asm/uaccess.h"
14#include "asm/atomic.h" 14#include "asm/atomic.h"
15#include "kern_util.h" 15#include "kern_util.h"
16#include "as-layout.h"
16#include "skas.h" 17#include "skas.h"
17#include "os.h" 18#include "os.h"
18#include "user_util.h"
19#include "tlb.h" 19#include "tlb.h"
20#include "kern.h" 20#include "kern.h"
21#include "mode.h" 21#include "mode.h"
@@ -163,8 +163,12 @@ static int start_kernel_proc(void *unused)
163 163
164extern int userspace_pid[]; 164extern int userspace_pid[];
165 165
166extern char cpu0_irqstack[];
167
166int start_uml_skas(void) 168int start_uml_skas(void)
167{ 169{
170 stack_protections((unsigned long) &cpu0_irqstack);
171 set_sigstack(cpu0_irqstack, THREAD_SIZE);
168 if(proc_mm) 172 if(proc_mm)
169 userspace_pid[0] = start_userspace(0); 173 userspace_pid[0] = start_userspace(0);
170 174
@@ -178,20 +182,23 @@ int start_uml_skas(void)
178 182
179int external_pid_skas(struct task_struct *task) 183int external_pid_skas(struct task_struct *task)
180{ 184{
181#warning Need to look up userspace_pid by cpu 185 /* FIXME: Need to look up userspace_pid by cpu */
182 return(userspace_pid[0]); 186 return(userspace_pid[0]);
183} 187}
184 188
185int thread_pid_skas(struct task_struct *task) 189int thread_pid_skas(struct task_struct *task)
186{ 190{
187#warning Need to look up userspace_pid by cpu 191 /* FIXME: Need to look up userspace_pid by cpu */
188 return(userspace_pid[0]); 192 return(userspace_pid[0]);
189} 193}
190 194
191void kill_off_processes_skas(void) 195void kill_off_processes_skas(void)
192{ 196{
193 if(proc_mm) 197 if(proc_mm)
194#warning need to loop over userspace_pids in kill_off_processes_skas 198 /*
199 * FIXME: need to loop over userspace_pids in
200 * kill_off_processes_skas
201 */
195 os_kill_ptraced_process(userspace_pid[0], 1); 202 os_kill_ptraced_process(userspace_pid[0], 1);
196 else { 203 else {
197 struct task_struct *p; 204 struct task_struct *p;