Subversion Repositories HelenOS

Rev

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
}