Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

SyslinkMemMgr.h File Reference


Detailed Description

Header file implementing Memory manager .

It is a wrapper implementation to support Shared memory allocation using heap address translations using shared region. or Tiler buffer allocation using tiler buffer manager and address translations.

Currently supports only shared Memory allocation using heap and shared region address translations.

02.00.00.68_beta1

============================================================================

Copyright (c) 2008-2009, Texas Instruments Incorporated

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

* Neither the name of Texas Instruments Incorporated nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Contact information for paper mail: Texas Instruments Post Office Box 655303 Dallas, Texas 75265 Contact information: http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm? DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact ============================================================================

Definition in file SyslinkMemMgr.h.

Go to the source code of this file.

Data Structures

struct  SyslinkMemMgr_CreateParams_tag
 Structure defining common create parameters for the Memory manager module.Should be the first element in implementation specific create params. More...
struct  SyslinkMemMgr_freeParams_tag

Defines

#define MEMMGR_MAX_NAME_LENGTH   32u
#define SyslinkMemMgr_Params   SyslinkMemMgr_CreateParams

Typedefs

typedef enum SyslinkMemMgr_Type_Type_tag SyslinkMemMgr_Type
 enum for denoting the different types of SyslinkMemMgr implementations.
typedef SyslinkMemMgr_CreateParams_tag SyslinkMemMgr_CreateParams
 Structure defining common create parameters for the Memory manager module.Should be the first element in implementation specific create params.
typedef SyslinkMemMgr_freeParams_tag SyslinkMemMgr_freeParams
typedef SyslinkMemMgr_Object SyslinkMemMgr_Object
 Forward declaration of structure defining object for the MemoryManger.
typedef SyslinkMemMgr_ObjectSyslinkMemMgr_Handle
 Handle for the MemoryManager instance.

Enumerations

enum  SyslinkMemMgr_AddrType { SyslinkMemMgr_AddrType_Virtual = 0u, SyslinkMemMgr_AddrType_Portable = 1u, SyslinkMemMgr_AddrType_EndValue = 2u }
 Enumerations to indicate address types used for translation. More...
enum  SyslinkMemMgr_Type_Type_tag { SyslinkMemMgr_TYPE_SHAREDMEM = 0x0, SyslinkMemMgr_TYPE_TILERMEM = 0x1 }
 enum for denoting the different types of SyslinkMemMgr implementations. More...

Functions

Int32 SyslinkMemMgr_setup (Void)
Int32 SyslinkMemMgr_destroy (Void)
SyslinkMemMgr_Handle SyslinkMemMgr_create (Ptr params)
Int32 SyslinkMemMgr_delete (SyslinkMemMgr_Handle *pHandle)
Ptr SyslinkMemMgr_alloc (SyslinkMemMgr_Handle handle, UInt32 size, UInt32 align)
Int32 SyslinkMemMgr_free (SyslinkMemMgr_Handle handle, Ptr ptr, UInt32 size)
Ptr SyslinkMemMgr_map (SyslinkMemMgr_Handle handle, Ptr arg)
Int32 SyslinkMemMgr_unmap (SyslinkMemMgr_Handle handle, Ptr arg)
Ptr SyslinkMemMgr_translate (SyslinkMemMgr_Handle handle, Ptr srcAddr, SyslinkMemMgr_AddrType srcAddrType, SyslinkMemMgr_AddrType desAddrType)
Ptr SyslinkMemMgr_getKnlHandle (SyslinkMemMgr_Handle handle)


Define Documentation

#define MEMMGR_MAX_NAME_LENGTH   32u
 

Definition at line 65 of file SyslinkMemMgr.h.

#define SyslinkMemMgr_Params   SyslinkMemMgr_CreateParams
 

Definition at line 110 of file SyslinkMemMgr.h.


Typedef Documentation

typedef struct SyslinkMemMgr_CreateParams_tag SyslinkMemMgr_CreateParams
 

Structure defining common create parameters for the Memory manager module.Should be the first element in implementation specific create params.

typedef struct SyslinkMemMgr_freeParams_tag SyslinkMemMgr_freeParams
 

typedef struct SyslinkMemMgr_Object* SyslinkMemMgr_Handle
 

Handle for the MemoryManager instance.

Definition at line 125 of file SyslinkMemMgr.h.

typedef struct SyslinkMemMgr_Object SyslinkMemMgr_Object
 

Forward declaration of structure defining object for the MemoryManger.

Definition at line 120 of file SyslinkMemMgr.h.

typedef enum SyslinkMemMgr_Type_Type_tag SyslinkMemMgr_Type
 

enum for denoting the different types of SyslinkMemMgr implementations.


Enumeration Type Documentation

enum SyslinkMemMgr_AddrType
 

Enumerations to indicate address types used for translation.

Enumerator:
SyslinkMemMgr_AddrType_Virtual  Virtual address on calling process on DSP where MMU is not configured it could be physical address.
SyslinkMemMgr_AddrType_Portable  This is the shared region address incase sharedmemory manager plugged in to frameQbufMgr. In case of tiler it could be the tiler specific portable address
SyslinkMemMgr_AddrType_EndValue  End delimiter indicating start of invalid values for this enum

Definition at line 74 of file SyslinkMemMgr.h.

00074              {
00075     SyslinkMemMgr_AddrType_Virtual = 0u,
00076     /*!< Virtual address on calling process on DSP where MMU is not configured
00077      *   it could be physical address.
00078      */
00079     SyslinkMemMgr_AddrType_Portable = 1u,
00080     /*!< This is the shared region address incase sharedmemory manager plugged
00081      *in to  frameQbufMgr. In case of tiler it could be the tiler specific
00082      *portable address*/
00083     SyslinkMemMgr_AddrType_EndValue = 2u
00084     /*!< End delimiter indicating start of invalid values for this enum */
00085 } SyslinkMemMgr_AddrType;

enum SyslinkMemMgr_Type_Type_tag
 

enum for denoting the different types of SyslinkMemMgr implementations.

Enumerator:
SyslinkMemMgr_TYPE_SHAREDMEM 
SyslinkMemMgr_TYPE_TILERMEM 

Definition at line 90 of file SyslinkMemMgr.h.


Function Documentation

Ptr SyslinkMemMgr_alloc SyslinkMemMgr_Handle  handle,
UInt32  size,
UInt32  align
 

SyslinkMemMgr_Handle SyslinkMemMgr_create Ptr  params  ) 
 

Int32 SyslinkMemMgr_delete SyslinkMemMgr_Handle pHandle  ) 
 

Int32 SyslinkMemMgr_destroy Void   ) 
 

Int32 SyslinkMemMgr_free SyslinkMemMgr_Handle  handle,
Ptr  ptr,
UInt32  size
 

Ptr SyslinkMemMgr_getKnlHandle SyslinkMemMgr_Handle  handle  ) 
 

Ptr SyslinkMemMgr_map SyslinkMemMgr_Handle  handle,
Ptr  arg
 

Int32 SyslinkMemMgr_setup Void   ) 
 

Ptr SyslinkMemMgr_translate SyslinkMemMgr_Handle  handle,
Ptr  srcAddr,
SyslinkMemMgr_AddrType  srcAddrType,
SyslinkMemMgr_AddrType  desAddrType
 

Int32 SyslinkMemMgr_unmap SyslinkMemMgr_Handle  handle,
Ptr  arg
 


Generated on Mon Mar 14 11:59:48 2011 for Syslink by  doxygen 1.4.4