Ignore:
Timestamp:
May 10, 2017, 5:04:01 PM (5 years ago)
Author:
alain
Message:

mprove the HAL for interrupt, exception, syscall handling.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/syscalls/syscalls.h

    r1 r16  
    11/*
    2  * syscall.h - kernel services definition
     2 * syscalls.h - kernel services definition
    33 *
    44 * Author  Ghassan Almaless (2007,2008,2009,2010,2011,2012)
     
    2323 */
    2424
    25 #ifndef _SYSCALL_H_
    26 #define _SYSCALL_H_
     25#ifndef _SYSCALLS_H_
     26#define _SYSCALLS_H_
    2727
    2828/******************************************************************************************
    29  * This enum defines the system calls index.
    30  * It must be kept consistant with the syscall vector defined in sys_vector.c file.
     29 * This enum defines the mnemonics for the syscall indexes.
     30 * It must be kept consistent with the array defined in do_syscalls.c
    3131 *****************************************************************************************/
    3232enum
     
    9090/********************************************************************************************/
    9191
    92 /*********************************************************************************************
    93  * This function TODO
     92
     93/*********************************************************************************************
     94 * [0] This function TODO
     95 ********************************************************************************************/
     96int sys_thread_exit( void * );
     97
     98/*********************************************************************************************
     99 * [1] This function TODO
     100 ********************************************************************************************/
     101int sys_mmap();
     102
     103/*********************************************************************************************
     104 * [2] This function TODO
     105 ********************************************************************************************/
     106int sys_thread_create();
     107
     108/*********************************************************************************************
     109 * [3] This function TODO
     110 ********************************************************************************************/
     111int sys_thread_join();
     112
     113/*********************************************************************************************
     114 * [4] This function TODO
     115 ********************************************************************************************/
     116int sys_thread_detach();
     117
     118/*********************************************************************************************
     119 * [5] This function TODO
     120 ********************************************************************************************/
     121int sys_thread_yield();
     122
     123/*********************************************************************************************
     124 * [6] This function TODO
     125 ********************************************************************************************/
     126int sys_sem();
     127
     128/*********************************************************************************************
     129 * [7] This function TODO
     130 ********************************************************************************************/
     131int sys_cond_var();
     132
     133/*********************************************************************************************
     134 * [8] This function TODO
     135 ********************************************************************************************/
     136int sys_barrier();
     137
     138/*********************************************************************************************
     139 * [9] This function TODO
     140 ********************************************************************************************/
     141int sys_rwlock();
     142
     143/*********************************************************************************************
     144 * [10] This function TODO
     145 ********************************************************************************************/
     146int sys_thread_sleep();
     147
     148/*********************************************************************************************
     149 * [11] This function TODO
     150 ********************************************************************************************/
     151int sys_thread_wakeup();
     152
     153/*********************************************************************************************
     154 * [12] This function TODO
     155 ********************************************************************************************/
     156int sys_open();
     157
     158/*********************************************************************************************
     159 * [13] This function TODO
     160 ********************************************************************************************/
     161int sys_creat();
     162
     163/*********************************************************************************************
     164 * [14] This function TODO
     165 ********************************************************************************************/
     166int sys_read();
     167
     168/*********************************************************************************************
     169 * [15] This function TODO
     170 ********************************************************************************************/
     171int sys_write();
     172
     173/*********************************************************************************************
     174 * [16] This function TODO
     175 ********************************************************************************************/
     176int sys_lseek();
     177
     178/*********************************************************************************************
     179 * [17] This function TODO
     180 ********************************************************************************************/
     181int sys_close();
     182
     183/*********************************************************************************************
     184 * [18] This function TODO
     185 ********************************************************************************************/
     186int sys_unlink();
     187
     188/*********************************************************************************************
     189 * [19] This function TODO
     190 ********************************************************************************************/
     191int sys_pipe();
     192
     193/*********************************************************************************************
     194 * [20] This function TODO
     195 ********************************************************************************************/
     196int sys_chdir();
     197
     198/*********************************************************************************************
     199 * [21] This function TODO
     200 ********************************************************************************************/
     201int sys_mkdir();
     202
     203/*********************************************************************************************
     204 * [22] This function TODO
     205 ********************************************************************************************/
     206int sys_mkfifo();
     207
     208/*********************************************************************************************
     209 * [23] This function TODO
     210 ********************************************************************************************/
     211int sys_opendir();
     212
     213/*********************************************************************************************
     214 * [24] This function TODO
     215 ********************************************************************************************/
     216int sys_readdir();
     217
     218/*********************************************************************************************
     219 * [25] This function TODO
     220 ********************************************************************************************/
     221int sys_closedir();
     222
     223/*********************************************************************************************
     224 * [26] This function TODO
     225 ********************************************************************************************/
     226int sys_getcwd();
     227
     228/*********************************************************************************************
     229 * [27] This function TODO
     230 ********************************************************************************************/
     231int sys_clock();
     232
     233/*********************************************************************************************
     234 * [28] This function TODO
     235 ********************************************************************************************/
     236int sys_alarm();
     237
     238/*********************************************************************************************
     239 * [29] This function TODO
     240 ********************************************************************************************/
     241int sys_dma_memcpy();
     242
     243/*********************************************************************************************
     244 * [30] This function TODO
     245 ********************************************************************************************/
     246int sys_utls();
     247
     248/*********************************************************************************************
     249 * [31] This function TODO
     250 ********************************************************************************************/
     251int sys_notAvailable();
     252
     253/*********************************************************************************************
     254 * [32] This function TODO
     255 ********************************************************************************************/
     256int sys_signal();
     257
     258/*********************************************************************************************
     259 * [33] This function TODO
     260 ********************************************************************************************/
     261int sys_sigreturn_setup();
     262
     263/*********************************************************************************************
     264 * [34] This function implements the "kill" system call.
     265 * It register the signal identified by the <sig> argument in all thread descriptors
     266 * of process identified by the <pid> argument.
     267 *********************************************************************************************
     268 * @ pid      : target process identifier.
     269 * @ sig      : signal index.
     270 ********************************************************************************************/
     271int sys_kill( pid_t    pid,
     272              uint32_t sig );
     273
     274/*********************************************************************************************
     275 * [35] This function TODO
    94276 ********************************************************************************************/
    95277int sys_getpid();
    96278
    97279/*********************************************************************************************
    98  * This function implement the "fork" system call.
     280 * [36] This function implement the "fork" system call.
    99281 * The calling process descriptor (parent process), and the associated thread descriptor are
    100282 * replicated in the same cluster as the calling thread, but the new process (child process)
     
    111293
    112294/*********************************************************************************************
    113  * This function implement the exec system call.
     295 * [37] This function implement the "exec" system call.
    114296 * It is executed in the client cluster, but the new process descriptor and main thread
    115297 * must be created in a server cluster, that is generally another cluster, using a RPC.
     
    124306 * required to build the new process descriptor and the associated thread, including
    125307 * the mode (local/remote).
     308 *********************************************************************************************
    126309 * @ filename : string pointer on .elf filename (virtual pointer in user space)
    127310 * @ argv     : array of strings on process arguments (virtual pointers in user space)
     
    133316              char ** envp );
    134317
    135 
    136 /*********************************************************************************************
    137  * This function TODO
     318/*********************************************************************************************
     319 * [38] This function TODO
     320 ********************************************************************************************/
     321int sys_thread_getattr();
     322
     323/*********************************************************************************************
     324 * [39] This function implements the ps system call.
    138325 ********************************************************************************************/
    139326int sys_ps( uint32_t cmd,
     
    141328            uint32_t tid );
    142329
    143 
    144 
    145 #endif
     330/*********************************************************************************************
     331 * [40] This function TODO
     332 ********************************************************************************************/
     333int sys_madvise();
     334
     335/*********************************************************************************************
     336 * [41] This function TODO
     337 ********************************************************************************************/
     338int sys_mcntl();
     339
     340/*********************************************************************************************
     341 * [42] This function TODO
     342 ********************************************************************************************/
     343int sys_stat();
     344
     345/*********************************************************************************************
     346 * [43] This function TODO
     347 ********************************************************************************************/
     348int sys_thread_migrate();
     349
     350/*********************************************************************************************
     351 * [44] This function TODO
     352 ********************************************************************************************/
     353int sys_sbrk();
     354
     355/*********************************************************************************************
     356 * [45] This function TODO
     357 ********************************************************************************************/
     358int sys_rmdir();
     359
     360/*********************************************************************************************
     361 * [46] This function TODO
     362 ********************************************************************************************/
     363int sys_ftime();
     364
     365/*********************************************************************************************
     366 * [47] This function TODO
     367 ********************************************************************************************/
     368int sys_chmod();
     369
     370/*********************************************************************************************
     371 * [48] This function TODO
     372 ********************************************************************************************/
     373int sys_fsync();
     374
     375/*********************************************************************************************
     376 * [49] This function TODO
     377 ********************************************************************************************/
     378int sys_gettimeofday();
     379
     380/*********************************************************************************************
     381 * [50] This function TODO
     382 ********************************************************************************************/
     383int sys_times();
     384
     385
     386#endif  // _SYSCALLS_H_
Note: See TracChangeset for help on using the changeset viewer.