source: soft/giet_vm/libs/srl.h @ 176

Last change on this file since 176 was 175, checked in by karaoui, 12 years ago

+ Adding the init attribute to the mwmr to specify the width of the mwmr channel
+ Fixing bugs in kernels_init

File size: 1.7 KB
Line 
1#ifndef SRL_H_
2#define SRL_H_
3
4/**
5   @file
6   @module{SRL}
7   @short SRL Api main header
8 */
9
10#include "libsrl/srl_public_types.h"
11//#include "libsrl/srl_private_types.h"
12
13#include "libsrl/srl_lock.h"
14#include "libsrl/srl_mwmr.h"
15#include "libsrl/srl_log.h"
16#include "libsrl/srl_barrier.h"
17#include "libsrl/srl_memspace.h"
18
19#include "libsrl/srl_hw_helpers.h"
20
21//kernel use!
22//#include "libsrl/srl_mwmr_sys.h"
23
24#define GET_MWMR(port) GET_ARG(port, VOBJ_TYPE_MWMR)
25/* port, APP_NAME, TASK, #task_name, alias */
26# define SRL_GET_ARG(task_name, port, type)                                                                       \
27({                                                                                            \
28    srl_mwmr_t  _mwmr;                                                                      \
29    if( giet_vobj_get_vbase( APP_NAME , alias_##task_name.port, type, (unsigned int*)&_mwmr ) )                   \
30    {                                                                                         \
31        srl_log_printf( NONE, "\n[ERROR] in "#task_name" task :\n");                              \
32        srl_log_printf( NONE, "          undefined port <"#port"> for channel(%s): %d\n", alias_##task_name.port,_mwmr);           \
33        srl_log_printf( TRACE, "*** &"#port" = %x\n\n", (unsigned int)_mwmr );                 \
34        srl_exit();                                                                     \
35    }else                                                                                         \
36        srl_log_printf( TRACE, "%s:%d: arg of %s for %s,from %s; &"#port" = %x\n\n", __FILE__, __LINE__, APP_NAME, #task_name,#port, (unsigned int)_mwmr ); \
37    _mwmr;\
38})
39
40
41
42
43#endif
44
Note: See TracBrowser for help on using the repository browser.