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, |