aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/include
diff options
context:
space:
mode:
authorGennady Sharapov <Gennady.V.Sharapov@intel.com>2006-01-18 20:42:46 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-18 22:20:19 -0500
commitabaf69773d8dda98b917d94c07757f6520da7bec (patch)
tree1000669c13511044d1f545cff6af26c1b1d946fb /arch/um/include
parentf45d9fc9d80678c2ee22c578e503055207c46fd0 (diff)
[PATCH] uml: move libc-dependent skas process handling
The serial UML OS-abstraction layer patch (um/kernel/skas dir). This moves all systemcalls from skas/process.c file under os-Linux dir and join skas/process.c and skas/process_kern.c files. Signed-off-by: Gennady Sharapov <gennady.v.sharapov@intel.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/um/include')
-rw-r--r--arch/um/include/os.h19
-rw-r--r--arch/um/include/skas/mode-skas.h3
-rw-r--r--arch/um/include/skas/mode_kern_skas.h1
-rw-r--r--arch/um/include/skas/skas.h9
4 files changed, 19 insertions, 13 deletions
diff --git a/arch/um/include/os.h b/arch/um/include/os.h
index 8006e085b675..eb1710b81255 100644
--- a/arch/um/include/os.h
+++ b/arch/um/include/os.h
@@ -232,6 +232,7 @@ extern void block_signals(void);
232extern void unblock_signals(void); 232extern void unblock_signals(void);
233extern int get_signals(void); 233extern int get_signals(void);
234extern int set_signals(int enable); 234extern int set_signals(int enable);
235extern void os_usr1_signal(int on);
235 236
236/* trap.c */ 237/* trap.c */
237extern void os_fill_handlinfo(struct kern_handlers h); 238extern void os_fill_handlinfo(struct kern_handlers h);
@@ -272,4 +273,22 @@ extern int protect(struct mm_id * mm_idp, unsigned long addr,
272 unsigned long len, int r, int w, int x, int done, 273 unsigned long len, int r, int w, int x, int done,
273 void **data); 274 void **data);
274 275
276/* skas/process.c */
277extern int is_skas_winch(int pid, int fd, void *data);
278extern int start_userspace(unsigned long stub_stack);
279extern int copy_context_skas0(unsigned long stack, int pid);
280extern void userspace(union uml_pt_regs *regs);
281extern void map_stub_pages(int fd, unsigned long code,
282 unsigned long data, unsigned long stack);
283extern void new_thread(void *stack, void **switch_buf_ptr,
284 void **fork_buf_ptr, void (*handler)(int));
285extern void thread_wait(void *sw, void *fb);
286extern void switch_threads(void *me, void *next);
287extern int start_idle_thread(void *stack, void *switch_buf_ptr,
288 void **fork_buf_ptr);
289extern void initial_thread_cb_skas(void (*proc)(void *),
290 void *arg);
291extern void halt_skas(void);
292extern void reboot_skas(void);
293
275#endif 294#endif
diff --git a/arch/um/include/skas/mode-skas.h b/arch/um/include/skas/mode-skas.h
index 64b960006f1e..260065cfeef1 100644
--- a/arch/um/include/skas/mode-skas.h
+++ b/arch/um/include/skas/mode-skas.h
@@ -14,9 +14,6 @@ extern unsigned long exec_fpx_regs[];
14extern int have_fpx_regs; 14extern int have_fpx_regs;
15 15
16extern void sig_handler_common_skas(int sig, void *sc_ptr); 16extern void sig_handler_common_skas(int sig, void *sc_ptr);
17extern void halt_skas(void);
18extern void reboot_skas(void);
19extern void kill_off_processes_skas(void); 17extern void kill_off_processes_skas(void);
20extern int is_skas_winch(int pid, int fd, void *data);
21 18
22#endif 19#endif
diff --git a/arch/um/include/skas/mode_kern_skas.h b/arch/um/include/skas/mode_kern_skas.h
index dd9f2d722fb9..63c58739bde0 100644
--- a/arch/um/include/skas/mode_kern_skas.h
+++ b/arch/um/include/skas/mode_kern_skas.h
@@ -18,7 +18,6 @@ extern int copy_thread_skas(int nr, unsigned long clone_flags,
18 unsigned long sp, unsigned long stack_top, 18 unsigned long sp, unsigned long stack_top,
19 struct task_struct *p, struct pt_regs *regs); 19 struct task_struct *p, struct pt_regs *regs);
20extern void release_thread_skas(struct task_struct *task); 20extern void release_thread_skas(struct task_struct *task);
21extern void initial_thread_cb_skas(void (*proc)(void *), void *arg);
22extern void init_idle_skas(void); 21extern void init_idle_skas(void);
23extern void flush_tlb_kernel_range_skas(unsigned long start, 22extern void flush_tlb_kernel_range_skas(unsigned long start,
24 unsigned long end); 23 unsigned long end);
diff --git a/arch/um/include/skas/skas.h b/arch/um/include/skas/skas.h
index 7418f2addda2..86357282d681 100644
--- a/arch/um/include/skas/skas.h
+++ b/arch/um/include/skas/skas.h
@@ -13,21 +13,12 @@ extern int userspace_pid[];
13extern int proc_mm, ptrace_faultinfo, ptrace_ldt; 13extern int proc_mm, ptrace_faultinfo, ptrace_ldt;
14extern int skas_needs_stub; 14extern int skas_needs_stub;
15 15
16extern void switch_threads(void *me, void *next);
17extern void thread_wait(void *sw, void *fb);
18extern void new_thread(void *stack, void **switch_buf_ptr, void **fork_buf_ptr,
19 void (*handler)(int));
20extern int start_idle_thread(void *stack, void *switch_buf_ptr,
21 void **fork_buf_ptr);
22extern int user_thread(unsigned long stack, int flags); 16extern int user_thread(unsigned long stack, int flags);
23extern void userspace(union uml_pt_regs *regs);
24extern void new_thread_proc(void *stack, void (*handler)(int sig)); 17extern void new_thread_proc(void *stack, void (*handler)(int sig));
25extern void new_thread_handler(int sig); 18extern void new_thread_handler(int sig);
26extern void handle_syscall(union uml_pt_regs *regs); 19extern void handle_syscall(union uml_pt_regs *regs);
27extern void user_signal(int sig, union uml_pt_regs *regs, int pid); 20extern void user_signal(int sig, union uml_pt_regs *regs, int pid);
28extern int new_mm(unsigned long stack); 21extern int new_mm(unsigned long stack);
29extern int start_userspace(unsigned long stub_stack);
30extern int copy_context_skas0(unsigned long stack, int pid);
31extern void get_skas_faultinfo(int pid, struct faultinfo * fi); 22extern void get_skas_faultinfo(int pid, struct faultinfo * fi);
32extern long execute_syscall_skas(void *r); 23extern long execute_syscall_skas(void *r);
33extern unsigned long current_stub_stack(void); 24extern unsigned long current_stub_stack(void);