Rev 3606 | Rev 4377 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3606 | Rev 3623 | ||
|---|---|---|---|
| Line 101... | Line 101... | ||
| 101 | unative_t a4, unative_t a5, unative_t a6, unative_t id) |
101 | unative_t a4, unative_t a5, unative_t a6, unative_t id) |
| 102 | { |
102 | { |
| 103 | unative_t rc; |
103 | unative_t rc; |
| 104 | 104 | ||
| 105 | #ifdef CONFIG_UDEBUG |
105 | #ifdef CONFIG_UDEBUG |
| 106 | istate_t fake_state; |
- | |
| 107 | - | ||
| 108 | THREAD->udebug.uspace_state = &fake_state; |
106 | THREAD->udebug.uspace_state = NULL; |
| 109 | udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, 0, false); |
107 | udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, 0, false); |
| 110 | #endif |
108 | #endif |
| 111 | if (id < SYSCALL_END) { |
109 | if (id < SYSCALL_END) { |
| 112 | rc = syscall_table[id](a1, a2, a3, a4, a5, a6); |
110 | rc = syscall_table[id](a1, a2, a3, a4, a5, a6); |
| 113 | } else { |
111 | } else { |
| Line 119... | Line 117... | ||
| 119 | if (THREAD->interrupted) |
117 | if (THREAD->interrupted) |
| 120 | thread_exit(); |
118 | thread_exit(); |
| 121 | 119 | ||
| 122 | #ifdef CONFIG_UDEBUG |
120 | #ifdef CONFIG_UDEBUG |
| 123 | udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, rc, true); |
121 | udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, rc, true); |
| 124 | THREAD->udebug.uspace_state = NULL; |
- | |
| 125 | #endif |
- | |
| 126 | 122 | ||
| - | 123 | /* |
|
| - | 124 | * Stopping point needed for tasks that only invoke non-blocking |
|
| - | 125 | * system calls. |
|
| - | 126 | */ |
|
| - | 127 | udebug_stoppable_begin(); |
|
| - | 128 | udebug_stoppable_end(); |
|
| - | 129 | #endif |
|
| 127 | return rc; |
130 | return rc; |
| 128 | } |
131 | } |
| 129 | 132 | ||
| 130 | syshandler_t syscall_table[SYSCALL_END] = { |
133 | syshandler_t syscall_table[SYSCALL_END] = { |
| 131 | (syshandler_t) sys_klog, |
134 | (syshandler_t) sys_klog, |