Rev 2901 | Rev 3424 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2901 | Rev 3018 | ||
|---|---|---|---|
| Line 97... | Line 97... | ||
| 97 | unative_t a4, unative_t a5, unative_t a6, unative_t id) |
97 | unative_t a4, unative_t a5, unative_t a6, unative_t id) |
| 98 | { |
98 | { |
| 99 | unative_t rc; |
99 | unative_t rc; |
| 100 | istate_t fake_state; |
100 | istate_t fake_state; |
| 101 | 101 | ||
| 102 | THREAD->uspace_state = &fake_state; |
102 | THREAD->udebug.uspace_state = &fake_state; |
| 103 | udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, 0, false); |
103 | udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, 0, false); |
| 104 | 104 | ||
| 105 | if (id < SYSCALL_END) { |
105 | if (id < SYSCALL_END) { |
| 106 | udebug_stoppable_begin(); |
106 | udebug_stoppable_begin(); |
| 107 | rc = syscall_table[id](a1, a2, a3, a4, a5, a6); |
107 | rc = syscall_table[id](a1, a2, a3, a4, a5, a6); |
| Line 115... | Line 115... | ||
| 115 | if (THREAD->interrupted) |
115 | if (THREAD->interrupted) |
| 116 | thread_exit(); |
116 | thread_exit(); |
| 117 | 117 | ||
| 118 | udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, rc, true); |
118 | udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, rc, true); |
| 119 | udebug_stoppable_end(); |
119 | udebug_stoppable_end(); |
| 120 | THREAD->uspace_state = NULL; |
120 | THREAD->udebug.uspace_state = NULL; |
| 121 | 121 | ||
| 122 | return rc; |
122 | return rc; |
| 123 | } |
123 | } |
| 124 | 124 | ||
| 125 | syshandler_t syscall_table[SYSCALL_END] = { |
125 | syshandler_t syscall_table[SYSCALL_END] = { |