Rev 1040 | Rev 1086 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1040 | Rev 1066 | ||
|---|---|---|---|
| Line 35... | Line 35... | ||
| 35 | #include <proc/task.h> |
35 | #include <proc/task.h> |
| 36 | #include <arch.h> |
36 | #include <arch.h> |
| 37 | #include <debug.h> |
37 | #include <debug.h> |
| 38 | #include <ipc/sysipc.h> |
38 | #include <ipc/sysipc.h> |
| 39 | 39 | ||
| 40 | static __native sys_ctl(void) { |
- | |
| 41 | printf("Thread finished\n"); |
- | |
| 42 | thread_exit(); |
- | |
| 43 | /* Unreachable */ |
- | |
| 44 | return 0; |
- | |
| 45 | } |
- | |
| 46 | - | ||
| 47 | static __native sys_io(int fd, const void * buf, size_t count) { |
40 | static __native sys_io(int fd, const void * buf, size_t count) { |
| 48 | 41 | ||
| 49 | // TODO: buf sanity checks and a lot of other stuff ... |
42 | // TODO: buf sanity checks and a lot of other stuff ... |
| 50 | 43 | ||
| 51 | size_t i; |
44 | size_t i; |
| Line 54... | Line 47... | ||
| 54 | putchar(((char *) buf)[i]); |
47 | putchar(((char *) buf)[i]); |
| 55 | 48 | ||
| 56 | return count; |
49 | return count; |
| 57 | } |
50 | } |
| 58 | 51 | ||
| 59 | - | ||
| 60 | static __native sys_mmap(void *address, size_t size, int flags) |
52 | static __native sys_mmap(void *address, size_t size, int flags) |
| 61 | { |
53 | { |
| 62 | if (as_area_create(AS, flags, size, (__address) address)) |
54 | if (as_area_create(AS, flags, size, (__address) address)) |
| 63 | return (__native) address; |
55 | return (__native) address; |
| 64 | else |
56 | else |
| Line 69... | Line 61... | ||
| 69 | { |
61 | { |
| 70 | return as_remap(AS, (__address) address, size, 0); |
62 | return as_remap(AS, (__address) address, size, 0); |
| 71 | } |
63 | } |
| 72 | 64 | ||
| 73 | syshandler_t syscall_table[SYSCALL_END] = { |
65 | syshandler_t syscall_table[SYSCALL_END] = { |
| 74 | sys_ctl, |
- | |
| 75 | sys_io, |
66 | sys_io, |
| - | 67 | sys_thread_create, |
|
| - | 68 | sys_thread_exit, |
|
| 76 | sys_mmap, |
69 | sys_mmap, |
| 77 | sys_mremap, |
70 | sys_mremap, |
| 78 | sys_ipc_call_sync_fast, |
71 | sys_ipc_call_sync_fast, |
| 79 | sys_ipc_call_sync, |
72 | sys_ipc_call_sync, |
| 80 | sys_ipc_call_async_fast, |
73 | sys_ipc_call_async_fast, |