diff options
author | Gennady Sharapov <Gennady.V.Sharapov@intel.com> | 2006-01-18 20:42:46 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-18 22:20:19 -0500 |
commit | abaf69773d8dda98b917d94c07757f6520da7bec (patch) | |
tree | 1000669c13511044d1f545cff6af26c1b1d946fb /arch/um/include | |
parent | f45d9fc9d80678c2ee22c578e503055207c46fd0 (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.h | 19 | ||||
-rw-r--r-- | arch/um/include/skas/mode-skas.h | 3 | ||||
-rw-r--r-- | arch/um/include/skas/mode_kern_skas.h | 1 | ||||
-rw-r--r-- | arch/um/include/skas/skas.h | 9 |
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); | |||
232 | extern void unblock_signals(void); | 232 | extern void unblock_signals(void); |
233 | extern int get_signals(void); | 233 | extern int get_signals(void); |
234 | extern int set_signals(int enable); | 234 | extern int set_signals(int enable); |
235 | extern void os_usr1_signal(int on); | ||
235 | 236 | ||
236 | /* trap.c */ | 237 | /* trap.c */ |
237 | extern void os_fill_handlinfo(struct kern_handlers h); | 238 | extern 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 */ | ||
277 | extern int is_skas_winch(int pid, int fd, void *data); | ||
278 | extern int start_userspace(unsigned long stub_stack); | ||
279 | extern int copy_context_skas0(unsigned long stack, int pid); | ||
280 | extern void userspace(union uml_pt_regs *regs); | ||
281 | extern void map_stub_pages(int fd, unsigned long code, | ||
282 | unsigned long data, unsigned long stack); | ||
283 | extern void new_thread(void *stack, void **switch_buf_ptr, | ||
284 | void **fork_buf_ptr, void (*handler)(int)); | ||
285 | extern void thread_wait(void *sw, void *fb); | ||
286 | extern void switch_threads(void *me, void *next); | ||
287 | extern int start_idle_thread(void *stack, void *switch_buf_ptr, | ||
288 | void **fork_buf_ptr); | ||
289 | extern void initial_thread_cb_skas(void (*proc)(void *), | ||
290 | void *arg); | ||
291 | extern void halt_skas(void); | ||
292 | extern 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[]; | |||
14 | extern int have_fpx_regs; | 14 | extern int have_fpx_regs; |
15 | 15 | ||
16 | extern void sig_handler_common_skas(int sig, void *sc_ptr); | 16 | extern void sig_handler_common_skas(int sig, void *sc_ptr); |
17 | extern void halt_skas(void); | ||
18 | extern void reboot_skas(void); | ||
19 | extern void kill_off_processes_skas(void); | 17 | extern void kill_off_processes_skas(void); |
20 | extern 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); |
20 | extern void release_thread_skas(struct task_struct *task); | 20 | extern void release_thread_skas(struct task_struct *task); |
21 | extern void initial_thread_cb_skas(void (*proc)(void *), void *arg); | ||
22 | extern void init_idle_skas(void); | 21 | extern void init_idle_skas(void); |
23 | extern void flush_tlb_kernel_range_skas(unsigned long start, | 22 | extern 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[]; | |||
13 | extern int proc_mm, ptrace_faultinfo, ptrace_ldt; | 13 | extern int proc_mm, ptrace_faultinfo, ptrace_ldt; |
14 | extern int skas_needs_stub; | 14 | extern int skas_needs_stub; |
15 | 15 | ||
16 | extern void switch_threads(void *me, void *next); | ||
17 | extern void thread_wait(void *sw, void *fb); | ||
18 | extern void new_thread(void *stack, void **switch_buf_ptr, void **fork_buf_ptr, | ||
19 | void (*handler)(int)); | ||
20 | extern int start_idle_thread(void *stack, void *switch_buf_ptr, | ||
21 | void **fork_buf_ptr); | ||
22 | extern int user_thread(unsigned long stack, int flags); | 16 | extern int user_thread(unsigned long stack, int flags); |
23 | extern void userspace(union uml_pt_regs *regs); | ||
24 | extern void new_thread_proc(void *stack, void (*handler)(int sig)); | 17 | extern void new_thread_proc(void *stack, void (*handler)(int sig)); |
25 | extern void new_thread_handler(int sig); | 18 | extern void new_thread_handler(int sig); |
26 | extern void handle_syscall(union uml_pt_regs *regs); | 19 | extern void handle_syscall(union uml_pt_regs *regs); |
27 | extern void user_signal(int sig, union uml_pt_regs *regs, int pid); | 20 | extern void user_signal(int sig, union uml_pt_regs *regs, int pid); |
28 | extern int new_mm(unsigned long stack); | 21 | extern int new_mm(unsigned long stack); |
29 | extern int start_userspace(unsigned long stub_stack); | ||
30 | extern int copy_context_skas0(unsigned long stack, int pid); | ||
31 | extern void get_skas_faultinfo(int pid, struct faultinfo * fi); | 22 | extern void get_skas_faultinfo(int pid, struct faultinfo * fi); |
32 | extern long execute_syscall_skas(void *r); | 23 | extern long execute_syscall_skas(void *r); |
33 | extern unsigned long current_stub_stack(void); | 24 | extern unsigned long current_stub_stack(void); |