Ignore:
Timestamp:
Oct 7, 2015, 12:02:48 PM (9 years ago)
Author:
alain
Message:

Introduce the _sys_fbf_size() function.
Modify the _sys_fbf_alloc() / _sys_fbf_release() functions
to allow all threads of a given vspace to access the frame buffer.
(replace the lock by a multi-threads allocator.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/giet_kernel/sys_handler.h

    r709 r714  
    1919///////////////////////////////////////////////////////////////////////////////
    2020// Define the possible command values for the giet_pthread_control() syscall
     21// These define must be synchronized with values in the stdio.c file
    2122///////////////////////////////////////////////////////////////////////////////
    2223
     
    2627
    2728///////////////////////////////////////////////////////////////////////////////
    28 // Define the error codes for the thread related syscalls
    29 ///////////////////////////////////////////////////////////////////////////////
    30 
    31 #define GIET_SYSCALL_OK                               ( 0 )
    32 #define GIET_SYSCALL_VSPACE_NOT_FOUND                 (-1 )
    33 #define GIET_SYSCALL_THREAD_NOT_FOUND                 (-2 )
    34 #define GIET_SYSCALL_NOT_IN_SAME_VSPACE               (-3 )
    35 #define GIET_SYSCALL_UNCOHERENT_THREAD_CONTEXT        (-4 )
    36 #define GIET_SYSCALL_ILLEGAL_THREAD_COMMAND_TYPE      (-5 )
    37 #define GIET_SYSCALL_CANNOT_LOAD_DATA_SEGMENT         (-6 )
    38 #define GIET_SYSCALL_THREAD_ALREADY_ACTIVE            (-7 )
    39 #define GIET_SYSCALL_MAIN_NOT_FOUND                   (-8 )
    40 #define GIET_SYSCALL_APPLI_CANNOT_BE_KILLED           (-9 )
    41 #define GIET_SYSCALL_PTHREAD_ARGUMENT_NOT_SUPPORTED   (-10)
    42 #define GIET_SYSCALL_ILLEGAL_CLUSTER_COORDINATES      (-11)
    43 #define GIET_SYSCALL_VSEG_NOT_FOUND                   (-12)
    44 #define GIET_SYSCALL_UNDEFINED_SYSTEM_CALL            (-13)
    45 #define GIET_SYSCALL_COPROCESSOR_NOT_FOUND            (-14)
    46 #define GIET_SYSCALL_COPROCESSOR_ILLEGAL_MODE         (-15)
     29// Define the error codes for the syscall handlers
     30// These define must be synchronized with values in the stdio.c file
     31///////////////////////////////////////////////////////////////////////////////
     32
     33#define SYSCALL_OK                               ( 0 )
     34#define SYSCALL_VSPACE_NOT_FOUND                 (-1 )
     35#define SYSCALL_THREAD_NOT_FOUND                 (-2 )
     36#define SYSCALL_NOT_IN_SAME_VSPACE               (-3 )
     37#define SYSCALL_UNCOHERENT_THREAD_CONTEXT        (-4 )
     38#define SYSCALL_ILLEGAL_THREAD_COMMAND_TYPE      (-5 )
     39#define SYSCALL_CANNOT_LOAD_DATA_SEGMENT         (-6 )
     40#define SYSCALL_THREAD_ALREADY_ACTIVE            (-7 )
     41#define SYSCALL_MAIN_NOT_FOUND                   (-8 )
     42#define SYSCALL_APPLI_CANNOT_BE_KILLED           (-9 )
     43#define SYSCALL_PTHREAD_ARGUMENT_NOT_SUPPORTED   (-10)
     44#define SYSCALL_ILLEGAL_CLUSTER_COORDINATES      (-11)
     45#define SYSCALL_VSEG_NOT_FOUND                   (-12)
     46#define SYSCALL_UNDEFINED_SYSTEM_CALL            (-13)
     47#define SYSCALL_COPROCESSOR_NOT_FOUND            (-14)
     48#define SYSCALL_COPROCESSOR_ILLEGAL_MODE         (-15)
     49#define SYSCALL_COPROCESSOR_NON_ALLOCATED        (-16)
     50#define SYSCALL_CHANNEL_ALREADY_ALLOCATED        (-17)
     51#define SYSCALL_NO_CHANNEL_AVAILABLE             (-18)
     52#define SYSCALL_CHANNEL_NON_ALLOCATED            (-19)
     53#define SYSCALL_ILLEGAL_XY_ARGUMENTS             (-20)
     54#define SYSCALL_OUT_OF_KERNEL_HEAP_MEMORY        (-21)
     55#define SYSCALL_ADDRESS_NON_ALIGNED              (-22)
     56#define SYSCALL_ADDRESS_NON_USER_ACCESSIBLE      (-23)
     57#define SYSCALL_MISSING_INITIALISATION           (-24)
    4758
    4859///////////////////////////////////////////////////////////////////////////////
     
    123134extern int _sys_exec_application( char* name );
    124135
    125 extern int _sys_applications_status();
     136extern int _sys_applications_status( char* name );
    126137
    127138/////////////////////////////////////////////////////////////////////////////
     
    217228//////////////////////////////////////////////////////////////////////////////
    218229
     230extern int _sys_fbf_size( unsigned int* width,
     231                          unsigned int* height );
     232
     233extern int _sys_fbf_alloc();
     234
     235extern int _sys_fbf_release();
     236
    219237extern int _sys_fbf_sync_write( unsigned int offset,
    220238                         void*        buffer,
     
    230248
    231249extern int _sys_fbf_cma_init_buf(void*        buf0_vbase,
    232                           void*        buf1_vbase,
    233                           void*        sts0_vaddr,
    234                           void*        sts1_vaddr );
     250                                 void*        buf1_vbase,
     251                                 void*        sts0_vaddr,
     252                                 void*        sts1_vaddr );
    235253
    236254extern int _sys_fbf_cma_start( unsigned int length );
Note: See TracChangeset for help on using the changeset viewer.