Rev 3492 | Rev 3742 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3492 | Rev 3665 | ||
|---|---|---|---|
| Line 103... | Line 103... | ||
| 103 | unative_t rc; |
103 | unative_t rc; |
| 104 | 104 | ||
| 105 | #ifdef CONFIG_UDEBUG |
105 | #ifdef CONFIG_UDEBUG |
| 106 | udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, 0, false); |
106 | udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, 0, false); |
| 107 | #endif |
107 | #endif |
| 108 | - | ||
| 109 | if (id < SYSCALL_END) { |
108 | if (id < SYSCALL_END) { |
| 110 | #ifdef CONFIG_UDEBUG |
- | |
| 111 | udebug_stoppable_begin(); |
- | |
| 112 | #endif |
- | |
| 113 | rc = syscall_table[id](a1, a2, a3, a4, a5, a6); |
109 | rc = syscall_table[id](a1, a2, a3, a4, a5, a6); |
| 114 | } else { |
110 | } else { |
| 115 | printf("Task %" PRIu64": Unknown syscall %#" PRIxn, TASK->taskid, id); |
111 | printf("Task %" PRIu64": Unknown syscall %#" PRIxn, TASK->taskid, id); |
| 116 | task_kill(TASK->taskid); |
112 | task_kill(TASK->taskid); |
| 117 | thread_exit(); |
113 | thread_exit(); |
| Line 120... | Line 116... | ||
| 120 | if (THREAD->interrupted) |
116 | if (THREAD->interrupted) |
| 121 | thread_exit(); |
117 | thread_exit(); |
| 122 | 118 | ||
| 123 | #ifdef CONFIG_UDEBUG |
119 | #ifdef CONFIG_UDEBUG |
| 124 | udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, rc, true); |
120 | udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, rc, true); |
| - | 121 | ||
| - | 122 | /* |
|
| - | 123 | * Stopping point needed for tasks that only invoke non-blocking |
|
| - | 124 | * system calls. |
|
| - | 125 | */ |
|
| - | 126 | udebug_stoppable_begin(); |
|
| 125 | udebug_stoppable_end(); |
127 | udebug_stoppable_end(); |
| 126 | #endif |
128 | #endif |
| 127 | - | ||
| 128 | return rc; |
129 | return rc; |
| 129 | } |
130 | } |
| 130 | 131 | ||
| 131 | syshandler_t syscall_table[SYSCALL_END] = { |
132 | syshandler_t syscall_table[SYSCALL_END] = { |
| 132 | (syshandler_t) sys_klog, |
133 | (syshandler_t) sys_klog, |