Subversion Repositories HelenOS

Rev

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] = {