Rev 3431 | Rev 3623 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3431 | Rev 3606 | ||
|---|---|---|---|
| Line 106... | Line 106... | ||
| 106 | istate_t fake_state; |
106 | istate_t fake_state; |
| 107 | 107 | ||
| 108 | THREAD->udebug.uspace_state = &fake_state; |
108 | THREAD->udebug.uspace_state = &fake_state; |
| 109 | udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, 0, false); |
109 | udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, 0, false); |
| 110 | #endif |
110 | #endif |
| 111 | - | ||
| 112 | if (id < SYSCALL_END) { |
111 | if (id < SYSCALL_END) { |
| 113 | #ifdef CONFIG_UDEBUG |
- | |
| 114 | udebug_stoppable_begin(); |
- | |
| 115 | #endif |
- | |
| 116 | rc = syscall_table[id](a1, a2, a3, a4, a5, a6); |
112 | rc = syscall_table[id](a1, a2, a3, a4, a5, a6); |
| 117 | } else { |
113 | } else { |
| 118 | printf("Task %" PRIu64": Unknown syscall %#" PRIxn, TASK->taskid, id); |
114 | printf("Task %" PRIu64": Unknown syscall %#" PRIxn, TASK->taskid, id); |
| 119 | task_kill(TASK->taskid); |
115 | task_kill(TASK->taskid); |
| 120 | thread_exit(); |
116 | thread_exit(); |
| Line 123... | Line 119... | ||
| 123 | if (THREAD->interrupted) |
119 | if (THREAD->interrupted) |
| 124 | thread_exit(); |
120 | thread_exit(); |
| 125 | 121 | ||
| 126 | #ifdef CONFIG_UDEBUG |
122 | #ifdef CONFIG_UDEBUG |
| 127 | udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, rc, true); |
123 | udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, rc, true); |
| 128 | udebug_stoppable_end(); |
- | |
| 129 | THREAD->udebug.uspace_state = NULL; |
124 | THREAD->udebug.uspace_state = NULL; |
| 130 | #endif |
125 | #endif |
| 131 | 126 | ||
| 132 | return rc; |
127 | return rc; |
| 133 | } |
128 | } |
| 134 | 129 | ||
| 135 | syshandler_t syscall_table[SYSCALL_END] = { |
130 | syshandler_t syscall_table[SYSCALL_END] = { |
| 136 | (syshandler_t) sys_klog, |
131 | (syshandler_t) sys_klog, |