Rev 2817 | Rev 3018 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2817 | Rev 2901 | ||
|---|---|---|---|
| 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 | if (id < SYSCALL_END) { |
- | |
| 103 | THREAD->uspace_state = &fake_state; |
102 | THREAD->uspace_state = &fake_state; |
| - | 103 | udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, 0, false); |
|
| - | 104 | ||
| - | 105 | if (id < SYSCALL_END) { |
|
| 104 | udebug_stoppable_begin(); |
106 | udebug_stoppable_begin(); |
| 105 | rc = syscall_table[id](a1, a2, a3, a4, a5, a6); |
107 | rc = syscall_table[id](a1, a2, a3, a4, a5, a6); |
| 106 | } else { |
108 | } else { |
| 107 | klog_printf("TASK %llu: Unknown syscall id %llx", TASK->taskid, |
109 | klog_printf("TASK %llu: Unknown syscall id %llx", TASK->taskid, |
| 108 | id); |
110 | id); |
| Line 111... | Line 113... | ||
| 111 | } |
113 | } |
| 112 | 114 | ||
| 113 | if (THREAD->interrupted) |
115 | if (THREAD->interrupted) |
| 114 | thread_exit(); |
116 | thread_exit(); |
| 115 | 117 | ||
| 116 | udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, rc); |
118 | udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, rc, true); |
| 117 | udebug_stoppable_end(); |
119 | udebug_stoppable_end(); |
| 118 | THREAD->uspace_state = NULL; |
120 | THREAD->uspace_state = NULL; |
| 119 | 121 | ||
| 120 | return rc; |
122 | return rc; |
| 121 | } |
123 | } |