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