const FrameQBufMgr_ShMem_DYNAMIC_CREATE |
 |
Type of creation
#define FrameQBufMgr_ShMem_DYNAMIC_CREATE (UInt32)0x4
const FrameQBufMgr_ShMem_DYNAMIC_CREATE_USEDREGION |
 |
Type of creation
#define FrameQBufMgr_ShMem_DYNAMIC_CREATE_USEDREGION (UInt32)0x8
const FrameQBufMgr_ShMem_DYNAMIC_FRAME |
 |
Denotes Frame belongs to dynamic frame grougp that are added dynamically at runtime
#define FrameQBufMgr_ShMem_DYNAMIC_FRAME (UInt8)2
const FrameQBufMgr_ShMem_DYNAMIC_OPEN |
 |
Type of open
#define FrameQBufMgr_ShMem_DYNAMIC_OPEN (UInt32)0x20
const FrameQBufMgr_ShMem_FRAMEBUF_CPUACCESSFLAGS_BITOFFSET |
 |
#define FrameQBufMgr_ShMem_FRAMEBUF_CPUACCESSFLAGS_BITOFFSET (UInt32)16
const FrameQBufMgr_ShMem_INVALID |
 |
Type of open
#define FrameQBufMgr_ShMem_INVALID (UInt32)0xFF
const FrameQBufMgr_ShMem_MAX_FRAMEBUFS |
 |
Maximum number of frame buffers in a frame managed by in
FrameQBufMgr instance
#define FrameQBufMgr_ShMem_MAX_FRAMEBUFS (UInt32)8
const FrameQBufMgr_ShMem_MAX_POOLS |
 |
Maximum number of Free Frame pools pools managed by FrameQBufMgr
instance
#define FrameQBufMgr_ShMem_MAX_POOLS (UInt32)64
const FrameQBufMgr_ShMem_POOL_DYNAMIC_MAXFRAMES |
 |
Maximum number of dynbuffers managed by each buffer pool in
FrameQBufMgr instance
#define FrameQBufMgr_ShMem_POOL_DYNAMIC_MAXFRAMES (UInt32)1
const FrameQBufMgr_ShMem_POOL_DYNAMIC_MAXHDRS |
 |
Maximum number of additional dynamic free headers managed by FrameQBufMgr
instance for each Free Frame pool
#define FrameQBufMgr_ShMem_POOL_DYNAMIC_MAXHDRS (UInt32)1
const FrameQBufMgr_ShMem_POOL_MAXFRAMES |
 |
Maximum number of static free Frames managed by FrameQBufMgr
instance for a Free Frame pool
#define FrameQBufMgr_ShMem_POOL_MAXFRAMES (UInt32)32
const FrameQBufMgr_ShMem_POOL_MAXHDRS |
 |
Maximum number of additional static free headers managed by FrameQBufMgr
instance for each Free Frame pool
#define FrameQBufMgr_ShMem_POOL_MAXHDRS (UInt32)64
const FrameQBufMgr_ShMem_STATIC_CREATE |
 |
Type of creation
#define FrameQBufMgr_ShMem_STATIC_CREATE (UInt32)0x1
const FrameQBufMgr_ShMem_STATIC_CREATE_USEDREGION |
 |
Type of creation
#define FrameQBufMgr_ShMem_STATIC_CREATE_USEDREGION (UInt32)0x2
const FrameQBufMgr_ShMem_STATIC_FRAME |
 |
Denotes Frame belongs to static frames that are populated at create time of the instance
#define FrameQBufMgr_ShMem_STATIC_FRAME (UInt8)1
const FrameQBufMgr_ShMem_STATIC_OPEN |
 |
Type of open
#define FrameQBufMgr_ShMem_STATIC_OPEN (UInt32)0x10
const FrameQBufMgr_ShMem_VERSION |
 |
#define FrameQBufMgr_ShMem_VERSION (UInt32)1
enum FrameQBufMgr_ShMem_AddrType |
 |
Enumerations to indicate address types used for translation
typedef enum FrameQBufMgr_ShMem_AddrType {
FrameQBufMgr_ShMem_AddrType_Virtual,
FrameQBufMgr_ShMem_AddrType_Portable,
FrameQBufMgr_ShMem_AddrType_EndValue
} FrameQBufMgr_ShMem_AddrType;
VALUES
AddrType_Virtual
Virtual address on calling process on DSP where
MMU is not configured it could be the physical
address.
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
AddrType_EndValue
End delimiter indicating start of invalid
values for this enum
enum FrameQBufMgr_ShMem_BufType |
 |
Enumerations to indicate address types used for translation
typedef enum FrameQBufMgr_ShMem_BufType {
FrameQBufMgr_ShMem_BUF_FRAMEHEADER,
FrameQBufMgr_ShMem_BUF_FRAMEBUF,
FrameQBufMgr_ShMem_BUF_ENDVALUE
} FrameQBufMgr_ShMem_BufType;
VALUES
BUF_FRAMEHEADER
Denotes buffer is of type used for frame headers.
BUF_FRAMEBUF
Denotes buffer is of type used for frame buffers
AddrType_EndValue
End delimiter indicating start of invalid
values for this enum
enum FrameQBufMgr_ShMem_CpuAccessFlags |
 |
Enumeration of CPU access flags for frame buffers. For frame headers CPUACCESS is assumed to be TRUE
typedef enum FrameQBufMgr_ShMem_CpuAccessFlags {
FrameQBufMgr_ShMem_FRAMEBUF0_CPUACCESS,
FrameQBufMgr_ShMem_FRAMEBUF1_CPUACCESS,
FrameQBufMgr_ShMem_FRAMEBUF2_CPUACCESS,
FrameQBufMgr_ShMem_FRAMEBUF3_CPUACCESS,
FrameQBufMgr_ShMem_FRAMEBUF4_CPUACCESS,
FrameQBufMgr_ShMem_FRAMEBUF5_CPUACCESS,
FrameQBufMgr_ShMem_FRAMEBUF6_CPUACCESS,
FrameQBufMgr_ShMem_FRAMEBUF7_CPUACCESS
} FrameQBufMgr_ShMem_CpuAccessFlags;
VALUES
FRAMEBUF0_CPUACCESS
If specified first frame buffer is accessed through CPU(direct memory access).
FRAMEBUF1_CPUACCESS
If specified second frame buffer is accessed through CPU(direct memory access).
FRAMEBUF2_CPUACCESS
If specified third frame buffer is accessed through CPU(direct memory access).
FRAMEBUF3_CPUACCESS
If specified fourth frame buffer is accessed through CPU(direct memory access).
FRAMEBUF4_CPUACCESS
If specified fifth frame buffer is accessed through CPU(direct memory access).
FRAMEBUF5_CPUACCESS
If specified sixth frame buffer is accessed through CPU(direct memory access).
FRAMEBUF6_CPUACCESS
If specified seventh frame buffer is accessed through CPU(direct memory access).
FRAMEBUF7_CPUACCESS
If specified eigth frame buffer is accessed through CPU(direct memory access).
enum FrameQBufMgr_ShMem_Interface |
 |
Enumeration of FrameQBufMgr interface types.Denotes different implementation types
typedef enum FrameQBufMgr_ShMem_Interface {
FrameQBufMgr_ShMem_INTERFACE_SHAREDMEM,
FrameQBufMgr_ShMem_INTERFACE_TILERMEM,
FrameQBufMgr_ShMem_INTERFACE_NONE
} FrameQBufMgr_ShMem_Interface;
VALUES
INTERFACE_SHAREDMEM
FrameQNufMgr implementation (FrameQBufMgr_ShMem Implementation) on shared memory.
typedef FrameQBufMgr_ShMem_Frame |
 |
typedef FrameQBufMgr_ShMem_NotifyFunc |
 |
Prototype of the FrameQbufMgr call back function
typedef FrameQBufMgr_ShMem_Status |
 |
type used for API return code
typedef UInt32 FrameQBufMgr_ShMem_Status;
struct FrameQBufMgr_ShMem_Attrs |
 |
Shared control strucrue for the instance attributes
typedef struct FrameQBufMgr_ShMem_Attrs {
UInt32 status;
UInt32 version;
UInt32 localProtect;
UInt32 remoteProtect;
Ptr gateMPAddr;
Ptr sharedDataBufAddr;
UInt32 sharedAddrSize;
UInt32 numFreeFramePools;
UInt32 numNotifyEntries;
UInt16 entryId;
} FrameQBufMgr_ShMem_Attrs;
FIELDS
status
Flag denoting whether instance is created or not.
version
Version of the instance.
gateMPAddr
GateMP address (shm safe)
name
Name of the instance.
sharedDataBufAddr
Holds Data buffer start address provided at instance crate time.
sharedAddrSize
The size of the data buffer.
FILED
Number of free frame pools maintained by this instance.
Unique id of the instance in the system. Combination of
creator procId and instance no on that processor.
struct FrameQBufMgr_ShMem_CommonOpenParams |
 |
Common paramters requiredto open a FrameQBufMgr instance of any implementation
typedef struct FrameQBufMgr_ShMem_CommonOpenParams {
String name;
UInt32 cpuAccessFlags;
Ptr sharedAddr;
} FrameQBufMgr_ShMem_CommonOpenParams;
FIELDS
name
Name of the instance to open.
(cacheFlags) Cache flags to perform cache operations .
sharedAddr
Shared addr in case open by address is required.
gate
gate for protection.
struct FrameQBufMgr_ShMem_Config |
 |
