Subversion Repositories HelenOS

Rev

Rev 3438 | Rev 3614 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3438 Rev 3603
Line 103... Line 103...
103
    unative_t rc;
103
    unative_t rc;
104
 
104
 
105
#ifdef CONFIG_UDEBUG
105
#ifdef CONFIG_UDEBUG
106
    udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, 0, false);
106
    udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, 0, false);
107
#endif
107
#endif
108
 
-
 
109
    if (id < SYSCALL_END) {
108
    if (id < SYSCALL_END) {
110
#ifdef CONFIG_UDEBUG
-
 
111
        udebug_stoppable_begin();
-
 
112
#endif
-
 
113
        rc = syscall_table[id](a1, a2, a3, a4, a5, a6);
109
        rc = syscall_table[id](a1, a2, a3, a4, a5, a6);
114
    } else {
110
    } else {
115
        printf("Task %" PRIu64": Unknown syscall %#" PRIxn, TASK->taskid, id);
111
        printf("Task %" PRIu64": Unknown syscall %#" PRIxn, TASK->taskid, id);
116
        task_kill(TASK->taskid);
112
        task_kill(TASK->taskid);
117
        thread_exit();
113
        thread_exit();
Line 120... Line 116...
120
    if (THREAD->interrupted)
116
    if (THREAD->interrupted)
121
        thread_exit();
117
        thread_exit();
122
 
118
 
123
#ifdef CONFIG_UDEBUG
119
#ifdef CONFIG_UDEBUG
124
    udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, rc, true);
120
    udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, rc, true);
125
    udebug_stoppable_end();
-
 
126
#endif
121
#endif  
127
   
-
 
128
    return rc;
122
    return rc;
129
}
123
}
130
 
124
 
131
syshandler_t syscall_table[SYSCALL_END] = {
125
syshandler_t syscall_table[SYSCALL_END] = {
132
    (syshandler_t) sys_klog,
126
    (syshandler_t) sys_klog,