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

gpp/inc/mpcsdefs.h File Reference

#include <dsplink.h>
#include <archdefs.h>

Include dependency graph for gpp/inc/mpcsdefs.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  MPCS_Attrs_tag
struct  MPCS_ProcObj_tag
struct  MPCS_ShObj_tag
struct  MPCS_Entry_tag
struct  MPCS_Ctrl_tag
struct  MPCS_MemInfo_tag

MPCS_Attrs

This structure defines the attributes for creation of MPCS object.

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

Parameters:
poolId ID of the pool used to allocate the MPCS object. ============================================================================


typedef MPCS_Attrs_tag MPCS_Attrs

MPCS_ShObj

Forward declaration of MPCS_ShObj. ============================================================================

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

typedef MPCS_ShObj_tag MPCS_ShObj

MPCS_Object

Forward declaration of MPCS_Object. ============================================================================

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

typedef MPCS_Object_tag MPCS_Object

MPCS_Handle

Handle to the MPCS object. ============================================================================

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

typedef Void * MPCS_Handle

MPCS_ProcObj

This structure defines an object for a single processor used by the Multiprocessing Critical Section object.

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

Parameters:
localLock Local lock to be used for protection on specific processor. The value stored also depends on the Operating System being used
flag Flags indicating whether the shared resource is being claimed by the processor.
freeObject Contains information about whether the object was allocated internally, and needs to be freed at the time of MPCS delete.
conflicts Number of conflicts happened in MPCS Enter. Defined only when profiling is enabled.
numCalls Number of calls made to MPCS Enter. Defined only when profiling is enabled.
priority Store priority of current task in MPCS-enter. Restore priority while exiting MPCS in MPCS_leave.
mpcsEntryAddr Address of shared region MPCS_entry for debugging ============================================================================


typedef MPCS_ProcObj_tag MPCS_ProcObj

MPCS_Entry

Global entry structure for an MPCS object. Every MPCS object in the system is identified through information present in the entry structure.

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

Parameters:
ownerProcId ID of the processor that created the MPCS object.
poolId ID of the pool used to allocate the MPCS object.
physAddress Physical address of the MPCS object.
name Unique system wide name used for identifying the MPCS object.
padding Padding for alignment, depending on the platform. ============================================================================


typedef MPCS_Entry_tag MPCS_Entry

MPCS_Ctrl

This structure defines the control structure required by the MPCS component. It contains information about all MPCS objects shared between the GPP and a specific DSP.

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

Parameters:
isInitialized Indicates whether the MPCS region has been initialized.
dspId ID of the DSP with which the MPCS region is shared.
maxEntries Maximum number of MPCS instances supported by the MPCS.
ipsId ID of the IPS to be used (if any). A value of -1 indicates that no IPS is required by the MPCS.
ipsEventNo IPS Event number associated with MPCS (if any). A value of -1 indicates that no IPS is required by the MPCS.
dspAddrEntry Pointer to array in DSP address space of MPCS objects that can be created.
padding Padding for alignment, depending on the platform.
lockObj MPCS lock object to provide mutually exclusive access to the MPCS region. ============================================================================


typedef MPCS_Ctrl_tag MPCS_Ctrl

MPCS_MemInfo

Contains memory information for the MPCS component.

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

Parameters:
procId ID of the processor with which the MPCS region is shared
physAddr Physical address of the memory region for RingIO
kernAddr Kernel address of the memory region for RingIO
userAddr User address of the memory region for RingIO
size Size of the memory region for RingIO ============================================================================


typedef MPCS_MemInfo_tag MPCS_MemInfo

Defines

#define MPCSDEFS_H
#define MPCS_INVALID_ID   (Uint32) -1l
 Invalid value for identifier(s) used by the MPCS component ============================================================================.
#define MPCS_RESV_LOCKNAME   "DSPLINK_MPCS_RESV"
 Special reserved name prefix of the MPCS object(s) which are not stored in the entries table of the MPCS region. ============================================================================.
#define MPCS_RESV_LOCKNAMELEN   17u
 String length of the special reserved name prefix of the MPCS object(s) which are not stored in entries table of the MPCS region. ============================================================================.


Define Documentation

#define MPCS_INVALID_ID   (Uint32) -1l
 

Invalid value for identifier(s) used by the MPCS component ============================================================================.

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

Constant:
MPCS_INVALID_ID

Definition at line 67 of file gpp/inc/mpcsdefs.h.

#define MPCS_RESV_LOCKNAME   "DSPLINK_MPCS_RESV"
 

Special reserved name prefix of the MPCS object(s) which are not stored in the entries table of the MPCS region. ============================================================================.

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

Constant:
MPCS_RESV_LOCKNAME

Definition at line 76 of file gpp/inc/mpcsdefs.h.

#define MPCS_RESV_LOCKNAMELEN   17u
 

String length of the special reserved name prefix of the MPCS object(s) which are not stored in entries table of the MPCS region. ============================================================================.

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

Constant:
MPCS_RESV_LOCKNAMELEN

Definition at line 85 of file gpp/inc/mpcsdefs.h.

#define MPCSDEFS_H
 

Definition at line 44 of file gpp/inc/mpcsdefs.h.


Typedef Documentation

typedef struct MPCS_Attrs_tag MPCS_Attrs
 

typedef struct MPCS_Ctrl_tag MPCS_Ctrl
 

typedef struct MPCS_Entry_tag MPCS_Entry
 

typedef Void* MPCS_Handle
 

Definition at line 123 of file gpp/inc/mpcsdefs.h.

typedef struct MPCS_MemInfo_tag MPCS_MemInfo
 

typedef struct MPCS_Object_tag MPCS_Object
 

Definition at line 115 of file gpp/inc/mpcsdefs.h.

typedef struct MPCS_ProcObj_tag MPCS_ProcObj
 

typedef struct MPCS_ShObj_tag MPCS_ShObj
 

Definition at line 107 of file gpp/inc/mpcsdefs.h.


Generated on Fri Jul 16 14:34:08 2010 for DSP/BIOSLink by  doxygen 1.4.4