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