Subversion Repositories HelenOS-historic

Rev

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

Rev 1264 Rev 1278
Line 54... Line 54...
54
        putchar(((char *) buf)[i]);
54
        putchar(((char *) buf)[i]);
55
   
55
   
56
    return count;
56
    return count;
57
}
57
}
58
 
58
 
59
static __native sys_int_control(int enable)
59
static __native sys_preempt_control(int enable)
60
{
60
{
-
 
61
    if (! cap_get(TASK) & CAP_PREEMPT_CONTROL)
-
 
62
        return EPERM;
-
 
63
    if (enable)
61
    panic("Not implemented.");
64
        preemption_enable();
-
 
65
    else
-
 
66
        preemption_disable();
-
 
67
    return 0;
62
}
68
}
63
 
69
 
64
/** Dispatch system call */
70
/** Dispatch system call */
65
__native syscall_handler(__native a1, __native a2, __native a3,
71
__native syscall_handler(__native a1, __native a2, __native a3,
66
             __native a4, __native id)
72
             __native a4, __native id)
Line 72... Line 78...
72
}
78
}
73
 
79
 
74
syshandler_t syscall_table[SYSCALL_END] = {
80
syshandler_t syscall_table[SYSCALL_END] = {
75
    sys_io,
81
    sys_io,
76
    sys_tls_set,
82
    sys_tls_set,
77
    sys_int_control,
83
    sys_preempt_control,
78
 
84
 
79
    /* Thread and task related syscalls. */
85
    /* Thread and task related syscalls. */
80
    sys_thread_create,
86
    sys_thread_create,
81
    sys_thread_exit,
87
    sys_thread_exit,
82
    sys_task_get_id,
88
    sys_task_get_id,