Ignore:
Timestamp:
Feb 22, 2013, 4:03:48 PM (12 years ago)
Author:
meunier
Message:

Correction d'un bug lors du boot pour les alignements
Modification de l'appel SRL pour les CONST

File:
1 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/libs/libsrl/srl_args.h

    r228 r230  
    77#define SRL_GET_BARRIER(port)   (srl_barrier_t)  APP_GET_ARG(port, VOBJ_TYPE_BARRIER)
    88#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)
    109#define SRL_GET_MEMSPACE(port)  (srl_memspace_t) APP_GET_ARG(port, VOBJ_TYPE_MEMSPACE)
    1110
     
    1413({                                                                                                 \
    1514    unsigned int  vbase;                                                                           \
    16     if (giet_vobj_get_vbase(APP_NAME , alias_##task_name.port, type, &vbase))                      \
     15    if (giet_vobj_get_vbase(APP_NAME , args->port, type, &vbase))                                  \
    1716    {                                                                                              \
    1817        srl_log_printf(NONE, "\n[ERROR] in "#task_name" task :\n");                                \
    1918        srl_log_printf(NONE, "          undefined port <"#port"> for channel \"%s\": %x\n",        \
    20                                                                 alias_##task_name.port, vbase);    \
     19                                                                args->port, vbase);                \
    2120        srl_log_printf(TRACE, "*** &"#port" = %x\n\n", vbase);                                     \
    2221        srl_exit();                                                                                \
     
    2928
    3029
     30#define SRL_GET_CONST(port)                                                                        \
     31({                                                                                                 \
     32    unsigned int vbase;                                                                            \
     33    if (giet_vobj_get_vbase(APP_NAME, args->port, VOBJ_TYPE_CONST, &vbase)) {                      \
     34        srl_log_printf(NONE, "\n[ERROR] in some task :\n");                                        \
     35        srl_log_printf(NONE, "          undefined port <"#port"> for channel \"%s\": %x\n",        \
     36                                                                args->port, vbase);                \
     37        srl_log_printf(TRACE, "*** &"#port" = %x\n\n", vbase);                                     \
     38        srl_exit();                                                                                \
     39    }                                                                                              \
     40    else                                                                                           \
     41        srl_log_printf(TRACE, "%s:%d: arg of %s, from %s; &"#port" = %x\n\n",                      \
     42                            __FILE__, __LINE__, APP_NAME, #port, vbase);                           \
     43    *(int *) vbase;                                                                                \
     44})
     45
    3146
    3247#endif
Note: See TracChangeset for help on using the changeset viewer.