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

dsp/inc/mpcsdefs.h File Reference

#include <dsplink.h>

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

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

MPCS_Attrs

This structure defines the attributes for creation of MPCS object.

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

Parameters:
poolId ID of the pool from which the MPCS object is to be allocated. This must be provided when the memory for the MPCS object is to be allocated internally by the MPCS component. ============================================================================


typedef MPCS_Attrs_tag MPCS_Attrs

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_ShObj

This structure defines the shared Multiprocessor Critical Section object, which is used for protecting a specific critical section between multiple processors. The memory for this object is accessible to the two processors using the MPCS object.

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

Parameters:
gppMpcsObj MPCS object for the GPP processor.
gppPadding Padding for alignment, depending on the platform.
dspMpcsObj MPCS object for the DSP processor.
dspPadding Padding for alignment, depending on the platform.
localFlag Flag is used to identify the SEM object created during MPCS create phase or open phase
turn Indicates the processor that owns the turn to enter the critical section.
padding Padding for alignment, depending on the platform. ============================================================================


typedef MPCS_ShObj_tag MPCS_ShObj

MPCS_Obj

Multiprocessor Critical Section object, which is used for protecting a specific critical section between multiple processors. For the DSP-side, this is the same as the shared MPCS object. ============================================================================

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

typedef MPCS_ShObj MPCS_Obj

MPCS_Handle

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

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

typedef MPCS_ObjMPCS_Handle

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

Defines

#define MPCSDEFS_H
#define MPCS_INVALID_ID   (Uint32) -1
 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   17
 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) -1
 

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

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

Constant:
MPCS_INVALID_ID

Definition at line 62 of file dsp/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 71 of file dsp/inc/mpcsdefs.h.

#define MPCS_RESV_LOCKNAMELEN   17
 

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 80 of file dsp/inc/mpcsdefs.h.

#define MPCSDEFS_H
 

Definition at line 44 of file dsp/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 MPCS_Obj* MPCS_Handle
 

Definition at line 196 of file dsp/inc/mpcsdefs.h.

typedef MPCS_ShObj MPCS_Obj
 

Definition at line 188 of file dsp/inc/mpcsdefs.h.

typedef struct MPCS_ProcObj_tag MPCS_ProcObj
 

typedef struct MPCS_ShObj_tag MPCS_ShObj
 


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