Subversion Repositories HelenOS-historic

Rev

Rev 1702 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1702 Rev 1780
Line 56... Line 56...
56
/** Print using kernel facility
56
/** Print using kernel facility
57
 *
57
 *
58
 * Some simulators can print only through kernel. Userspace can use
58
 * Some simulators can print only through kernel. Userspace can use
59
 * this syscall to facilitate it.
59
 * this syscall to facilitate it.
60
 */
60
 */
61
static __native sys_io(int fd, const void * buf, size_t count)
61
static unative_t sys_io(int fd, const void * buf, size_t count)
62
{
62
{
63
    size_t i;
63
    size_t i;
64
    char *data;
64
    char *data;
65
    int rc;
65
    int rc;
66
 
66
 
Line 83... Line 83...
83
   
83
   
84
    return count;
84
    return count;
85
}
85
}
86
 
86
 
87
/** Tell kernel to get keyboard/console access again */
87
/** Tell kernel to get keyboard/console access again */
88
static __native sys_debug_enable_console(void)
88
static unative_t sys_debug_enable_console(void)
89
{
89
{
90
    arch_grab_console();
90
    arch_grab_console();
91
    return 0;
91
    return 0;
92
}
92
}
93
 
93
 
94
/** Dispatch system call */
94
/** Dispatch system call */
95
__native syscall_handler(__native a1, __native a2, __native a3,
95
unative_t syscall_handler(unative_t a1, unative_t a2, unative_t a3,
96
             __native a4, __native id)
96
             unative_t a4, unative_t id)
97
{
97
{
98
    __native rc;
98
    unative_t rc;
99
 
99
 
100
    if (id < SYSCALL_END)
100
    if (id < SYSCALL_END)
101
        rc = syscall_table[id](a1,a2,a3,a4);
101
        rc = syscall_table[id](a1,a2,a3,a4);
102
    else {
102
    else {
103
        klog_printf("TASK %lld: Unknown syscall id %d",TASK->taskid,id);
103
        klog_printf("TASK %lld: Unknown syscall id %d",TASK->taskid,id);