Ignore:
Timestamp:
Jun 18, 2017, 10:06:41 PM (5 years ago)
Author:
alain
Message:

Introduce syscalls.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/kern/do_syscall.c

    r16 r23  
    22 * do_syscall.c - architecture independant entry-point for system calls.
    33 *
    4  * AUthor    Alain Greiner (2016)
     4 * Author    Alain Greiner (2016)
    55 *
    66 * Copyright (c) UPMC Sorbonne Universites
     
    3131
    3232/////////////////////////////////////////////////////////////////////////////////////////////
    33 // This array of pointers define the kernel functions for syscalls.
     33/////////////////////////////////////////////////////////////////////////////////////////////
     34static inline int sys_undefined()
     35{
     36    printk("\n[PANIC] in %s : undefined system call\n", __FUNCTION__ );
     37    hal_core_sleep();
     38    return 0;
     39}
     40
     41/////////////////////////////////////////////////////////////////////////////////////////////
     42// This array of pointers define the kernel functions implementing the syscalls.
    3443// It must be kept consistent with the enum in syscalls.h
    3544/////////////////////////////////////////////////////////////////////////////////////////////
     
    3948static const sys_func_t syscall_tbl[SYSCALLS_NR] =
    4049{
    41         sys_thread_exit,        // 0
    42         sys_mmap,               // 1
    43         sys_thread_create,      // 2
    44         sys_thread_join,        // 3
    45         sys_thread_detach,      // 4
    46         sys_thread_yield,       // 5
    47         sys_sem,                // 6
    48         sys_cond_var,           // 7
    49         sys_barrier,            // 8
    50         sys_rwlock,             // 9
    51         sys_thread_sleep,       // 10
    52         sys_thread_wakeup,      // 11
    53         sys_open,               // 12
    54         sys_creat,              // 13
    55         sys_read,               // 14
    56         sys_write,              // 15
    57         sys_lseek,              // 16
    58         sys_close,              // 17
    59         sys_unlink,             // 18
    60         sys_pipe,               // 19
    61         sys_chdir,              // 20
    62         sys_mkdir,              // 21
    63         sys_mkfifo,             // 22
    64         sys_opendir,            // 23
    65         sys_readdir,            // 24
    66         sys_closedir,           // 25
    67         sys_getcwd,             // 26
    68         sys_clock,              // 27
    69         sys_alarm,              // 28
    70         sys_dma_memcpy,         // 29
    71         sys_utls,               // 30
    72         sys_notAvailable,               // 31        Reserved for sigreturn TODO  ???
    73         sys_signal,             // 32
    74         sys_sigreturn_setup,    // 33
    75         sys_kill,               // 34
    76         sys_getpid,             // 35
    77         sys_fork,               // 36
    78         sys_exec,               // 37
    79         sys_thread_getattr,     // 38
    80         sys_ps,                 // 39
    81         sys_madvise,            // 40
    82         sys_mcntl,              // 41
    83         sys_stat,               // 42
    84         sys_thread_migrate,     // 43
    85         sys_sbrk,               // 44
    86         sys_rmdir,              // 45
    87         sys_ftime,              // 46
    88         sys_chmod,              // 47
    89         sys_fsync,              // 48
    90         sys_gettimeofday,       // 49
    91         sys_times               // 50
     50    sys_thread_exit,        // 0
     51    sys_mmap,               // 1
     52    sys_thread_create,      // 2
     53    sys_thread_join,        // 3
     54    sys_thread_detach,      // 4
     55    sys_thread_yield,       // 5
     56    sys_sem,                // 6
     57    sys_condvar,            // 7
     58    sys_barrier,            // 8
     59    sys_mutex,              // 9
     60    sys_thread_sleep,       // 10
     61    sys_thread_wakeup,      // 11
     62    sys_open,               // 12
     63    sys_creat,              // 13
     64    sys_read,               // 14
     65    sys_write,              // 15
     66    sys_lseek,              // 16
     67    sys_close,              // 17
     68    sys_unlink,             // 18
     69    sys_pipe,               // 19
     70    sys_chdir,              // 20
     71    sys_mkdir,              // 21
     72    sys_mkfifo,             // 22
     73    sys_opendir,            // 23
     74    sys_readdir,            // 24
     75    sys_closedir,           // 25
     76    sys_getcwd,             // 26
     77    sys_clock,              // 27
     78    sys_alarm,              // 28
     79    sys_rmdir,              // 29
     80    sys_utls,               // 30
     81    sys_chmod,              // 31
     82    sys_signal,             // 32
     83    sys_gettimeofday,       // 33
     84    sys_kill,               // 34
     85    sys_getpid,             // 35
     86    sys_fork,               // 36
     87    sys_exec,               // 37
     88    sys_stat,               // 38
     89    sys_trace,              // 39
    9290};
    9391
Note: See TracChangeset for help on using the changeset viewer.