Changeset 175 for soft/giet_vm/libs


Ignore:
Timestamp:
Jul 21, 2012, 10:20:47 AM (12 years ago)
Author:
karaoui
Message:

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

Location:
soft/giet_vm/libs
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/libs/common.c

    r160 r175  
    1 
    2 ////////////////////////////////////////////////////////////////////////////////////////
    3 //  mempcy()
    4 // GCC requires this function. Taken from MutekH.
    5 ////////////////////////////////////////////////////////////////////////////////////////
     1/////////////////////////////////////////////////////////////
    62void *memcpy(void *_dst, const void *_src, unsigned int size)
    73{
     
    2319}
    2420
    25 ////////////////////////////////////////////////////////////////////////////////////////
    26 //  mempcy()
    27 // GCC requires this function. Taken from MutekH.
    28 ////////////////////////////////////////////////////////////////////////////////////////
     21//////////////////////////////////////////////////////////
    2922inline void * memset(void *dst, int s, unsigned int count)
    3023{
  • soft/giet_vm/libs/libsrl/srl_hw_helpers.h

    r160 r175  
    6363 */
    6464
    65 
     65//static: to avoid multiple definition error
    6666static inline unsigned int srl_cycle_count()
    6767{
    68         return proctime();
     68        return giet_proctime();
    6969}
    7070
     
    7979}
    8080
     81/**
     82 *
     83 */
     84static inline void srl_exit()
     85{
     86    giet_exit();
     87}
     88
    8189#endif
  • soft/giet_vm/libs/libsrl/srl_log.h

    r160 r175  
    4848#define srl_log( l, c ) do {                                                                               \
    4949                if (GET_VERB(l) <= GET_VERB(CONFIG_SRL_VERBOSITY)) {               \
    50             tty_printf(c);                                             \
     50            giet_tty_printf(c);                                             \
    5151                }                                                                                                                          \
    5252        } while (0)
     
    6060#define srl_log_printf( l, ... ) do {                                   \
    6161                if (GET_VERB(l) <= GET_VERB(CONFIG_SRL_VERBOSITY)) {                \
    62             tty_printf(__VA_ARGS__);                                    \
     62            giet_tty_printf(__VA_ARGS__);                                    \
    6363                }                                                                                                                           \
    6464        } while (0)
  • soft/giet_vm/libs/libsrl/srl_mwmr.h

    r160 r175  
    22#define SRL_MWMR_H_
    33
    4 #include "mwmr.h"
     4#include "mwmr_channel.h"
    55
    6 #define  srl_mwmr_t mwmr_channel_t*
     6typedef  mwmr_channel_t* srl_mwmr_t;
    77
    88#define srl_mwmr_write mwmr_write
  • soft/giet_vm/libs/mwmr_channel.c

    r165 r175  
    3333#include <mwmr_channel.h>
    3434#include <stdio.h>
     35#include <common.h>
    3536
    3637//////////////////////////////////////////////////////////////////////////////
     
    8586    unsigned int    ptw;        // channel ptw
    8687
     88    if(nitems == 0)
     89        return;
     90
     91    assert(buffer && "mwmr write: Empty buffer");
     92
    8793    while(1)
    8894    {
     
    118124        else    // write as many items as possible, release lock and retry after delay
    119125        {
    120             nwords = (spaces/width) * width;  // integer nmber of items
     126            nwords = (spaces/width) * width;  // integer number of items
    121127            for ( x = 0 ; x < nwords ; x++ ) 
    122128            {
     
    157163    unsigned int    ptr;        // channel ptw
    158164
     165    if(nitems == 0)
     166        return;
     167
     168    assert(buffer && "mwmr read: Empty buffer");
     169
    159170    while(1)
    160171    {
  • soft/giet_vm/libs/srl.h

    r160 r175  
    2222//#include "libsrl/srl_mwmr_sys.h"
    2323
    24 /* port, APP_NAME, TASK */
    25 # define GET_MWMR(port)                                                                       \
     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)                                                                       \
    2627({                                                                                            \
    27     srl_mwmr_t  _mwmr;                                                                      \
    28     if( vobj_get_vbase( APP_NAME , #port, MWMR, (unsigned int*)&_mwmr ) )                   \
     28    srl_mwmr_t  _mwmr;                                                                      \
     29    if( giet_vobj_get_vbase( APP_NAME , alias_##task_name.port, type, (unsigned int*)&_mwmr ) )                   \
    2930    {                                                                                         \
    30         srl_log_printf( NONE, "\n[ERROR] in "TASK" task :\n");                              \
    31         srl_log_printf( NONE, "          undefined <"#port"> channel: %d\n", _mwmr);           \
     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);           \
    3233        srl_log_printf( TRACE, "*** &"#port" = %x\n\n", (unsigned int)_mwmr );                 \
    33         exit();/*srl?*/                                                                     \
     34        srl_exit();                                                                     \
    3435    }else                                                                                         \
    35         srl_log_printf( TRACE, "%s:%d: arg of %s for %s,from %s; &"#port" = %x\n\n", __FILE__, __LINE__, APP_NAME, TASK,#port, (unsigned int)_mwmr ); \
     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 ); \
    3637    _mwmr;\
    3738})
    3839
     40
     41
     42
    3943#endif
    4044
Note: See TracChangeset for help on using the changeset viewer.