source: soft/giet_vm/libs/libsrl/srl_args.h @ 228

Last change on this file since 228 was 228, checked in by meunier, 12 years ago

Added support for memspaces and const.
Added an interrupt masking to the "giet_context_switch" syscall
Corrected two bugs in boot/boot_init.c (one minor and one regarding barriers initialization)
Reformatted the code in all files.

File size: 1.9 KB
Line 
1#ifndef SRL_ARGS_H
2#define SRL_ARGS_H
3
4
5
6#define SRL_GET_MWMR(port)      (srl_mwmr_t)     APP_GET_ARG(port, VOBJ_TYPE_MWMR)
7#define SRL_GET_BARRIER(port)   (srl_barrier_t)  APP_GET_ARG(port, VOBJ_TYPE_BARRIER)
8#define SRL_GET_LOCK(port)                       APP_GET_ARG(port, VOBJ_TYPE_LOCK)
9#define SRL_GET_CONST(port)                      APP_GET_ARG(port, VOBJ_TYPE_CONST)
10#define SRL_GET_MEMSPACE(port)  (srl_memspace_t) APP_GET_ARG(port, VOBJ_TYPE_MEMSPACE)
11
12
13# define SRL_GET_VBASE(task_name, port, type)                                                      \
14({                                                                                                 \
15    unsigned int  vbase;                                                                           \
16    if (giet_vobj_get_vbase(APP_NAME , alias_##task_name.port, type, &vbase))                      \
17    {                                                                                              \
18        srl_log_printf(NONE, "\n[ERROR] in "#task_name" task :\n");                                \
19        srl_log_printf(NONE, "          undefined port <"#port"> for channel \"%s\": %x\n",        \
20                                                                alias_##task_name.port, vbase);    \
21        srl_log_printf(TRACE, "*** &"#port" = %x\n\n", vbase);                                     \
22        srl_exit();                                                                                \
23    }                                                                                              \
24    else                                                                                           \
25        srl_log_printf(TRACE, "%s:%d: arg of %s for %s, from %s; &"#port" = %x\n\n",               \
26                            __FILE__, __LINE__, APP_NAME, #task_name, #port, vbase);               \
27    vbase;                                                                                         \
28})
29
30
31
32#endif
Note: See TracBrowser for help on using the repository browser.