Ejemplo n.º 1
0
/** 
********************************************************************************
*  @fn     _ALG_allocMemory(IALG_MemRec memTab[], Int n)
*
*  @brief  This function allocates the specified number of memory blocks with
*          alignment.
*
*  @param[in]  memTab   :  Array containing the base address
*
*  @param[in]  n        : Number of Memory instance to be freed
*          
*  @return    TRUE if allocated else FALSE
********************************************************************************
*/
Bool _ALG_allocMemory(IALG_MemRec memTab[], Int n)
{
  Int idx;
  
  for (idx = 0; idx < n; idx++) 
  {
    memTab[idx].base = (void *)myMemalign(memTab[idx].alignment, 
    memTab[idx].size);

    if (memTab[idx].base == NULL) 
    {
      _ALG_freeMemory(memTab, idx);
      return (FALSE);
    }
    else
    {
      if (0 == idx)
      {
          /* As per xdaised standard, memTab[0] is guaranteed to be
           * initialized to zero.
           */
          memset(memTab[idx].base,0,memTab[idx].size);

      }
    }
    
  }

  return (TRUE);
}
Ejemplo n.º 2
0
/** 
********************************************************************************
*  @fn     _ALG_allocMemory(IALG_MemRec memTab[], Int n)
*
*  @brief  This function allocates the specified number of memory blocks with
*          alignment.
*
*  @param[in]  memTab   :  Array containing the base address
*
*  @param[in]  n        : Number of Memory instance to be freed
*          
*  @return    TRUE if allocated else FALSE
********************************************************************************
*/
Bool _ALG_allocMemory(IALG_MemRec memTab[], Int n)
{
  Int idx;
  
  for (idx = 0; idx < n; idx++) 
  {
    memTab[idx].base = (void *)myMemalign(memTab[idx].alignment, 
    memTab[idx].size);

    if (memTab[idx].base == NULL) 
    {
      _ALG_freeMemory(memTab, idx);
      return (FALSE);
    }
    else
    {
      /* Nothing to execute*/
    }
    
  }

  return (TRUE);
}
Ejemplo n.º 3
0
/*
 *  ======== _ALG_allocMemory ========
 */
Bool _ALG1_allocMemory(IALG_MemRec memTab[], Int n)
{
    Int i;

    for (i = 0; i < n; i++) {
#ifdef ON_LINUX

        memTab[i].base = (void *)CMEM_alloc( memTab[i].size, &memParams);
#else
        memTab[i].base = (void *)myMemalign(memTab[i].alignment, memTab[i].size);
#endif
        if (memTab[i].base == NULL) {
            _ALG_freeMemory(memTab, i);
            return (FALSE);
        }
        /*------------------------------------------------------------------*/
        /* Recommended to work with out memset 0.                           */
        /*------------------------------------------------------------------*/
        //memset(memTab[i].base, 0, memTab[i].size);
    }

    return (TRUE);
}