1c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* 2c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Copyright (c) 2010, Texas Instruments Incorporated 3c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * All rights reserved. 4c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 5c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Redistribution and use in source and binary forms, with or without 6c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * modification, are permitted provided that the following conditions 7c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * are met: 8c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 9c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * * Redistributions of source code must retain the above copyright 10c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * notice, this list of conditions and the following disclaimer. 11c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 12c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * * Redistributions in binary form must reproduce the above copyright 13c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * notice, this list of conditions and the following disclaimer in the 14c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * documentation and/or other materials provided with the distribution. 15c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 16c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * * Neither the name of Texas Instruments Incorporated nor the names of 17c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * its contributors may be used to endorse or promote products derived 18c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * from this software without specific prior written permission. 19c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 20c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 22c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 27c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 28c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 29c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 30c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 32c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 33c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* 34c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @file timm_osal_memory.c 35c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* This file contains methods that provides the functionality 36c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* for allocating/deallocating memory. 37c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* 38c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @path \ 39c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* 40c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 41c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* -------------------------------------------------------------------------- */ 42c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================= 43c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *! 44c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *! Revision History 45c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *! =================================== 46c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *!23-Oct-2008 Maiya ShreeHarsha: Linux specific changes 47c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *!0.1: Created the first draft version, ksrini@ti.com 48c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * ========================================================================= */ 49c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 50c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/****************************************************************************** 51c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* Includes 52c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev******************************************************************************/ 53c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 54c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#include <string.h> 55c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#include <malloc.h> 56c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 57c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#ifdef __KERNEL__ 58c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#include <linux/types.h> 59c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#else 60c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#include <stdint.h> 61c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#endif 62c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 63c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 64c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#include "timm_osal_types.h" 65c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#include "timm_osal_trace.h" 66c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#include "timm_osal_error.h" 67c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#include "timm_osal_memory.h" 68c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 69c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 70c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 71c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevstatic TIMM_OSAL_U32 gMallocCounter = 0; 72c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 73c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/****************************************************************************** 74c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* Function Prototypes 75c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev******************************************************************************/ 76c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 77c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 78c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 79c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @fn TIMM_OSAL_createMemoryPool function 80c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* 81c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @see 82c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 83c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 84c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevTIMM_OSAL_ERRORTYPE TIMM_OSAL_CreateMemoryPool(void) 85c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev{ 86c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev TIMM_OSAL_ERRORTYPE bReturnStatus = TIMM_OSAL_ERR_NONE; 87c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev return bReturnStatus; 88c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} 89c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 90c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 91c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 92c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 93c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 94c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @fn TIMM_OSAL_DeleteMemoryPool function 95c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* 96c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @see 97c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 98c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 99c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 100c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevTIMM_OSAL_ERRORTYPE TIMM_OSAL_DeleteMemoryPool(void) 101c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev{ 102c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev TIMM_OSAL_ERRORTYPE bReturnStatus = TIMM_OSAL_ERR_NONE; 103c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev return bReturnStatus; 104c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 105c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} 106c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 107c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 108c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 109c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 110c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 111c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @fn TIMM_OSAL_Malloc function 112c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* 113c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @see 114c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 115c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 116c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevTIMM_OSAL_PTR TIMM_OSAL_Malloc(TIMM_OSAL_U32 size, 117c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev TIMM_OSAL_BOOL bBlockContiguous, 118c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev TIMM_OSAL_U32 unBlockAlignment, TIMMOSAL_MEM_SEGMENTID tMemSegId) 119c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev{ 120c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 121c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev TIMM_OSAL_PTR pData = TIMM_OSAL_NULL; 122c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 123c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#ifdef HAVE_MEMALIGN 124c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev if (0 == unBlockAlignment) 125c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { 126c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev pData = malloc((size_t) size); 127c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev } else 128c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { 129c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev pData = memalign((size_t) unBlockAlignment, (size_t) size); 130c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev } 131c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#else 132c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev if (0 != unBlockAlignment) 133c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { 134c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev TIMM_OSAL_Warning 135c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev ("Memory Allocation:Not done for specified nBufferAlignment. Alignment of 0 will be used"); 136c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 137c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev } 138c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev pData = malloc((size_t) size); /*size_t is long long */ 139c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#endif 140c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev if (TIMM_OSAL_NULL == pData) 141c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { 142c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev TIMM_OSAL_Error("Malloc failed!!!"); 143c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev } else 144c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { 145c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev /* Memory Allocation was successfull */ 146c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev gMallocCounter++; 147c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev } 148c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 149c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 150c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev return pData; 151c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} 152c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 153c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 154c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 155c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @fn TIMM_OSAL_Free function .... 156c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* 157c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @see 158c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 159c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 160c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 161c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevvoid TIMM_OSAL_Free(TIMM_OSAL_PTR pData) 162c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev{ 163c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev if (TIMM_OSAL_NULL == pData) 164c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { 165c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev /*TIMM_OSAL_Warning("TIMM_OSAL_Free called on NULL pointer"); */ 166c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev goto EXIT; 167c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev } 168c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 169c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev free(pData); 170c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev pData = NULL; 171c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev gMallocCounter--; 172c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev EXIT: 173c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev return; 174c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} 175c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 176c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 177c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 178c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @fn TIMM_OSAL_Memset function .... 179c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* 180c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @see 181c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 182c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 183c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 184c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevTIMM_OSAL_ERRORTYPE TIMM_OSAL_Memset(TIMM_OSAL_PTR pBuffer, 185c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev TIMM_OSAL_U8 uValue, TIMM_OSAL_U32 uSize) 186c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev{ 187c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev TIMM_OSAL_ERRORTYPE bReturnStatus = TIMM_OSAL_ERR_UNKNOWN; 188c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 189c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev memset((void *)pBuffer, (int)uValue, (size_t) uSize); 190c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev bReturnStatus = TIMM_OSAL_ERR_NONE; 191c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 192c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev return bReturnStatus; 193c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} 194c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 195c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 196c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 197c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @fn TIMM_OSAL_Memcmp function .... 198c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* 199c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @see 200c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 201c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 202c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 203c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevTIMM_OSAL_S32 TIMM_OSAL_Memcmp(TIMM_OSAL_PTR pBuffer1, TIMM_OSAL_PTR pBuffer2, 204c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev TIMM_OSAL_U32 uSize) 205c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev{ 206c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev TIMM_OSAL_S32 result = memcmp(pBuffer1, pBuffer2, uSize); 207c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 208c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev if (result > 0) 209c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { 210c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev return 1; 211c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev } else if (result < 0) 212c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { 213c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev return -1; 214c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev } 215c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 216c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev return 0; 217c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} 218c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 219c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 220c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 221c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @fn TIMM_OSAL_Memcpy function .... 222c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* 223c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @see 224c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 225c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 226c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 227c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevTIMM_OSAL_ERRORTYPE TIMM_OSAL_Memcpy(TIMM_OSAL_PTR pBufDst, 228c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev TIMM_OSAL_PTR pBufSrc, TIMM_OSAL_U32 uSize) 229c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev{ 230c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev TIMM_OSAL_ERRORTYPE bReturnStatus = TIMM_OSAL_ERR_UNKNOWN; 231c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 232c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev memcpy(pBufDst, pBufSrc, uSize); 233c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev bReturnStatus = TIMM_OSAL_ERR_NONE; 234c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 235c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev return bReturnStatus; 236c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} 237c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 238c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 239c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 240c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @fn TIMM_OSAL_GetMemCounter function .... 241c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* 242c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @see 243c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 244c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================== */ 245c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 246c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevTIMM_OSAL_U32 TIMM_OSAL_GetMemCounter(void) 247c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev{ 248c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 249c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev return gMallocCounter; 250c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} 251