diff options
author | Gennady Sharapov <Gennady.V.Sharapov@intel.com> | 2006-01-18 20:42:45 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-18 22:20:19 -0500 |
commit | f45d9fc9d80678c2ee22c578e503055207c46fd0 (patch) | |
tree | e67a7783c2866af94092801a519f04bb77109ade /arch/um/include | |
parent | 4abfbf4034b419736de5797a3860ab0bcf5c5c8d (diff) |
[PATCH] uml: move libc-dependent skas memory mapping code
The serial UML OS-abstraction layer patch (um/kernel/skas dir).
This moves all systemcalls from skas/mem_user.c file under os-Linux dir and
join skas/mem_user.c and skas/mem.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 | 17 | ||||
-rw-r--r-- | arch/um/include/skas/skas.h | 14 |
2 files changed, 17 insertions, 14 deletions
diff --git a/arch/um/include/os.h b/arch/um/include/os.h index 624938ad9e14..8006e085b675 100644 --- a/arch/um/include/os.h +++ b/arch/um/include/os.h | |||
@@ -11,6 +11,7 @@ | |||
11 | #include "../os/include/file.h" | 11 | #include "../os/include/file.h" |
12 | #include "sysdep/ptrace.h" | 12 | #include "sysdep/ptrace.h" |
13 | #include "kern_util.h" | 13 | #include "kern_util.h" |
14 | #include "skas/mm_id.h" | ||
14 | 15 | ||
15 | #define OS_TYPE_FILE 1 | 16 | #define OS_TYPE_FILE 1 |
16 | #define OS_TYPE_DIR 2 | 17 | #define OS_TYPE_DIR 2 |
@@ -255,4 +256,20 @@ extern void user_time_init(void); | |||
255 | extern void uml_idle_timer(void); | 256 | extern void uml_idle_timer(void); |
256 | extern unsigned long long os_nsecs(void); | 257 | extern unsigned long long os_nsecs(void); |
257 | 258 | ||
259 | /* skas/mem.c */ | ||
260 | extern long run_syscall_stub(struct mm_id * mm_idp, | ||
261 | int syscall, unsigned long *args, long expected, | ||
262 | void **addr, int done); | ||
263 | extern long syscall_stub_data(struct mm_id * mm_idp, | ||
264 | unsigned long *data, int data_count, | ||
265 | void **addr, void **stub_addr); | ||
266 | extern int map(struct mm_id * mm_idp, unsigned long virt, | ||
267 | unsigned long len, int r, int w, int x, int phys_fd, | ||
268 | unsigned long long offset, int done, void **data); | ||
269 | extern int unmap(struct mm_id * mm_idp, void *addr, unsigned long len, | ||
270 | int done, void **data); | ||
271 | extern int protect(struct mm_id * mm_idp, unsigned long addr, | ||
272 | unsigned long len, int r, int w, int x, int done, | ||
273 | void **data); | ||
274 | |||
258 | #endif | 275 | #endif |
diff --git a/arch/um/include/skas/skas.h b/arch/um/include/skas/skas.h index 158f322248e3..7418f2addda2 100644 --- a/arch/um/include/skas/skas.h +++ b/arch/um/include/skas/skas.h | |||
@@ -24,14 +24,6 @@ extern void userspace(union uml_pt_regs *regs); | |||
24 | extern void new_thread_proc(void *stack, void (*handler)(int sig)); | 24 | extern void new_thread_proc(void *stack, void (*handler)(int sig)); |
25 | extern void new_thread_handler(int sig); | 25 | extern void new_thread_handler(int sig); |
26 | extern void handle_syscall(union uml_pt_regs *regs); | 26 | extern void handle_syscall(union uml_pt_regs *regs); |
27 | extern int map(struct mm_id * mm_idp, unsigned long virt, | ||
28 | unsigned long len, int r, int w, int x, int phys_fd, | ||
29 | unsigned long long offset, int done, void **data); | ||
30 | extern int unmap(struct mm_id * mm_idp, void *addr, unsigned long len, | ||
31 | int done, void **data); | ||
32 | extern int protect(struct mm_id * mm_idp, unsigned long addr, | ||
33 | unsigned long len, int r, int w, int x, int done, | ||
34 | void **data); | ||
35 | extern void user_signal(int sig, union uml_pt_regs *regs, int pid); | 27 | extern void user_signal(int sig, union uml_pt_regs *regs, int pid); |
36 | extern int new_mm(unsigned long stack); | 28 | extern int new_mm(unsigned long stack); |
37 | extern int start_userspace(unsigned long stub_stack); | 29 | extern int start_userspace(unsigned long stub_stack); |
@@ -39,11 +31,5 @@ extern int copy_context_skas0(unsigned long stack, int pid); | |||
39 | extern void get_skas_faultinfo(int pid, struct faultinfo * fi); | 31 | extern void get_skas_faultinfo(int pid, struct faultinfo * fi); |
40 | extern long execute_syscall_skas(void *r); | 32 | extern long execute_syscall_skas(void *r); |
41 | extern unsigned long current_stub_stack(void); | 33 | extern unsigned long current_stub_stack(void); |
42 | extern long run_syscall_stub(struct mm_id * mm_idp, | ||
43 | int syscall, unsigned long *args, long expected, | ||
44 | void **addr, int done); | ||
45 | extern long syscall_stub_data(struct mm_id * mm_idp, | ||
46 | unsigned long *data, int data_count, | ||
47 | void **addr, void **stub_addr); | ||
48 | 34 | ||
49 | #endif | 35 | #endif |