Changes between Version 94 and Version 95 of library_stdio
- Timestamp:
- Jul 17, 2015, 7:45:04 PM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
library_stdio
v94 v95 28 28 No error possible, as the return value is always between 0 & 65535. 29 29 30 30 31 == __User task related system calls__ == 31 32 32 33 === 1) unsigned int '''giet_proc_task_id'''() === 33 This functions returns (from the calling task context) the local task index, identifying the task amongst all task34 This functions returns (from the calling task context) the task index in scheduler, identifying the task amongst all task 34 35 running on the same processor. 35 36 No error possible. … … 42 43 This functions returns (from the calling task context) the thread index, identiying the task in a given vspace. 43 44 No error possible. 45 46 === 4) void '''giet_exit'''( char* string ) === 47 This function stops execution of the calling task with a TTY0 message explaining the cause. 48 The user task is descheduled and becomes not runable: it does not consume processor cycles anymore. 49 50 === 5) void '''giet_assert'''( unsigned int condition, char* string ) === 51 This function stops execution of the calling with a TTY0 message if the condition is false. 52 53 === 6) void '''giet_context_switch'''() === 54 The user task calling this function is descheduled and the processor is allocated to another task. === 55 56 57 == __Application related system calls__ == 58 59 === 1) void '''giet_kill_application'''( char* name ) === 60 This function kill the application identified by the vspace '''name''' argument: 61 All tasks are de-activated, the private peripherals or coprocessors are released, but the physical memory 62 allocated to the killed application is not released. 63 64 === 2) void '''giet_exec_application'''( char* name ) === 65 This function starts execution for the the application identified by the vspace '''name''' argument: 66 The application code and data segment are loaded into memory from the .elf file. 67 All tasks contexts are initialized, and the tasks are activated. 68 44 69 45 70 == __Coprocessors related system calls__ == … … 363 388 == __Miscelaneous system calls__ == 364 389 365 === 1) void '''giet_exit'''( char* string ) === 366 This function stops execution of the calling task with a TTY0 message explaining the cause. 367 The user task is descheduled and becomes not runable: it does not consume processor cycles anymore. 368 369 === 2) void '''giet_kill_application'''( char* name ) === 370 This function kill the application identified by the vspace '''name''' argument: 371 All tasks are de-activated, the private peripherals or coprocessors are released, but the physical memory 372 allocated to the killed application is not released. 373 374 === 3) void '''giet_exec_application'''( char* name ) === 375 This function starts execution for the the application identified by the vspace '''name''' argument: 376 The application code and data segment are loaded into memory from the .elf file. 377 All tasks contexts are initialized, and the tasks are activated. 378 379 === 4) void '''giet_assert'''( unsigned int condition, char* string ) === 380 This function stops exzcution of the calling with a TTY0 message if the condition is false. 381 382 === 5) void '''giet_context_switch'''() === 383 The user task calling this function is descheduled and the processor is allocated to another task. 384 385 === 6) void '''giet_procs_number'''( unsigned int* x_size , unsigned int* y_size , unsigned int* nprocs ) === 390 === 1) void '''giet_procs_number'''( unsigned int* x_size , unsigned int* y_size , unsigned int* nprocs ) === 386 391 This function returns the actual number of processors in a clusterized 2D mesh architecture. 387 392 * '''x_size''' number of clusters containing processors in a row. … … 389 394 * '''nprocs''' number of processors per cluster. 390 395 391 === 7) void '''giet_vseg_get_vbase'''( char* vspace_name, char* vseg_name, unsigned int* vbase) ===396 === 2) void '''giet_vseg_get_vbase'''( char* vspace_name, char* vseg_name, unsigned int* vbase) === 392 397 This function returns in argument ''vbase'' the virtual base address of a vseg defined in the mapping_info data structure. The vseg is identified by the two arguments ''vspace_name'' and ''vseg_name''. In case of error (such as undefined vspace or undefined vseg), it makes a giet_exit(). 393 398 394 === 8) void '''giet_vseg_get_length'''( char* vspace_name, char* vseg_name, unsigned int* length) ===399 === 3) void '''giet_vseg_get_length'''( char* vspace_name, char* vseg_name, unsigned int* length) === 395 400 This function returns in argument ''length'' the length (bytes) of a vseg defined in the mapping_info data structure. The vseg is identified by the two arguments ''vspace_name'' and ''vseg_name''. In case of error (such as undefined vspace or undefined vseg), it makes a giet_exit(). 396 401 397 === 9) void '''giet_heap_info'''( unsigned int* vaddr, unsigned int* length, unsigned int x, unsigned int y );402 === 4) void '''giet_heap_info'''( unsigned int* vaddr, unsigned int* length, unsigned int x, unsigned int y ); 398 403 This function supports access to the running task's heap or to a remote heap. If (x < X_SIZE) and (y < Y_SIZE), it returns the base address and length of the heap associated to any task running on cluster(x,y). Otherwise, it returns the base address and length of the heap associated to the calling task. In case of error (such as undefined heap segment in the selected cluster, it returns heap_size = 0). 399 404 400 === 10) void '''giet_get_xy'''( void* ptr, unsigned int* px, unsigned int* py ) ===405 === 5) void '''giet_get_xy'''( void* ptr, unsigned int* px, unsigned int* py ) === 401 406 This function takes as input a virtual address (''ptr'' argument), and returns through the ''px,py'' arguments the coordinates of the cluster containing the physical address associated to ''ptr''. In case of error (unmapped virtual address), it makes a giet_exit().