mouduleconfig structure
typedef struct FrameQBufMgr_ShMem_Config {
UInt32 eventNo;
Bool useNameServer;
Bool maxInstances;
} FrameQBufMgr_ShMem_Config;
FIELDS
sharedAddr
Shared region address for module initialization.
sharedAddrSize
Size of the shared region .
(cacheFlags) Cache flags to perform cache operations on module wide shared control structure.
eventNo
The event number used for notification.
name
Name for the module.
shCtrlOpenFlag
Boolean flag if set to FALSE, populate the shared control info
required between processors for this module. If it set to TRUE,
module initialize call opens the shared control info.Ideally master processor
set this flag to FALSE to crate the shared control info.
struct FrameQBufMgr_ShMem_ControlStruct |
 |
Shared control structure for the FrameQBufMgr instance
typedef struct FrameQBufMgr_ShMem_ControlStruct {
} FrameQBufMgr_ShMem_ControlStruct;
FIELDS
attrs
Shared control info of type Attrs.
struct FrameQBufMgr_ShMem_CreateParams |
 |
Structure defining common instance parameters for the FrameQ
module.Should be the first element in the create params strcture of
the actual implementation
typedef struct FrameQBufMgr_ShMem_CreateParams {
UInt32 size;
String name;
Bool openFlag;
} FrameQBufMgr_ShMem_CreateParams;
FIELDS
size
Size of the Create params structure(Should be the size of the actual
implementation's Create params structure in which this FrameQ_CreateParams is the
first element.
interface
type of implementation. See Interface.
name
Name of the instance.
openFlag
Denotes whether create should actually create/open instance.
struct FrameQBufMgr_ShMem_FrameBufInfo |
 |
Structure of the framebuffer info in frame
typedef struct FrameQBufMgr_ShMem_FrameBufInfo {
UInt32 bufPtr;
UInt32 bufSize;
UInt32 startOffset;
UInt32 validSize;
UInt32 pixelFormat;
UInt32 height;
UInt32 width;
UInt32 stride;
} FrameQBufMgr_ShMem_FrameBufInfo;
FIELDS
bufPtr
Pointer to the frame buffer.
bufSize
Size of the buffer.
startOffSet
Start offset in the buffer from where valid data starts.
validSize
Valid size in the buffer from the zeroth offset in the frame buffer.
height
Pointer to the frame buffer.
width
Size of the buffer.
stride
Multiple of page size and needs to be added to Tile
start address in order to get the address starting on
next row in same tile.
struct FrameQBufMgr_ShMem_FrameBufParams |
 |
Structure defining common frame buf params for tiled as well as non tiled buffers
typedef struct FrameQBufMgr_ShMem_FrameBufParams {
UInt32 size;
UInt32 pixelFormat;
UInt32 height;
UInt32 width;
UInt32 align;
} FrameQBufMgr_ShMem_FrameBufParams;
FIELDS
size
size for non tiled buffer.
Structure defining parameters for the Tiled data buffers
pixelFormat
pixel format for tiled buffer.
height
height .
width
width .
stride
stride of container, must be multiple of page size.
align
Alignment of the buffer .
struct FrameQBufMgr_ShMem_FrameHeader |
 |
Structure of the base frame header. FrameQ maintains list of frames to be
retrieved by FrameQ reader client. Application is expected to use Helper
API to extract fileds and exteneded header pointer
typedef struct FrameQBufMgr_ShMem_FrameHeader {
UInt32 reserved0;
UInt32 reserved1;
UInt16 baseHeaderSize;
UInt16 headerSize;
UInt32 frmAllocaterId;
UInt32 frameBufType;
UInt8 freeFrmQueueNo;
UInt8 numFrameBuffers;
} FrameQBufMgr_ShMem_FrameHeader;
FIELDS
baseHeaderSize
Size of the base frame header.
headerSize
Size of the frame header(total size of base header
and extended header).
frmAllocaterId
Denotes the FrameQBufMgr Id from which frame is allocated.
freeFrmQueueNo
Free quque No from which frame is allocated in FrameQBufMgr.
numFrameBuffers
Number of framebuffers in a frame.
struct FrameQBufMgr_ShMem_FreeFramePoolObj |
 |
Free Frame pool structure to keep track of the free frames in a frame pool
typedef struct FrameQBufMgr_ShMem_FreeFramePoolObj {
UInt32 numFrms;
UInt32 freeFrms;
UInt32 numFrmHdrBufs;
UInt32 freeFrmHdrBufs;
UInt32 frmHdrBufSize;
UInt32 numBufsInFrame;
UInt32 numDynamicHdrBufs;
UInt32 freeDynamicHdrBufs;
UInt32 numDynamicFrames;
UInt32 freeDynamicFrames;
UInt32 frmStartAddrp;
UInt32 frmEndAddrp;
UInt32 hdrBufStartAddrp;
UInt32 hdrBufEndAddrp;
UInt32 frmBufsStartAddrp;
UInt32 frmBufsEndAddrp;
} FrameQBufMgr_ShMem_FreeFramePoolObj;
struct FrameQBufMgr_ShMem_NotifyParams |
 |
Structure defining notification parameter structure
typedef struct FrameQBufMgr_ShMem_NotifyParams {
UInt32 watermark;
Ptr cbContext;
Ptr cbClientHandle;
} FrameQBufMgr_ShMem_NotifyParams;
FIELDS
watermark
Minumum number of free frames required to generate
notification Same water mark for all the individual
freeFramePools in the set.
cbFxnPtr
Cacll back function.
cbContext
Context pointer that needs to be passed to call back
function.
cbClientHandle
Handle that needs to be passed as first arg to
call back.Ideally this should be callers client
handle.
struct FrameQBufMgr_ShMem_OpenParams |
 |
mouduleconfig structure
typedef struct FrameQBufMgr_ShMem_OpenParams {
} FrameQBufMgr_ShMem_OpenParams;
FIELDS
commonOpenParams
Open params common to all the implementations.
see CommonOpenParams
config FrameQBufMgr_ShMem_A_InvalidCreatorProcId // module-wide |
 |
Assert raised when creator processor id of the instance is not valid
extern const Assert_Id FrameQBufMgr_ShMem_A_InvalidCreatorProcId;
config FrameQBufMgr_ShMem_A_InvalidInstNo // module-wide |
 |
Assert raised when Inst No of the instance is not valid
extern const Assert_Id FrameQBufMgr_ShMem_A_InvalidInstNo;
config FrameQBufMgr_ShMem_A_invalidFree // module-wide |
 |
Error raised when invalid FrameQ_free is called
extern const Assert_Id FrameQBufMgr_ShMem_A_invalidFree;
config FrameQBufMgr_ShMem_A_invalidParams // module-wide |
 |
Assert raised when an invalid parameter(s) is passed into a function
extern const Assert_Id FrameQBufMgr_ShMem_A_invalidParams;
config FrameQBufMgr_ShMem_A_invalid_MemMgrType // module-wide |
 |
Assert raised when invalid MemMgr type specified
extern const Assert_Id FrameQBufMgr_ShMem_A_invalid_MemMgrType;
config FrameQBufMgr_ShMem_A_localProtection // module-wide |
 |
Assert raised when local protection provided is not sufficient for
ClientNotifyMgr
extern const Assert_Id FrameQBufMgr_ShMem_A_localProtection;
config FrameQBufMgr_ShMem_A_nullHandle // module-wide |
 |
Assert raised when null handle is returned from modules
extern const Assert_Id FrameQBufMgr_ShMem_A_nullHandle;
config FrameQBufMgr_ShMem_A_nullPointer // module-wide |
 |
Assert raised when a null pointer needs to be dereferenced
extern const Assert_Id FrameQBufMgr_ShMem_A_nullPointer;
config FrameQBufMgr_ShMem_Attrs_STRUCT_PADDING // module-wide |
 |
Padding required for the Attrs structure
extern const UInt32 FrameQBufMgr_ShMem_Attrs_STRUCT_PADDING;
config FrameQBufMgr_ShMem_CACHE_LINESIZE // module-wide |
 |
Cache line size
extern const UInt32 FrameQBufMgr_ShMem_CACHE_LINESIZE;
config FrameQBufMgr_ShMem_E_CacheAlign // module-wide |
 |
Error raised when buffersize is not aligned to Cache line size
extern const Error_Id FrameQBufMgr_ShMem_E_CacheAlign;
config FrameQBufMgr_ShMem_E_ClientNotifyMgrCreate // module-wide |
 |
Error raised when ClientNotifyMgr Create failed
extern const Error_Id FrameQBufMgr_ShMem_E_ClientNotifyMgrCreate;
config FrameQBufMgr_ShMem_E_ClientNotifyMgrOpen // module-wide |
 |
Error raised when ClientNotifyMgrOpen failed
extern const Error_Id FrameQBufMgr_ShMem_E_ClientNotifyMgrOpen;
config FrameQBufMgr_ShMem_E_Fail // module-wide |
 |
Error raised when postinitialize API failed
extern const Error_Id FrameQBufMgr_ShMem_E_Fail;
config FrameQBufMgr_ShMem_E_FrameQBufMgrNotCreated // module-wide |
 |
Error raised when FrameQBufMgr is not created
extern const Error_Id FrameQBufMgr_ShMem_E_FrameQBufMgrNotCreated;
config FrameQBufMgr_ShMem_E_FrameQBufMgrNotFound // module-wide |
 |
Error raised when FrameQBufMgr is not Found in NameServer
extern const Error_Id FrameQBufMgr_ShMem_E_FrameQBufMgrNotFound;
config FrameQBufMgr_ShMem_E_GateMPCreate // module-wide |
 |
Error raised when GateMP create failed
extern const Error_Id FrameQBufMgr_ShMem_E_GateMPCreate;
config FrameQBufMgr_ShMem_E_GateMPOpen // module-wide |
 |
Error raised when GateMP open failed
extern const Error_Id FrameQBufMgr_ShMem_E_GateMPOpen;
config FrameQBufMgr_ShMem_E_InvAddr // module-wide |
 |
Error raised when Insufficient shared addrprovided to create call
extern const Error_Id FrameQBufMgr_ShMem_E_InvAddr;
config FrameQBufMgr_ShMem_E_InvArg // module-wide |
 |
Error raised when invalid arguments passed to the create call
extern const Error_Id FrameQBufMgr_ShMem_E_InvArg;
config FrameQBufMgr_ShMem_E_InvSize // module-wide |
 |
Error raised when Insufficient shared memory provided to create call
extern const Error_Id FrameQBufMgr_ShMem_E_InvSize;
config FrameQBufMgr_ShMem_E_InvalidMemMgrType // module-wide |
 |
Error raised when invalid MemMgr type specified
extern const Error_Id FrameQBufMgr_ShMem_E_InvalidMemMgrType;
config FrameQBufMgr_ShMem_E_MemoryAlloc // module-wide |
 |
Error raised when Memory_alloc API failed
extern const Error_Id FrameQBufMgr_ShMem_E_MemoryAlloc;
config FrameQBufMgr_ShMem_E_maxInstances // module-wide |
 |
Error raised when max instances limit is reached
extern const Error_Id FrameQBufMgr_ShMem_E_maxInstances;
config FrameQBufMgr_ShMem_E_postInitFail // module-wide |
 |
Error raised when postinitialize API failed
extern const Error_Id FrameQBufMgr_ShMem_E_postInitFail;
config FrameQBufMgr_ShMem_MAXINSTANCES // module-wide |
 |
Maximum number of instances that can be created for this module
extern const UInt32 FrameQBufMgr_ShMem_MAXINSTANCES;
config FrameQBufMgr_ShMem_MAX_NAMELEN // module-wide |
 |
Maximum length of the name strings
extern const UInt32 FrameQBufMgr_ShMem_MAX_NAMELEN;
config FrameQBufMgr_ShMem_NOTIFY_RESERVED_EVENTNO // module-wide |
 |
Event Number to be used by FrameQBufMgr module
extern const UInt32 FrameQBufMgr_ShMem_NOTIFY_RESERVED_EVENTNO;
config FrameQBufMgr_ShMem_nameServer // module-wide |
 |
Handle to the name server
config FrameQBufMgr_ShMem_usedefaultgate // module-wide |
 |
If set to true FrameQBufMgr instances will use dafault gate set in
FrameQBufMgr.
If default gate is not set in FrameQBufMgr, it uses GateMP's default
gate. Set it to zero if FrameQBufMgr needs to create gate for a
instance (remoteProtect and localProtect flags should be valid in
params in this case)
extern const Bool FrameQBufMgr_ShMem_usedefaultgate;
FrameQBufMgr_ShMem_close() // module-wide |
 |
Function to close the dynamically opened instance using open call
RETURNS
returns 0 if successfully registered the call back function.
FrameQBufMgr_ShMem_getConfig() // module-wide |
 |
Initialize the passed pointer with the current parameters
ARGUMENTS
cfgParams
Pointer to parameter structure to be initialized.
FrameQBufMgr_ShMem_getHandle() // module-wide |
 |
Function to create a nameServer
Ptr FrameQBufMgr_ShMem_getHandle(UInt32 id);
ARGUMENTS
id
Id of the FrameQBufMgr instance.
RETURNS
Returns instance handle if it is created or opened on the caller processor.
FrameQBufMgr_ShMem_open() // module-wide |
 |
API to open the created instance and to get a handle to it
ARGUMENTS
handlePtr
Handle to the instance will be returned through this pointer.
name
Name of the instance that needs to opened.ignored if name server is not configured.
sharedAddr
Address of the shared control info of the instance.
Must be passed if name server is not configured for
use by the module.
gate
Gate for critical region protection.
RETURNS
Returns positive value if success.
DETAILS
The instance must be created usng create call before opening it.
FrameQBufMgr_ShMem_sharedMemReq() // module-wide |
 |
Amount of shared memory required for creation of each instance
UInt32 FrameQBufMgr_ShMem_sharedMemReq(
FrameQBufMgr_ShMem_Params *
params,
UInt32 *
frmHdrBufChunkSize,
UInt32 *
frmBufChunkSize);
ARGUMENTS
params
Instance create/open parameters.
frmHdrBufChunkSize
Buffer chunk size for frame headers.
frmBufChunkSize
Buffer chunk size for framebuffers.
RETURNS
Amount of shared memory required
DETAILS
Can be used to make sure the
sharedAddr buffer is large
enough before calling create.
All parameters except sharedAddr and sharedAddrSize must be
the same that will be used in the create.
Module-Wide Built-Ins |
 |
// Get this module's unique id
Bool FrameQBufMgr_ShMem_Module_startupDone();
// Test if this module has completed startup
// The heap from which this module allocates memory
Bool FrameQBufMgr_ShMem_Module_hasMask();
// Test whether this module has a diagnostics mask
Bits16 FrameQBufMgr_ShMem_Module_getMask();
// Returns the diagnostics mask for this module
Void FrameQBufMgr_ShMem_Module_setMask(Bits16 mask);
// Set the diagnostics mask for this module
Instance Object Types |
 |
typedef struct FrameQBufMgr_ShMem_Object FrameQBufMgr_ShMem_Object;
// Opaque internal representation of an instance object
// Client reference to an instance object
typedef struct FrameQBufMgr_ShMem_Struct FrameQBufMgr_ShMem_Struct;
// Opaque client structure large enough to hold an instance object
// Convert this instance structure pointer into an instance handle
// Convert this instance handle into an instance structure pointer
Instance Config Parameters |
 |
typedef struct FrameQBufMgr_ShMem_Params {
// Instance config-params structure
// Common per-instance configs
SizeT align;
// Alignment (in MAUs) of each block
UInt32 bufInterfaceType;
//
// Create params common to all the implementations of FrameQBufMgr
UInt32 cpuAccessFlags;
// Cache flags denoting whether cache coherence operations are needed to be performed on instance shared control structures
// Frame buffer params common to all types of allocations of buffers
UInt32 **frameBufSizes;
// UInt32 pointer to pointer pointing to frame buf sizes of frame buffers in
each pool
UInt32 *frameHeaderBufSize;
// UInt32 pointer pointing to headerBuffer sizes in
each pool
UInt32 frmBuf_regionId;
// Shared region ID for Frame buffers
// IGateProvider used for critical region management of the shared memory
UInt32 hdrBuf_regionId;
// Shared region ID for Header buffers
UInt32 headerInterfaceType;
//
// Default local protection level for the module instance
UInt32 *numFrameBufsInFrame;
// UInt32 pointer pointing to number of frame buffers in
each pool
UInt32 numFreeFramePools;
// Number of buffer pools
UInt32 *numFreeFramesInPool;
// UInt32 pointer pointing to Number of frames in each pool
UInt32 *numFreeHeaderBufsInPool;
// UInt32 pointer pointing to Number of additional frame headers in
each pool
UInt32 numNotifyEntries;
// How many clients that do reister callback function with the instance
UInt32 regionId;
// Shared region ID
// Default multiprocessor protection for the module instances
Ptr sharedAddr;
// Virtual Address of the shared memory.Must be mapped
on other processors if instance needs to be accessible
from other processors
Ptr sharedAddrFrmBuf;
// Virtual shared Region Address of chunk for frame buffers
UInt32 sharedAddrFrmBufSize;
// sharedAddrHdrBufSize Size of the sharedAddrFrmBuf
Ptr sharedAddrHdrBuf;
// Virtual Address of the shared memory for frame header buffers.Must be mapped
on other processors if the buffers managed by this instance needs to be
accessible from other processors
UInt32 sharedAddrHdrBufSize;
// Size of sharedAddrHdrBuf
UInt32 sharedAddrSize;
// Size of shareAddr
} FrameQBufMgr_ShMem_Params;
// Initialize this config-params structure with supplier-specified defaults before instance creation
config FrameQBufMgr_ShMem_align // instance |
 |
Alignment (in MAUs) of each block
DETAILS
The alignment must be a power of 2. If the value 0 is specified,
the value will be changed to meet the minimum structure alignment
requirements (refer to
xdc.runtime.Memory.getMaxDefaultTypeAlign and
xdc.runtime.Memory.getMaxDefaultTypeAlignMeta),
so the actual alignment may be larger.
For static creates, the FrameQBufMgr will allocate space for the buffer
and will align the buffer on this requested alignment.
For dynamic creates, this parameter is used solely for error checking.
The buffer provided to a dynamically created FrameQBufMgr must be aligned
manually, and an assert will be raised if the buffer is not properly
aligned. For dynamic creates, FrameQBufMgr will NOT adjust the buffer to
satisfy the alignment.
The default alignment is 0.
config FrameQBufMgr_ShMem_bufInterfaceType // instance |
 |
...
UInt32 bufInterfaceType;
config FrameQBufMgr_ShMem_commonCreateParams // instance |
 |
Create params common to all the implementations of FrameQBufMgr
config FrameQBufMgr_ShMem_cpuAccessFlags // instance |
 |
Cache flags denoting whether cache coherence operations are needed to be performed on instance shared control structures
...
UInt32 cpuAccessFlags;
config FrameQBufMgr_ShMem_frameBufParams // instance |
 |
Frame buffer params common to all types of allocations of buffers
config FrameQBufMgr_ShMem_frameBufSizes // instance |
 |
UInt32 pointer to pointer pointing to frame buf sizes of frame buffers in
each pool
...
UInt32 **frameBufSizes;
config FrameQBufMgr_ShMem_frameHeaderBufSize // instance |
 |
UInt32 pointer pointing to headerBuffer sizes in
each pool
...
UInt32 *frameHeaderBufSize;
config FrameQBufMgr_ShMem_frmBuf_regionId // instance |
 |
Shared region ID for Frame buffers
...
UInt32 frmBuf_regionId;
DETAILS
The ID corresponding to the shared region in From which Frame buffers will be allocated
if sharedAddrFrmBuf is not provided.
config FrameQBufMgr_ShMem_gate // instance |
 |
IGateProvider used for critical region management of the shared memory
DETAILS
This must be a shared memory gate.
config FrameQBufMgr_ShMem_hdrBuf_regionId // instance |
 |
Shared region ID for Header buffers
...
UInt32 hdrBuf_regionId;
DETAILS
The ID corresponding to the shared region in From which Header buffers will be allocated
if sharedAddrHdrBuf is not provided.
config FrameQBufMgr_ShMem_headerInterfaceType // instance |
 |
...
UInt32 headerInterfaceType;
config FrameQBufMgr_ShMem_localProtect // instance |
 |
Default local protection level for the module instance
config FrameQBufMgr_ShMem_numFrameBufsInFrame // instance |
 |
UInt32 pointer pointing to number of frame buffers in
each pool
...
UInt32 *numFrameBufsInFrame;
config FrameQBufMgr_ShMem_numFreeFramePools // instance |
 |
Number of buffer pools
...
UInt32 numFreeFramePools;
DETAILS
Required parameter.
The default number of free Frame pools is 0.
config FrameQBufMgr_ShMem_numFreeFramesInPool // instance |
 |
UInt32 pointer pointing to Number of frames in each pool
...
UInt32 *numFreeFramesInPool;
config FrameQBufMgr_ShMem_numFreeHeaderBufsInPool // instance |
 |
UInt32 pointer pointing to Number of additional frame headers in
each pool
...
UInt32 *numFreeHeaderBufsInPool;
config FrameQBufMgr_ShMem_numNotifyEntries // instance |
 |
How many clients that do reister callback function with the instance
...
UInt32 numNotifyEntries;
config FrameQBufMgr_ShMem_regionId // instance |
 |
Shared region ID
DETAILS
The ID corresponding to the shared region in which this shared instance
is to be placed.
config FrameQBufMgr_ShMem_remoteProtect // instance |
 |
Default multiprocessor protection for the module instances
config FrameQBufMgr_ShMem_sharedAddr // instance |
 |
Virtual Address of the shared memory.Must be mapped
on other processors if instance needs to be accessible
from other processors
DETAILS
The creator must supply the shared memory that
this will use for maintain shared state information.
Required parameter.
config FrameQBufMgr_ShMem_sharedAddrFrmBuf // instance |
 |
Virtual shared Region Address of chunk for frame buffers
...
Ptr sharedAddrFrmBuf;
config FrameQBufMgr_ShMem_sharedAddrFrmBufSize // instance |
 |
sharedAddrHdrBufSize Size of the sharedAddrFrmBuf
...
UInt32 sharedAddrFrmBufSize;
config FrameQBufMgr_ShMem_sharedAddrHdrBuf // instance |
 |
Virtual Address of the shared memory for frame header buffers.Must be mapped
on other processors if the buffers managed by this instance needs to be
accessible from other processors
...
Ptr sharedAddrHdrBuf;
DETAILS
The creator can supply the shared memory that this will use for
maintaining the data buffers. Applications can create instances without
passing this address.In this case applications need to add buffers to
the instance at runtime.
config FrameQBufMgr_ShMem_sharedAddrHdrBufSize // instance |
 |
Size of sharedAddrHdrBuf
...
UInt32 sharedAddrHdrBufSize;
config FrameQBufMgr_ShMem_sharedAddrSize // instance |
 |
Size of shareAddr
...
UInt32 sharedAddrSize;
DETAILS
Can use the
sharedMemReq or
sharedMemReqMeta call to
determine the required size.
Required parameter.
FrameQBufMgr_ShMem_add() // instance |
 |
Function to add free frames dynamically which are allocated out side of
FrmaeQbufMgr through the same memory manager
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
freeQId
freeFrame Pool No to whcih the frame needs to be
added.
framePtr
frame to be added.
RETURNS
returns 0 if successfully added the frame.
FrameQBufMgr_ShMem_alloc() // instance |
 |
Function to allocate a buffer from the FrameQBufMgr instance
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
frame
Location to receive the allocated frame pointer.
RETURNS
returns 0 if successfully allocated the buffer.
FrameQBufMgr_ShMem_allocv() // instance |
 |
Function to allocate multiple frames from the FrameQBufMgr instance from
the free Frame pool nos given
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
framePtr
array of pointers to receive allocate frame pointers.
freeQId
array of freeFrame poolNos to allocate frames from.
if API retruns success, this represents ths actual size of the buffer allocated.
numFrames
Number of frames to allocate.
RETURNS
returns value greater than zero
if successfully allocated frames.
FrameQBufMgr_ShMem_control() // instance |
 |
Provides a hook to perform implementation dependent operation
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
cmd
command to exectue.
arg
argument of type void*.
FrameQBufMgr_ShMem_dup() // instance |
 |
API to duplicate the given frame i.e it increments the corresponding
frames 's reference count.It internally allocates headers for the duped
frames.It fails if it is not able to dup all the frames
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
buf
Pointer to the frame which needs to be duplicated.
size
Size of the buffer.
dupCount
Duplication count.
FrameQBufMgr_ShMem_dupv() // instance |
 |
API to duplicate the given frames i.e it increments the corresponding
frames 's reference count.It internally allocates headers for the duped
frames.It fails if it is not able to dup all the frames
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
buf
Pointer to the frames which needs to be duplicated.
size
Size of the buffer.
dupCount
Duplication count.
FrameQBufMgr_ShMem_free() // instance |
 |
Function to free frame
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
frame
frame to be freed.
RETURNS
returns 0 if successfully freed the allocated buffer.
FrameQBufMgr_ShMem_freev() // instance |
 |
Function to free frames
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
framePtr
array of frames to be freed.
RETURNS
returns 0 if successfully freed the allocated frames.
FrameQBufMgr_ShMem_getId() // instance |
 |
Function to get the id of the instance
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
RETURNS
Returns FrameQBufMgr Id for the handle.
FrameQBufMgr_ShMem_getNumFreeFrames() // instance |
 |
Function to get the number of free frames available in the in
FrameQbufMgr's FreeFramePool 0. The returned number free frame may not
exist in the frameQbufMgr after this call.This is because
if any allocs are done by the other FrameQ writers on the
same FrameQBufMgr.If frees are not other frameQ writers the free Frames
would be even more than the value that we have got
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
numFrames
Outputparameter indicates number of free frames
.
RETURNS
returns 0 if successfully returned the number of
free frames.
FrameQBufMgr_ShMem_getvNumFreeFrames() // instance |
 |
Function to get the number of free frames available in the in the given
Free FramePool
Int32 FrameQBufMgr_ShMem_getvNumFreeFrames(
FrameQBufMgr_ShMem_Handle handle,
UInt32 numFreeFrames[
],
UInt8 freeFramePoolNo[
],
UInt8 numFreeFramePools);
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
numFreeFrames
Outputparameter indicates number of free frames in
each given free quque at that instance.
filledQId
Array of free Queue ids(freeFramePool nos).
numFreeQids
Number of free queueids same as freeFrame PoolNo of
plugged in FrameQBufMgr .
RETURNS
returns 0 if successfully returned the frames.
FrameQBufMgr_ShMem_invalidate() // instance |
 |
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
FrameQBufMgr_ShMem_invalidateFrameBuf() // instance |
 |
Int32 FrameQBufMgr_ShMem_invalidateFrameBuf(
FrameQBufMgr_ShMem_Handle handle,
Ptr frameBuf,
UInt32 size,
UInt8 bufNumInFrame);
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
FrameQBufMgr_ShMem_invalidateHeaderBuf() // instance |
 |
invalidates contents of buffer . buffer is treated as frame header
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
FrameQBufMgr_ShMem_isCacheEnabledForFrameBuf() // instance |
 |
Function to determine whether cache calls(writeback/invalidate) are
enabled for frame buffers
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
FrameQBufMgr_ShMem_isCacheEnabledForHeaderBuf() // instance |
 |
Function to determine whether cache calls(writeback/invalidate) are
enabled for frame headers
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
FrameQBufMgr_ShMem_registerNotifier() // instance |
 |
Function to Register notification with the instance. It internally registers
notification with the individual free queues(free frame pools).
If alloc on free queue 0 failed,Notification will be generated if free frames
in that queue becomes more than watermark(all the free frames in that queue)
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
RETURNS
returns >0 if successfully registered the call back function.
FrameQBufMgr_ShMem_remove() // instance |
 |
Function to remove dynamically added frames which are allocated out side of
FrmaeQbufMgr through the same memory managers that are plugged in to
FrameQBufMgr instance
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
freeQId
freeFrame Pool No to whcih the frame needs to be
added.
framePtr
frame to be added.
RETURNS
returns 0 if successfully added the frame.
FrameQBufMgr_ShMem_translateAddr() // instance |
 |
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
FrameQBufMgr_ShMem_unregisterNotifier() // instance |
 |
Function to unregister the registered call back function with the instance.
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
RETURNS
Returns positive value if successfully unregistered the call back function.
FrameQBufMgr_ShMem_writeBack() // instance |
 |
Write back the contents of a frame including frame buffers
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
FrameQBufMgr_ShMem_writeBackFrameBuf() // instance |
 |
Write back the contents of buffer . buffe is treated as frame buffer.
bufNumInFrame denotes buffer number in the frame.This is to identify
the cache flags and cpu access flags for the buffer
Int32 FrameQBufMgr_ShMem_writeBackFrameBuf(
FrameQBufMgr_ShMem_Handle handle,
Ptr frameBuf,
UInt32 size,
UInt8 bufNumInFrame);
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
FrameQBufMgr_ShMem_writeBackHeaderBuf() // instance |
 |
Write back the contents of buffer.buffer is treated as frame header
ARGUMENTS
handle
handle of a previously-created FrameQBufMgr_ShMem instance object
Instance Convertors |
 |
// unconditionally move one level up the inheritance hierarchy
// conditionally move one level down the inheritance hierarchy; NULL upon failure
Instance Built-Ins |
 |
Int FrameQBufMgr_ShMem_Object_count();
// The number of statically-created instance objects
// The handle of the i-th statically-created instance object (array == NULL)
// The handle of the first dynamically-created instance object, or NULL
// The handle of the next dynamically-created instance object, or NULL
// The heap used to allocate dynamically-created instance objects
// The label associated with this instance object
// The name of this instance object
proxy FrameQBufMgr_ShMem.GateProxy |
 |
IGateProvider Proxy
XDCscript usage |
meta-domain |
FrameQBufMgr_ShMem.
GateProxy.delegate$ =
IGateProvider.Module null
// explicit access to the currently bound delegate module
FrameQBufMgr_ShMem.GateProxy.abstractInstances$ = false
// use indirect runtime function calls if true
DETAILS
Module used to provide default critical region management when accessing
the shared memory. The default is
ti.sdo.ipc.gates.GatePeterson.
Requires Arm to be procId 0 or 1 and the DSP be 1 or 0.
const FrameQBufMgr_ShMem.DYNAMIC_CREATE |
 |
Type of creation
XDCscript usage |
meta-domain |
const FrameQBufMgr_ShMem.DYNAMIC_CREATE = 0x4;
C SYNOPSIS
const FrameQBufMgr_ShMem.DYNAMIC_CREATE_USEDREGION |
 |
Type of creation
XDCscript usage |
meta-domain |
const FrameQBufMgr_ShMem.DYNAMIC_CREATE_USEDREGION = 0x8;
C SYNOPSIS
const FrameQBufMgr_ShMem.DYNAMIC_FRAME |
 |
Denotes Frame belongs to dynamic frame grougp that are added dynamically at runtime
XDCscript usage |
meta-domain |
const FrameQBufMgr_ShMem.DYNAMIC_FRAME = 2;
C SYNOPSIS
const FrameQBufMgr_ShMem.DYNAMIC_OPEN |
 |
Type of open
XDCscript usage |
meta-domain |
const FrameQBufMgr_ShMem.DYNAMIC_OPEN = 0x20;
C SYNOPSIS
const FrameQBufMgr_ShMem.FRAMEBUF_CPUACCESSFLAGS_BITOFFSET |
 |
XDCscript usage |
meta-domain |
const FrameQBufMgr_ShMem.FRAMEBUF_CPUACCESSFLAGS_BITOFFSET = 16;
C SYNOPSIS
const FrameQBufMgr_ShMem.INVALID |
 |
Type of open
XDCscript usage |
meta-domain |
const FrameQBufMgr_ShMem.INVALID = 0xFF;
C SYNOPSIS
const FrameQBufMgr_ShMem.MAX_FRAMEBUFS |
 |
Maximum number of frame buffers in a frame managed by in
FrameQBufMgr instance
XDCscript usage |
meta-domain |
const FrameQBufMgr_ShMem.MAX_FRAMEBUFS = 8;
C SYNOPSIS
const FrameQBufMgr_ShMem.MAX_POOLS |
 |
Maximum number of Free Frame pools pools managed by FrameQBufMgr
instance
XDCscript usage |
meta-domain |
const FrameQBufMgr_ShMem.MAX_POOLS = 64;
C SYNOPSIS
const FrameQBufMgr_ShMem.POOL_DYNAMIC_MAXFRAMES |
 |
Maximum number of dynbuffers managed by each buffer pool in
FrameQBufMgr instance
XDCscript usage |
meta-domain |
const FrameQBufMgr_ShMem.POOL_DYNAMIC_MAXFRAMES = 1;
C SYNOPSIS
const FrameQBufMgr_ShMem.POOL_DYNAMIC_MAXHDRS |
 |
Maximum number of additional dynamic free headers managed by FrameQBufMgr
instance for each Free Frame pool
XDCscript usage |
meta-domain |
const FrameQBufMgr_ShMem.POOL_DYNAMIC_MAXHDRS = 1;
C SYNOPSIS
const FrameQBufMgr_ShMem.POOL_MAXFRAMES |
 |
Maximum number of static free Frames managed by FrameQBufMgr
instance for a Free Frame pool
XDCscript usage |
meta-domain |
const FrameQBufMgr_ShMem.POOL_MAXFRAMES = 32;
C SYNOPSIS
const FrameQBufMgr_ShMem.POOL_MAXHDRS |
 |
Maximum number of additional static free headers managed by FrameQBufMgr
instance for each Free Frame pool
XDCscript usage |
meta-domain |
const FrameQBufMgr_ShMem.POOL_MAXHDRS = 64;
C SYNOPSIS
const FrameQBufMgr_ShMem.STATIC_CREATE |
 |
Type of creation
XDCscript usage |
meta-domain |
const FrameQBufMgr_ShMem.STATIC_CREATE = 0x1;
C SYNOPSIS
const FrameQBufMgr_ShMem.STATIC_CREATE_USEDREGION |
 |
Type of creation
XDCscript usage |
meta-domain |
const FrameQBufMgr_ShMem.STATIC_CREATE_USEDREGION = 0x2;
C SYNOPSIS
const FrameQBufMgr_ShMem.STATIC_FRAME |
 |
Denotes Frame belongs to static frames that are populated at create time of the instance
XDCscript usage |
meta-domain |
const FrameQBufMgr_ShMem.STATIC_FRAME = 1;
C SYNOPSIS
const FrameQBufMgr_ShMem.STATIC_OPEN |
 |
Type of open
XDCscript usage |
meta-domain |
const FrameQBufMgr_ShMem.STATIC_OPEN = 0x10;
C SYNOPSIS
const FrameQBufMgr_ShMem.VERSION |
 |
XDCscript usage |
meta-domain |
const FrameQBufMgr_ShMem.VERSION = 1;
C SYNOPSIS
enum FrameQBufMgr_ShMem.AddrType |
 |
Enumerations to indicate address types used for translation
XDCscript usage |
meta-domain |
values of type FrameQBufMgr_ShMem.AddrType
const FrameQBufMgr_ShMem.AddrType_Virtual;
const FrameQBufMgr_ShMem.AddrType_Portable;
const FrameQBufMgr_ShMem.AddrType_EndValue;
VALUES
AddrType_Virtual
Virtual address on calling process on DSP where
MMU is not configured it could be the physical
address.
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
AddrType_EndValue
End delimiter indicating start of invalid
values for this enum
C SYNOPSIS
enum FrameQBufMgr_ShMem.BufType |
 |
Enumerations to indicate address types used for translation
XDCscript usage |
meta-domain |
values of type FrameQBufMgr_ShMem.BufType
const FrameQBufMgr_ShMem.BUF_FRAMEHEADER;
const FrameQBufMgr_ShMem.BUF_FRAMEBUF;
const FrameQBufMgr_ShMem.BUF_ENDVALUE;
VALUES
BUF_FRAMEHEADER
Denotes buffer is of type used for frame headers.
BUF_FRAMEBUF
Denotes buffer is of type used for frame buffers
AddrType_EndValue
End delimiter indicating start of invalid
values for this enum
C SYNOPSIS
enum FrameQBufMgr_ShMem.CpuAccessFlags |
 |
Enumeration of CPU access flags for frame buffers. For frame headers CPUACCESS is assumed to be TRUE
XDCscript usage |
meta-domain |
values of type FrameQBufMgr_ShMem.CpuAccessFlags
const FrameQBufMgr_ShMem.FRAMEBUF0_CPUACCESS;
const FrameQBufMgr_ShMem.FRAMEBUF1_CPUACCESS;
const FrameQBufMgr_ShMem.FRAMEBUF2_CPUACCESS;
const FrameQBufMgr_ShMem.FRAMEBUF3_CPUACCESS;
const FrameQBufMgr_ShMem.FRAMEBUF4_CPUACCESS;
const FrameQBufMgr_ShMem.FRAMEBUF5_CPUACCESS;
const FrameQBufMgr_ShMem.FRAMEBUF6_CPUACCESS;
const FrameQBufMgr_ShMem.FRAMEBUF7_CPUACCESS;
VALUES
FRAMEBUF0_CPUACCESS
If specified first frame buffer is accessed through CPU(direct memory access).
FRAMEBUF1_CPUACCESS
If specified second frame buffer is accessed through CPU(direct memory access).
FRAMEBUF2_CPUACCESS
If specified third frame buffer is accessed through CPU(direct memory access).
FRAMEBUF3_CPUACCESS
If specified fourth frame buffer is accessed through CPU(direct memory access).
FRAMEBUF4_CPUACCESS
If specified fifth frame buffer is accessed through CPU(direct memory access).
FRAMEBUF5_CPUACCESS
If specified sixth frame buffer is accessed through CPU(direct memory access).
FRAMEBUF6_CPUACCESS
If specified seventh frame buffer is accessed through CPU(direct memory access).
FRAMEBUF7_CPUACCESS
If specified eigth frame buffer is accessed through CPU(direct memory access).
C SYNOPSIS
enum FrameQBufMgr_ShMem.Interface |
 |
Enumeration of FrameQBufMgr interface types.Denotes different implementation types
XDCscript usage |
meta-domain |
values of type FrameQBufMgr_ShMem.Interface
const FrameQBufMgr_ShMem.INTERFACE_SHAREDMEM;
const FrameQBufMgr_ShMem.INTERFACE_TILERMEM;
const FrameQBufMgr_ShMem.INTERFACE_NONE;
VALUES
INTERFACE_SHAREDMEM
FrameQNufMgr implementation (FrameQBufMgr_ShMem Implementation) on shared memory.
C SYNOPSIS
struct FrameQBufMgr_ShMem.Attrs |
 |
Shared control strucrue for the instance attributes
XDCscript usage |
meta-domain |
var obj = new FrameQBufMgr_ShMem.Attrs;
obj.status = UInt32 ...
obj.version = UInt32 ...
obj.localProtect = UInt32 ...
obj.remoteProtect = UInt32 ...
obj.gateMPAddr = Ptr ...
obj.sharedDataBufAddr = Ptr ...
obj.sharedAddrSize = UInt32 ...
obj.numFreeFramePools = UInt32 ...
obj.numNotifyEntries = UInt32 ...
obj.entryId = UInt16 ...
FIELDS
status
Flag denoting whether instance is created or not.
version
Version of the instance.
gateMPAddr
GateMP address (shm safe)
name
Name of the instance.
sharedDataBufAddr
Holds Data buffer start address provided at instance crate time.
sharedAddrSize
The size of the data buffer.
FILED
Number of free frame pools maintained by this instance.
Unique id of the instance in the system. Combination of
creator procId and instance no on that processor.
C SYNOPSIS
struct FrameQBufMgr_ShMem.CommonOpenParams |
 |
Common paramters requiredto open a FrameQBufMgr instance of any implementation
XDCscript usage |
meta-domain |
var obj = new FrameQBufMgr_ShMem.CommonOpenParams;
obj.name = String ...
obj.cpuAccessFlags = UInt32 ...
obj.sharedAddr = Ptr ...
FIELDS
name
Name of the instance to open.
(cacheFlags) Cache flags to perform cache operations .
sharedAddr
Shared addr in case open by address is required.
gate
gate for protection.
C SYNOPSIS
struct FrameQBufMgr_ShMem.Config |
 |
mouduleconfig structure
XDCscript usage |
meta-domain |
var obj = new FrameQBufMgr_ShMem.Config;
obj.eventNo = UInt32 ...
obj.useNameServer = Bool ...
obj.maxInstances = Bool ...
FIELDS
sharedAddr
Shared region address for module initialization.
sharedAddrSize
Size of the shared region .
(cacheFlags) Cache flags to perform cache operations on module wide shared control structure.
eventNo
The event number used for notification.
name
Name for the module.
shCtrlOpenFlag
Boolean flag if set to FALSE, populate the shared control info
required between processors for this module. If it set to TRUE,
module initialize call opens the shared control info.Ideally master processor
set this flag to FALSE to crate the shared control info.
C SYNOPSIS
struct FrameQBufMgr_ShMem.ControlStruct |
 |
Shared control structure for the FrameQBufMgr instance
XDCscript usage |
meta-domain |
var obj = new FrameQBufMgr_ShMem.ControlStruct;
FIELDS
attrs
Shared control info of type Attrs.
C SYNOPSIS
struct FrameQBufMgr_ShMem.CreateParams |
 |
Structure defining common instance parameters for the FrameQ
module.Should be the first element in the create params strcture of
the actual implementation
XDCscript usage |
meta-domain |
var obj = new FrameQBufMgr_ShMem.CreateParams;
obj.size = UInt32 ...
obj.name = String ...
obj.openFlag = Bool ...
FIELDS
size
Size of the Create params structure(Should be the size of the actual
implementation's Create params structure in which this FrameQ_CreateParams is the
first element.
interface
type of implementation. See Interface.
name
Name of the instance.
openFlag
Denotes whether create should actually create/open instance.
C SYNOPSIS
struct FrameQBufMgr_ShMem.FrameBufInfo |
 |
Structure of the framebuffer info in frame
XDCscript usage |
meta-domain |
var obj = new FrameQBufMgr_ShMem.FrameBufInfo;
obj.bufPtr = UInt32 ...
obj.bufSize = UInt32 ...
obj.startOffset = UInt32 ...
obj.validSize = UInt32 ...
obj.pixelFormat = UInt32 ...
obj.height = UInt32 ...
obj.width = UInt32 ...
obj.stride = UInt32 ...
FIELDS
bufPtr
Pointer to the frame buffer.
bufSize
Size of the buffer.
startOffSet
Start offset in the buffer from where valid data starts.
validSize
Valid size in the buffer from the zeroth offset in the frame buffer.
height
Pointer to the frame buffer.
width
Size of the buffer.
stride
Multiple of page size and needs to be added to Tile
start address in order to get the address starting on
next row in same tile.
C SYNOPSIS
struct FrameQBufMgr_ShMem.FrameBufParams |
 |
Structure defining common frame buf params for tiled as well as non tiled buffers
XDCscript usage |
meta-domain |
var obj = new FrameQBufMgr_ShMem.FrameBufParams;
obj.size = UInt32 ...
obj.pixelFormat = UInt32 ...
obj.height = UInt32 ...
obj.width = UInt32 ...
obj.align = UInt32 ...
FIELDS
size
size for non tiled buffer.
Structure defining parameters for the Tiled data buffers
pixelFormat
pixel format for tiled buffer.
height
height .
width
width .
stride
stride of container, must be multiple of page size.
align
Alignment of the buffer .
C SYNOPSIS
struct FrameQBufMgr_ShMem.FrameHeader |
 |
Structure of the base frame header. FrameQ maintains list of frames to be
retrieved by FrameQ reader client. Application is expected to use Helper
API to extract fileds and exteneded header pointer
XDCscript usage |
meta-domain |
var obj = new FrameQBufMgr_ShMem.FrameHeader;
obj.reserved0 = UInt32 ...
obj.reserved1 = UInt32 ...
obj.baseHeaderSize = UInt16 ...
obj.headerSize = UInt16 ...
obj.frmAllocaterId = UInt32 ...
obj.frameBufType = UInt32 ...
obj.freeFrmQueueNo = UInt8 ...
obj.numFrameBuffers = UInt8 ...
FIELDS
baseHeaderSize
Size of the base frame header.
headerSize
Size of the frame header(total size of base header
and extended header).
frmAllocaterId
Denotes the FrameQBufMgr Id from which frame is allocated.
freeFrmQueueNo
Free quque No from which frame is allocated in FrameQBufMgr.
numFrameBuffers
Number of framebuffers in a frame.
C SYNOPSIS
struct FrameQBufMgr_ShMem.FreeFramePoolObj |
 |
Free Frame pool structure to keep track of the free frames in a frame pool
XDCscript usage |
meta-domain |
var obj = new FrameQBufMgr_ShMem.FreeFramePoolObj;
obj.numFrms = UInt32 ...
obj.freeFrms = UInt32 ...
obj.numFrmHdrBufs = UInt32 ...
obj.freeFrmHdrBufs = UInt32 ...
obj.frmHdrBufSize = UInt32 ...
obj.numBufsInFrame = UInt32 ...
obj.numDynamicHdrBufs = UInt32 ...
obj.freeDynamicHdrBufs = UInt32 ...
obj.numDynamicFrames = UInt32 ...
obj.freeDynamicFrames = UInt32 ...
obj.frmStartAddrp = UInt32 ...
obj.frmEndAddrp = UInt32 ...
obj.hdrBufStartAddrp = UInt32 ...
obj.hdrBufEndAddrp = UInt32 ...
obj.frmBufsStartAddrp = UInt32 ...
obj.frmBufsEndAddrp = UInt32 ...
C SYNOPSIS
struct FrameQBufMgr_ShMem.NotifyParams |
 |
Structure defining notification parameter structure
XDCscript usage |
meta-domain |
var obj = new FrameQBufMgr_ShMem.NotifyParams;
obj.watermark = UInt32 ...
obj.cbContext = Ptr ...
obj.cbClientHandle = Ptr ...
FIELDS
watermark
Minumum number of free frames required to generate
notification Same water mark for all the individual
freeFramePools in the set.
cbFxnPtr
Cacll back function.
cbContext
Context pointer that needs to be passed to call back
function.
cbClientHandle
Handle that needs to be passed as first arg to
call back.Ideally this should be callers client
handle.
C SYNOPSIS
struct FrameQBufMgr_ShMem.OpenParams |
 |
mouduleconfig structure
XDCscript usage |
meta-domain |
var obj = new FrameQBufMgr_ShMem.OpenParams;
FIELDS
commonOpenParams
Open params common to all the implementations.
see CommonOpenParams
C SYNOPSIS
config FrameQBufMgr_ShMem.A_InvalidCreatorProcId // module-wide |
 |
Assert raised when creator processor id of the instance is not valid
XDCscript usage |
meta-domain |
FrameQBufMgr_ShMem.
A_InvalidCreatorProcId =
Assert.Desc {
msg: "A_InvalidCreatorProcId: Invalid creator processor id"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.A_InvalidInstNo // module-wide |
 |
Assert raised when Inst No of the instance is not valid
XDCscript usage |
meta-domain |
msg: "A_InvalidInstNo: Invalid instance no"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.A_invalidFree // module-wide |
 |
Error raised when invalid FrameQ_free is called
XDCscript usage |
meta-domain |
msg: "A_invalidFree: invalid FrameQ_free is called.Frame already freed"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.A_invalidParams // module-wide |
 |
Assert raised when an invalid parameter(s) is passed into a function
XDCscript usage |
meta-domain |
msg: "A_invalidParams: Invalid parameter"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.A_invalid_MemMgrType // module-wide |
 |
Assert raised when invalid MemMgr type specified
XDCscript usage |
meta-domain |
FrameQBufMgr_ShMem.
A_invalid_MemMgrType =
Assert.Desc {
msg: "A_invalid_MemMgrType: Invalid MemMgrType"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.A_localProtection // module-wide |
 |
Assert raised when local protection provided is not sufficient for
ClientNotifyMgr
XDCscript usage |
meta-domain |
msg: "A_localProtection: Insufficient local protection "
};
C SYNOPSIS
config FrameQBufMgr_ShMem.A_nullHandle // module-wide |
 |
Assert raised when null handle is returned from modules
XDCscript usage |
meta-domain |
msg: "A_nullHandle: Null Handle"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.A_nullPointer // module-wide |
 |
Assert raised when a null pointer needs to be dereferenced
XDCscript usage |
meta-domain |
msg: "A_nullPointer: Null pointer"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.Attrs_STRUCT_PADDING // module-wide |
 |
Padding required for the Attrs structure
XDCscript usage |
meta-domain |
C SYNOPSIS
config FrameQBufMgr_ShMem.CACHE_LINESIZE // module-wide |
 |
Cache line size
XDCscript usage |
meta-domain |
FrameQBufMgr_ShMem.CACHE_LINESIZE = UInt32 128;
C SYNOPSIS
config FrameQBufMgr_ShMem.E_CacheAlign // module-wide |
 |
Error raised when buffersize is not aligned to Cache line size
XDCscript usage |
meta-domain |
msg: "E_CacheAlign: BufferSize is not Cache Aligned"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.E_ClientNotifyMgrCreate // module-wide |
 |
Error raised when ClientNotifyMgr Create failed
XDCscript usage |
meta-domain |
FrameQBufMgr_ShMem.
E_ClientNotifyMgrCreate =
Error.Desc {
msg: "E_ClientNotifyMgrCreate: ClientNotifyMgr instance Create Failed"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.E_ClientNotifyMgrOpen // module-wide |
 |
Error raised when ClientNotifyMgrOpen failed
XDCscript usage |
meta-domain |
FrameQBufMgr_ShMem.
E_ClientNotifyMgrOpen =
Error.Desc {
msg: "E_ClientNotifyMgrOpen: ClientNotifyMgrOpen instance Open Failed"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.E_Fail // module-wide |
 |
Error raised when postinitialize API failed
XDCscript usage |
meta-domain |
msg: "E_Fail: Api failed"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.E_FrameQBufMgrNotCreated // module-wide |
 |
Error raised when FrameQBufMgr is not created
XDCscript usage |
meta-domain |
FrameQBufMgr_ShMem.
E_FrameQBufMgrNotCreated =
Error.Desc {
msg: "E_FrameQBufMgrNotCreated: FrameQBufMgr instance is not created"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.E_FrameQBufMgrNotFound // module-wide |
 |
Error raised when FrameQBufMgr is not Found in NameServer
XDCscript usage |
meta-domain |
FrameQBufMgr_ShMem.
E_FrameQBufMgrNotFound =
Error.Desc {
msg: "E_FrameQBufMgrNotFound: FrameQBufMgr instance is not found in NameServer"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.E_GateMPCreate // module-wide |
 |
Error raised when GateMP create failed
XDCscript usage |
meta-domain |
msg: "E_GateMPCreate: GateMP create instance create failed"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.E_GateMPOpen // module-wide |
 |
Error raised when GateMP open failed
XDCscript usage |
meta-domain |
msg: "E_GateMPOpen: GateMP instance open failed"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.E_InvAddr // module-wide |
 |
Error raised when Insufficient shared addrprovided to create call
XDCscript usage |
meta-domain |
msg: "E_InvAddr: Shared Addr provide to create call is NULL"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.E_InvArg // module-wide |
 |
Error raised when invalid arguments passed to the create call
XDCscript usage |
meta-domain |
msg: "E_InvArg: Invalid arguments passed"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.E_InvSize // module-wide |
 |
Error raised when Insufficient shared memory provided to create call
XDCscript usage |
meta-domain |
msg: "E_InvSize: SharedMemory provided to create call is less than the instance shared memory requirements"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.E_InvalidMemMgrType // module-wide |
 |
Error raised when invalid MemMgr type specified
XDCscript usage |
meta-domain |
FrameQBufMgr_ShMem.
E_InvalidMemMgrType =
Error.Desc {
msg: "E_InvalidMemMgrType: MemMgr type specified is invalid"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.E_MemoryAlloc // module-wide |
 |
Error raised when Memory_alloc API failed
XDCscript usage |
meta-domain |
msg: "E_MemoryAlloc: Memory_alloc failed"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.E_maxInstances // module-wide |
 |
Error raised when max instances limit is reached
XDCscript usage |
meta-domain |
msg: "E_maxInstances: max instances limit reached"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.E_postInitFail // module-wide |
 |
Error raised when postinitialize API failed
XDCscript usage |
meta-domain |
msg: "E_postInitFail: Instance post init failed"
};
C SYNOPSIS
config FrameQBufMgr_ShMem.MAXINSTANCES // module-wide |
 |
Maximum number of instances that can be created for this module
XDCscript usage |
meta-domain |
FrameQBufMgr_ShMem.MAXINSTANCES = UInt32 64;
C SYNOPSIS
config FrameQBufMgr_ShMem.MAX_NAMELEN // module-wide |
 |
Maximum length of the name strings
XDCscript usage |
meta-domain |
FrameQBufMgr_ShMem.MAX_NAMELEN = UInt32 32;
C SYNOPSIS
config FrameQBufMgr_ShMem.NOTIFY_RESERVED_EVENTNO // module-wide |
 |
Event Number to be used by FrameQBufMgr module
XDCscript usage |
meta-domain |
FrameQBufMgr_ShMem.NOTIFY_RESERVED_EVENTNO = UInt32 3;
C SYNOPSIS
config FrameQBufMgr_ShMem.nameServer // module-wide |
 |
Handle to the name server
XDCscript usage |
meta-domain |
C SYNOPSIS
config FrameQBufMgr_ShMem.usedefaultgate // module-wide |
 |
If set to true FrameQBufMgr instances will use dafault gate set in
FrameQBufMgr.
If default gate is not set in FrameQBufMgr, it uses GateMP's default
gate. Set it to zero if FrameQBufMgr needs to create gate for a
instance (remoteProtect and localProtect flags should be valid in
params in this case)
XDCscript usage |
meta-domain |
FrameQBufMgr_ShMem.usedefaultgate = Bool false;
C SYNOPSIS
metaonly config FrameQBufMgr_ShMem.common$ // module-wide |
 |
Common module configuration parameters
XDCscript usage |
meta-domain |
DETAILS
All modules have this configuration parameter. Its name
contains the '$' character to ensure it does not conflict with
configuration parameters declared by the module. This allows
new configuration parameters to be added in the future without
any chance of breaking existing modules.
metaonly config FrameQBufMgr_ShMem.nameSrvPrms // module-wide |
 |
This Params object is used for temporary storage of the
module wide parameters that are for setting the NameServer instance
XDCscript usage |
meta-domain |
metaonly config FrameQBufMgr_ShMem.tableSection // module-wide |
 |
Section name is used to place the names table
XDCscript usage |
meta-domain |
FrameQBufMgr_ShMem.tableSection = String null;
metaonly config FrameQBufMgr_ShMem.useNameServer // module-wide |
 |
Whether to have this module use the NameServer or not
XDCscript usage |
meta-domain |
FrameQBufMgr_ShMem.useNameServer = Bool true;
DETAILS
Currently defaulted to false because static creation of NameServer
instances is not supported.
Instance Config Parameters |
 |
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
// Instance config-params object
params.align = SizeT 0;
// Alignment (in MAUs) of each block
//
// Create params common to all the implementations of FrameQBufMgr
size: 0,
name: null,
openFlag: false
};
params.cpuAccessFlags = UInt32 0;
// Cache flags denoting whether cache coherence operations are needed to be performed on instance shared control structures
// Frame buffer params common to all types of allocations of buffers
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null
];
params.frameBufSizes = UInt32** null;
// UInt32 pointer to pointer pointing to frame buf sizes of frame buffers in
each pool
params.frameHeaderBufSize = UInt32* null;
// UInt32 pointer pointing to headerBuffer sizes in
each pool
params.frmBuf_regionId = UInt32 0;
// Shared region ID for Frame buffers
// IGateProvider used for critical region management of the shared memory
params.hdrBuf_regionId = UInt32 0;
// Shared region ID for Header buffers
//
// Default local protection level for the module instance
params.numFrameBufsInFrame = UInt32* null;
// UInt32 pointer pointing to number of frame buffers in
each pool
params.numFreeFramePools = UInt32 0;
// Number of buffer pools
params.numFreeFramesInPool = UInt32* null;
// UInt32 pointer pointing to Number of frames in each pool
params.numFreeHeaderBufsInPool = UInt32* null;
// UInt32 pointer pointing to Number of additional frame headers in
each pool
params.numNotifyEntries = UInt32 1;
// How many clients that do reister callback function with the instance
params.regionId = UInt32 0;
// Shared region ID
// Default multiprocessor protection for the module instances
params.sharedAddr = Ptr null;
// Virtual Address of the shared memory.Must be mapped
on other processors if instance needs to be accessible
from other processors
params.sharedAddrFrmBuf = Ptr null;
// Virtual shared Region Address of chunk for frame buffers
params.sharedAddrFrmBufSize = UInt32 0;
// sharedAddrHdrBufSize Size of the sharedAddrFrmBuf
params.sharedAddrHdrBuf = Ptr null;
// Virtual Address of the shared memory for frame header buffers.Must be mapped
on other processors if the buffers managed by this instance needs to be
accessible from other processors
params.sharedAddrHdrBufSize = UInt32 0;
// Size of sharedAddrHdrBuf
params.sharedAddrSize = UInt32 0;
// Size of shareAddr
config FrameQBufMgr_ShMem.align // instance |
 |
Alignment (in MAUs) of each block
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
params.align = SizeT 0;
DETAILS
The alignment must be a power of 2. If the value 0 is specified,
the value will be changed to meet the minimum structure alignment
requirements (refer to
xdc.runtime.Memory.getMaxDefaultTypeAlign and
xdc.runtime.Memory.getMaxDefaultTypeAlignMeta),
so the actual alignment may be larger.
For static creates, the FrameQBufMgr will allocate space for the buffer
and will align the buffer on this requested alignment.
For dynamic creates, this parameter is used solely for error checking.
The buffer provided to a dynamically created FrameQBufMgr must be aligned
manually, and an assert will be raised if the buffer is not properly
aligned. For dynamic creates, FrameQBufMgr will NOT adjust the buffer to
satisfy the alignment.
The default alignment is 0.
C SYNOPSIS
config FrameQBufMgr_ShMem.bufInterfaceType // instance |
 |
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
C SYNOPSIS
config FrameQBufMgr_ShMem.commonCreateParams // instance |
 |
Create params common to all the implementations of FrameQBufMgr
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
size: 0,
name: null,
openFlag: false
};
C SYNOPSIS
config FrameQBufMgr_ShMem.cpuAccessFlags // instance |
 |
Cache flags denoting whether cache coherence operations are needed to be performed on instance shared control structures
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
params.cpuAccessFlags = UInt32 0;
C SYNOPSIS
config FrameQBufMgr_ShMem.frameBufParams // instance |
 |
Frame buffer params common to all types of allocations of buffers
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null
];
C SYNOPSIS
config FrameQBufMgr_ShMem.frameBufSizes // instance |
 |
UInt32 pointer to pointer pointing to frame buf sizes of frame buffers in
each pool
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
params.frameBufSizes = UInt32** null;
C SYNOPSIS
config FrameQBufMgr_ShMem.frameHeaderBufSize // instance |
 |
UInt32 pointer pointing to headerBuffer sizes in
each pool
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
params.frameHeaderBufSize = UInt32* null;
C SYNOPSIS
config FrameQBufMgr_ShMem.frmBuf_regionId // instance |
 |
Shared region ID for Frame buffers
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
params.frmBuf_regionId = UInt32 0;
DETAILS
The ID corresponding to the shared region in From which Frame buffers will be allocated
if sharedAddrFrmBuf is not provided.
C SYNOPSIS
config FrameQBufMgr_ShMem.gate // instance |
 |
IGateProvider used for critical region management of the shared memory
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
DETAILS
This must be a shared memory gate.
C SYNOPSIS
config FrameQBufMgr_ShMem.hdrBuf_regionId // instance |
 |
Shared region ID for Header buffers
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
params.hdrBuf_regionId = UInt32 0;
DETAILS
The ID corresponding to the shared region in From which Header buffers will be allocated
if sharedAddrHdrBuf is not provided.
C SYNOPSIS
config FrameQBufMgr_ShMem.headerInterfaceType // instance |
 |
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
C SYNOPSIS
config FrameQBufMgr_ShMem.localProtect // instance |
 |
Default local protection level for the module instance
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
C SYNOPSIS
config FrameQBufMgr_ShMem.numFrameBufsInFrame // instance |
 |
UInt32 pointer pointing to number of frame buffers in
each pool
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
params.numFrameBufsInFrame = UInt32* null;
C SYNOPSIS
config FrameQBufMgr_ShMem.numFreeFramePools // instance |
 |
Number of buffer pools
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
params.numFreeFramePools = UInt32 0;
DETAILS
Required parameter.
The default number of free Frame pools is 0.
C SYNOPSIS
config FrameQBufMgr_ShMem.numFreeFramesInPool // instance |
 |
UInt32 pointer pointing to Number of frames in each pool
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
params.numFreeFramesInPool = UInt32* null;
C SYNOPSIS
config FrameQBufMgr_ShMem.numFreeHeaderBufsInPool // instance |
 |
UInt32 pointer pointing to Number of additional frame headers in
each pool
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
params.numFreeHeaderBufsInPool = UInt32* null;
C SYNOPSIS
config FrameQBufMgr_ShMem.numNotifyEntries // instance |
 |
How many clients that do reister callback function with the instance
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
params.numNotifyEntries = UInt32 1;
C SYNOPSIS
config FrameQBufMgr_ShMem.regionId // instance |
 |
Shared region ID
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
params.regionId = UInt32 0;
DETAILS
The ID corresponding to the shared region in which this shared instance
is to be placed.
C SYNOPSIS
config FrameQBufMgr_ShMem.remoteProtect // instance |
 |
Default multiprocessor protection for the module instances
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
C SYNOPSIS
config FrameQBufMgr_ShMem.sharedAddr // instance |
 |
Virtual Address of the shared memory.Must be mapped
on other processors if instance needs to be accessible
from other processors
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
params.sharedAddr = Ptr null;
DETAILS
The creator must supply the shared memory that
this will use for maintain shared state information.
Required parameter.
C SYNOPSIS
config FrameQBufMgr_ShMem.sharedAddrFrmBuf // instance |
 |
Virtual shared Region Address of chunk for frame buffers
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
params.sharedAddrFrmBuf = Ptr null;
C SYNOPSIS
config FrameQBufMgr_ShMem.sharedAddrFrmBufSize // instance |
 |
sharedAddrHdrBufSize Size of the sharedAddrFrmBuf
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
params.sharedAddrFrmBufSize = UInt32 0;
C SYNOPSIS
config FrameQBufMgr_ShMem.sharedAddrHdrBuf // instance |
 |
Virtual Address of the shared memory for frame header buffers.Must be mapped
on other processors if the buffers managed by this instance needs to be
accessible from other processors
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
params.sharedAddrHdrBuf = Ptr null;
DETAILS
The creator can supply the shared memory that this will use for
maintaining the data buffers. Applications can create instances without
passing this address.In this case applications need to add buffers to
the instance at runtime.
C SYNOPSIS
config FrameQBufMgr_ShMem.sharedAddrHdrBufSize // instance |
 |
Size of sharedAddrHdrBuf
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
params.sharedAddrHdrBufSize = UInt32 0;
C SYNOPSIS
config FrameQBufMgr_ShMem.sharedAddrSize // instance |
 |
Size of shareAddr
XDCscript usage |
meta-domain |
var params = new FrameQBufMgr_ShMem.Params;
...
params.sharedAddrSize = UInt32 0;
DETAILS
Can use the
sharedMemReq or
sharedMemReqMeta call to
determine the required size.
Required parameter.
C SYNOPSIS