The Processor Manager on a master processor provides control functionality for a slave device.
The ProcMgr module provides the following services for the slave processor:
Internally, processor management is composed of:
All processors in the system shall be identified by unique processor ID. The management of this processor ID is done by the MultiProc module.
Go to the source code of this file.
Data Structures | |
struct | ProcMgr_AttachParams_tag |
Configuration parameters specific to the slave ProcMgr instance. More... | |
struct | ProcMgr_StartParams_tag |
Configuration parameters to be provided while starting the slave processor. More... | |
struct | ProcMgr_AddrInfo_tag |
This structure defines information about memory regions mapped by the ProcMgr module. More... | |
struct | ProcMgr_MappedMemEntry |
Structure containing information of mapped memory regions. More... | |
struct | ProcMgr_ProcInfo_tag |
Characteristics of the slave processor. More... | |
struct | ProcMgr_SectionInfo_tag |
Characteristics of sections in executable. More... | |
Defines | |
#define | ProcMgr_S_SETUP 5 |
Other ProcMgr clients have still setup the ProcMgr module. | |
#define | ProcMgr_S_OPENHANDLE 4 |
Other ProcMgr handles are still open in this process. | |
#define | ProcMgr_S_ALREADYEXISTS 3 |
The ProcMgr instance has already been created/opened in this process. | |
#define | ProcMgr_S_BUSY 2 |
The resource is still in use. | |
#define | ProcMgr_S_ALREADYSETUP 1 |
The module has been already setup. | |
#define | ProcMgr_S_SUCCESS 0 |
Operation is successful. | |
#define | ProcMgr_E_FAIL -1 |
Generic failure. | |
#define | ProcMgr_E_INVALIDARG -2 |
Argument passed to function is invalid. | |
#define | ProcMgr_E_MEMORY -3 |
Operation resulted in memory failure. | |
#define | ProcMgr_E_ALREADYEXISTS -4 |
The specified entity already exists. | |
#define | ProcMgr_E_NOTFOUND -5 |
Unable to find the specified entity. | |
#define | ProcMgr_E_TIMEOUT -6 |
Operation timed out. | |
#define | ProcMgr_E_INVALIDSTATE -7 |
Module is not initialized. | |
#define | ProcMgr_E_OSFAILURE -8 |
A failure occurred in an OS-specific call. | |
#define | ProcMgr_E_RESOURCE -9 |
Specified resource is not available. | |
#define | ProcMgr_E_RESTART -10 |
Operation was interrupted. Please restart the operation. | |
#define | ProcMgr_E_HANDLE -11 |
Invalid object handle specified. | |
#define | ProcMgr_E_ACCESSDENIED -12 |
The operation is not permitted in this process. | |
#define | ProcMgr_E_TRANSLATE -13 |
An address translation error occurred. | |
#define | ProcMgr_E_SYMBOLNOTFOUND -14 |
Could not find the specified symbol in the loaded file. | |
#define | ProcMgr_E_MAP -15 |
Failed to map/unmap an address range. | |
#define | ProcMgr_MAX_MEMORY_REGIONS 32u |
Maximum number of memory regions supported by ProcMgr module. | |
#define | IS_VALID_PROCID(id) (id < MultiProc_MAXPROCESSORS) |
Checks if the Processor ID is valid. | |
#define | ProcMgr_MASTERKNLVIRT (ProcMgr_MapMask)(1 << 0) |
Kernel virtual address on master processor. | |
#define | ProcMgr_MASTERUSRVIRT (ProcMgr_MapMask)(1 << 1) |
User virtual address on master processor. | |
#define | ProcMgr_SLAVEVIRT (ProcMgr_MapMask)(1 << 2) |
Virtual address on slave processor. | |
Typedefs | |
typedef struct ProcMgr_Object * | ProcMgr_Handle |
Defines ProcMgr object handle. | |
typedef UInt32 | ProcMgr_MapMask |
Address Map Mask type. | |
typedef struct ProcMgr_AttachParams_tag | ProcMgr_AttachParams |
Configuration parameters specific to the slave ProcMgr instance. | |
typedef struct ProcMgr_StartParams_tag | ProcMgr_StartParams |
Configuration parameters to be provided while starting the slave processor. | |
typedef struct ProcMgr_AddrInfo_tag | ProcMgr_AddrInfo |
This structure defines information about memory regions mapped by the ProcMgr module. | |
typedef struct ProcMgr_MappedMemEntry | ProcMgr_MappedMemEntry |
Structure containing information of mapped memory regions. | |
typedef struct ProcMgr_ProcInfo_tag | ProcMgr_ProcInfo |
Characteristics of the slave processor. | |
typedef struct ProcMgr_SectionInfo_tag | ProcMgr_SectionInfo |
Characteristics of sections in executable. | |
Enumerations | |
enum | ProcMgr_State { ProcMgr_State_Unknown = 0u, ProcMgr_State_Powered = 1u, ProcMgr_State_Reset = 2u, ProcMgr_State_Loaded = 3u, ProcMgr_State_Running = 4u, ProcMgr_State_Unavailable = 5u, ProcMgr_State_EndValue = 6u } |
Enumerations to indicate Processor states. More... | |
enum | ProcMgr_BootMode { ProcMgr_BootMode_Boot = 0u, ProcMgr_BootMode_NoLoad_Pwr = 1u, ProcMgr_BootMode_NoLoad_NoPwr = 2u, ProcMgr_BootMode_NoBoot = 3u, ProcMgr_BootMode_EndValue = 4u } |
Enumerations to indicate different types of slave boot modes. More... | |
enum | ProcMgr_AddrType { ProcMgr_AddrType_MasterKnlVirt = 0u, ProcMgr_AddrType_MasterUsrVirt = 1u, ProcMgr_AddrType_MasterPhys = 2u, ProcMgr_AddrType_SlaveVirt = 3u, ProcMgr_AddrType_SlavePhys = 4u, ProcMgr_AddrType_EndValue = 5u } |
Enumerations to indicate address types used for translation. More... | |
Functions | |
Int | ProcMgr_open (ProcMgr_Handle *handlePtr, UInt16 procId) |
Function to open a handle to an existing ProcMgr object handling the procId. | |
Int | ProcMgr_close (ProcMgr_Handle *handlePtr) |
Function to close this handle to the ProcMgr instance. | |
Void | ProcMgr_getAttachParams (ProcMgr_Handle handle, ProcMgr_AttachParams *params) |
Function to initialize the parameters for the ProcMgr attach function. | |
Int | ProcMgr_attach (ProcMgr_Handle handle, ProcMgr_AttachParams *params) |
Function to attach the client to the specified slave and also initialize the slave (if required). | |
Int | ProcMgr_detach (ProcMgr_Handle handle) |
Function to detach the client from the specified slave and also finalze the slave (if required). | |
Int | ProcMgr_load (ProcMgr_Handle handle, String imagePath, UInt32 argc, String *argv, Ptr params, UInt32 *fileId) |
Function to load the specified slave executable on the slave Processor. | |
Int | ProcMgr_unload (ProcMgr_Handle handle, UInt32 fileId) |
Function to unload the previously loaded file on the slave processor. | |
Void | ProcMgr_getStartParams (ProcMgr_Handle handle, ProcMgr_StartParams *params) |
Function to initialize the parameters for the ProcMgr start function. | |
Int | ProcMgr_start (ProcMgr_Handle handle, ProcMgr_StartParams *params) |
Start the slave processor running. | |
Int | ProcMgr_stop (ProcMgr_Handle handle) |
Stop the slave processor. | |
ProcMgr_State | ProcMgr_getState (ProcMgr_Handle handle) |
Function to get the current state of the slave Processor. | |
Int | ProcMgr_read (ProcMgr_Handle handle, UInt32 procAddr, UInt32 *numBytes, Ptr buffer) |
Function to read from the slave processor's memory. | |
Int | ProcMgr_write (ProcMgr_Handle handle, UInt32 procAddr, UInt32 *numBytes, Ptr buffer) |
Function to write into the slave processor's memory. | |
Int | ProcMgr_control (ProcMgr_Handle handle, Int32 cmd, Ptr arg) |
Perform device-dependent operations. | |
Int | ProcMgr_translateAddr (ProcMgr_Handle handle, Ptr *dstAddr, ProcMgr_AddrType dstAddrType, Ptr srcAddr, ProcMgr_AddrType srcAddrType) |
Translate between two types of address spaces. | |
Int | ProcMgr_getSymbolAddress (ProcMgr_Handle handle, UInt32 fileId, String symbolName, UInt32 *symValue) |
Function to retrieve the target address of a symbol from the specified file. | |
Int | ProcMgr_map (ProcMgr_Handle handle, ProcMgr_MapMask mapMask, ProcMgr_AddrInfo *addrInfo, ProcMgr_AddrType srcAddrType) |
Function to map address to specified destination type(s). | |
Int | ProcMgr_unmap (ProcMgr_Handle handle, ProcMgr_MapMask mapMask, ProcMgr_AddrInfo *addrInfo, ProcMgr_AddrType srcAddrType) |
Function to map address to slave address space. | |
Int | ProcMgr_getProcInfo (ProcMgr_Handle handle, ProcMgr_ProcInfo *procInfo) |
Retrieve information about the slave processor. | |
Int | ProcMgr_getSectionInfo (ProcMgr_Handle handle, UInt32 fileId, String sectionName, ProcMgr_SectionInfo *sectionInfo) |
Function that returns section information given the name of section and number of bytes to read. | |
Int | ProcMgr_getSectionData (ProcMgr_Handle handle, UInt32 fileId, ProcMgr_SectionInfo *sectionInfo, Ptr buffer) |
UInt32 | ProcMgr_getLoadedFileId (ProcMgr_Handle handle) |
#define ProcMgr_S_SETUP 5 |
Other ProcMgr clients have still setup the ProcMgr module.
#define ProcMgr_S_OPENHANDLE 4 |
Other ProcMgr handles are still open in this process.
#define ProcMgr_S_ALREADYEXISTS 3 |
The ProcMgr instance has already been created/opened in this process.
#define ProcMgr_S_BUSY 2 |
The resource is still in use.
#define ProcMgr_S_ALREADYSETUP 1 |
The module has been already setup.
#define ProcMgr_S_SUCCESS 0 |
Operation is successful.
#define ProcMgr_E_FAIL -1 |
Generic failure.
#define ProcMgr_E_INVALIDARG -2 |
Argument passed to function is invalid.
#define ProcMgr_E_MEMORY -3 |
Operation resulted in memory failure.
#define ProcMgr_E_ALREADYEXISTS -4 |
The specified entity already exists.
#define ProcMgr_E_NOTFOUND -5 |
Unable to find the specified entity.
#define ProcMgr_E_TIMEOUT -6 |
Operation timed out.
#define ProcMgr_E_INVALIDSTATE -7 |
Module is not initialized.
#define ProcMgr_E_OSFAILURE -8 |
A failure occurred in an OS-specific call.
#define ProcMgr_E_RESOURCE -9 |
Specified resource is not available.
#define ProcMgr_E_RESTART -10 |
Operation was interrupted. Please restart the operation.
#define ProcMgr_E_HANDLE -11 |
Invalid object handle specified.
#define ProcMgr_E_ACCESSDENIED -12 |
The operation is not permitted in this process.
#define ProcMgr_E_TRANSLATE -13 |
An address translation error occurred.
#define ProcMgr_E_SYMBOLNOTFOUND -14 |
Could not find the specified symbol in the loaded file.
#define ProcMgr_E_MAP -15 |
Failed to map/unmap an address range.
#define ProcMgr_MAX_MEMORY_REGIONS 32u |
Maximum number of memory regions supported by ProcMgr module.
#define IS_VALID_PROCID | ( | id ) | (id < MultiProc_MAXPROCESSORS) |
Checks if the Processor ID is valid.
#define ProcMgr_MASTERKNLVIRT (ProcMgr_MapMask)(1 << 0) |
Kernel virtual address on master processor.
#define ProcMgr_MASTERUSRVIRT (ProcMgr_MapMask)(1 << 1) |
User virtual address on master processor.
#define ProcMgr_SLAVEVIRT (ProcMgr_MapMask)(1 << 2) |
Virtual address on slave processor.
typedef struct ProcMgr_Object* ProcMgr_Handle |
Defines ProcMgr object handle.
typedef UInt32 ProcMgr_MapMask |
Address Map Mask type.
typedef struct ProcMgr_AttachParams_tag ProcMgr_AttachParams |
Configuration parameters specific to the slave ProcMgr instance.
typedef struct ProcMgr_StartParams_tag ProcMgr_StartParams |
Configuration parameters to be provided while starting the slave processor.
typedef struct ProcMgr_AddrInfo_tag ProcMgr_AddrInfo |
This structure defines information about memory regions mapped by the ProcMgr module.
typedef struct ProcMgr_MappedMemEntry ProcMgr_MappedMemEntry |
Structure containing information of mapped memory regions.
typedef struct ProcMgr_ProcInfo_tag ProcMgr_ProcInfo |
Characteristics of the slave processor.
typedef struct ProcMgr_SectionInfo_tag ProcMgr_SectionInfo |
Characteristics of sections in executable.
enum ProcMgr_State |
Enumerations to indicate Processor states.
enum ProcMgr_BootMode |
Enumerations to indicate different types of slave boot modes.
enum ProcMgr_AddrType |
Enumerations to indicate address types used for translation.
Int ProcMgr_open | ( | ProcMgr_Handle * | handlePtr, |
UInt16 | procId | ||
) |
Function to open a handle to an existing ProcMgr object handling the procId.
This function returns a handle to an existing ProcMgr instance created for this procId. It enables other entities to access and use this ProcMgr instance.
[out] | handlePtr | Return Parameter: Handle to the ProcMgr instance |
[in] | procId | Processor ID represented by this ProcMgr instance |
ProcMgr_S_SUCCESS | Operation successful |
ProcMgr_E_INVALIDARG | Invalid parameter specified |
ProcMgr_E_INVALIDSTATE | Module was not initialized |
ProcMgr_S_ALREADYEXISTS | Object is already created/opened in this process |
ProcMgr_E_MAP | Failed to map address range to host OS |
ProcMgr_E_OSFAILURE | Failed in an OS-specific call |
ProcMgr_E_MEMORY | Memory allocation failed |
Int ProcMgr_close | ( | ProcMgr_Handle * | handlePtr ) |
Function to close this handle to the ProcMgr instance.
This function closes the handle to the ProcMgr instance obtained through ProcMgr_open call made earlier. The handle in the passed pointer is reset on success.
[in] | handlePtr | Pointer to the ProcMgr handle |
ProcMgr_S_SUCCESS | Operation successful |
ProcMgr_E_INVALIDARG | Invalid parameter specified |
ProcMgr_E_INVALIDSTATE | Module was not initialized |
ProcMgr_E_ACCESSDENIED | All open handles to this ProcMgr object are already closed |
ProcMgr_S_OPENHANDLE | Other threads in this process have already opened handles to this ProcMgr instance. |
ProcMgr_E_OSFAILURE | Failed in an OS-specific call |
Void ProcMgr_getAttachParams | ( | ProcMgr_Handle | handle, |
ProcMgr_AttachParams * | params | ||
) |
Function to initialize the parameters for the ProcMgr attach function.
This function can be called by the application to get their configuration parameter to ProcMgr_attach filled in by the ProcMgr module with the default parameters. If the user does not wish to make any change in the default parameters, this API is not required to be called.
handle | Handle to the ProcMgr object. If specified as NULL, the default global configuration values are returned. |
params | Pointer to the ProcMgr attach params structure in which the default params is to be returned. |
Int ProcMgr_attach | ( | ProcMgr_Handle | handle, |
ProcMgr_AttachParams * | params | ||
) |
Function to attach the client to the specified slave and also initialize the slave (if required).
NULL
parameters. The default parameters would get automatically used.[in] | handle | Handle to the ProcMgr object. |
[in] | params | Optional ProcMgr attach parameters. If provided as NULL, default configuration is used. |
ProcMgr_S_SUCCESS | Operation successful |
ProcMgr_E_INVALIDARG | Invalid parameter specified |
ProcMgr_E_INVALIDSTATE | Module was not initialized |
ProcMgr_E_HANDLE | Invalid NULL handle specified |
ProcMgr_E_MAP | Failed to map address range to host OS |
ProcMgr_E_OSFAILURE | Failed in an OS-specific call |
Int ProcMgr_detach | ( | ProcMgr_Handle | handle ) |
Function to detach the client from the specified slave and also finalze the slave (if required).
[in] | handle | Handle to the ProcMgr object |
ProcMgr_S_SUCCESS | Operation successful |
ProcMgr_E_INVALIDARG | Invalid parameter specified |
ProcMgr_E_INVALIDSTATE | Module was not initialized |
ProcMgr_E_HANDLE | Invalid NULL handle specified |
ProcMgr_E_OSFAILURE | Failed in an OS-specific call |
Int ProcMgr_load | ( | ProcMgr_Handle | handle, |
String | imagePath, | ||
UInt32 | argc, | ||
String * | argv, | ||
Ptr | params, | ||
UInt32 * | fileId | ||
) |
Function to load the specified slave executable on the slave Processor.
[in] | handle | Handle to the ProcMgr object |
[in] | imagePath | Full file path |
[in] | argc | Number of arguments |
[in] | argv | String array of arguments |
[in] | params | Loader specific parameters |
[in,out] | fileId | Return parameter: ID of the loaded file |
ProcMgr_S_SUCCESS | Operation successful |
ProcMgr_E_INVALIDARG | Invalid parameter specified |
ProcMgr_E_INVALIDSTATE | Module was not initialized |
ProcMgr_E_HANDLE | Invalid NULL handle specified |
ProcMgr_E_OSFAILURE | Failed in an OS-specific call |
Int ProcMgr_unload | ( | ProcMgr_Handle | handle, |
UInt32 | fileId | ||
) |
Function to unload the previously loaded file on the slave processor.
[in] | handle | Handle to the ProcMgr object |
[in] | fileId | ID of the loaded file to be unloaded |
ProcMgr_S_SUCCESS | Operation successful |
ProcMgr_E_INVALIDARG | Invalid parameter specified |
ProcMgr_E_INVALIDSTATE | Module was not initialized |
ProcMgr_E_HANDLE | Invalid NULL handle specified |
ProcMgr_E_OSFAILURE | Failed in an OS-specific call |
Void ProcMgr_getStartParams | ( | ProcMgr_Handle | handle, |
ProcMgr_StartParams * | params | ||
) |
Function to initialize the parameters for the ProcMgr start function.
[in] | handle | Handle to the ProcMgr object. If NULL , the default global configuration values are returned. |
params | Pointer to the ProcMgr start params structure in which the default params is to be returned. |
Int ProcMgr_start | ( | ProcMgr_Handle | handle, |
ProcMgr_StartParams * | params | ||
) |
Start the slave processor running.
[in] | handle | Handle to the ProcMgr object |
[in] | params | Optional ProcMgr start parameters. If NULL , default parameters are used. |
ProcMgr_S_SUCCESS | Operation successful |
ProcMgr_E_INVALIDARG | Invalid parameter specified |
ProcMgr_E_INVALIDSTATE | Module was not initialized |
ProcMgr_E_HANDLE | Invalid NULL handle specified |
ProcMgr_E_SYMBOLNOTFOUND | Entry ponit symbol not found in loaded file |
ProcMgr_E_OSFAILURE | Failed in an OS-specific call |
Int ProcMgr_stop | ( | ProcMgr_Handle | handle ) |
Stop the slave processor.
handle | Handle to the ProcMgr object |
ProcMgr_S_SUCCESS | Operation successful |
ProcMgr_E_INVALIDARG | Invalid parameter specified |
ProcMgr_E_INVALIDSTATE | Module was not initialized |
ProcMgr_E_HANDLE | Invalid NULL handle specified |
ProcMgr_E_OSFAILURE | Failed in an OS-specific call |
ProcMgr_State ProcMgr_getState | ( | ProcMgr_Handle | handle ) |
Function to get the current state of the slave Processor.
[in] | handle | Handle to the ProcMgr object |
Processor-state | Operation successful |
Int ProcMgr_read | ( | ProcMgr_Handle | handle, |
UInt32 | procAddr, | ||
UInt32 * | numBytes, | ||
Ptr | buffer | ||
) |
Function to read from the slave processor's memory.
[in] | handle | Handle to the ProcMgr object |
procAddr | Address in space processor's address space of the memory region to read from. | |
[in,out] | numBytes | As an IN-parameter, it takes in the number of bytes to be read. When the function returns, this parameter contains the number of bytes actually read. |
[in,out] | buffer | User-provided buffer in which the slave processor's memory contents are to be copied. |
handle
is a valid (non-NULL) ProcMgr handle.ProcMgr_S_SUCCESS | Operation successful |
ProcMgr_E_INVALIDARG | Invalid parameter specified |
ProcMgr_E_INVALIDSTATE | Module was not initialized |
ProcMgr_E_HANDLE | Invalid NULL handle specified |
ProcMgr_E_TRANSLATE | Address is not mapped |
ProcMgr_E_OSFAILURE | Failed in an OS-specific call |
Int ProcMgr_write | ( | ProcMgr_Handle | handle, |
UInt32 | procAddr, | ||
UInt32 * | numBytes, | ||
Ptr | buffer | ||
) |
Function to write into the slave processor's memory.
This function writes into the specified address in the processor's address space and copies the required number of bytes from the specified buffer. It returns the number of bytes actually written in the numBytes parameter.
[in] | handle | Handle to the ProcMgr object |
[in] | procAddr | Address in space processor's address space of the memory region to write into. |
[in,out] | numBytes | As an IN-parameter, it takes in the number of bytes to be written. When the function returns, this parameter contains the number of bytes actually written. |
[in] | buffer | User-provided buffer from which the data is to be written into the slave processor's memory. |
ProcMgr_S_SUCCESS | Operation successful |
ProcMgr_E_INVALIDARG | Invalid parameter specified |
ProcMgr_E_INVALIDSTATE | Module was not initialized |
ProcMgr_E_HANDLE | Invalid NULL handle specified |
ProcMgr_E_TRANSLATE | Address is not mapped |
ProcMgr_E_OSFAILURE | Failed in an OS-specific call |
Int ProcMgr_control | ( | ProcMgr_Handle | handle, |
Int32 | cmd, | ||
Ptr | arg | ||
) |
Perform device-dependent operations.
[in] | handle | Handle to the ProcMgr object |
[in] | cmd | Device specific processor command |
[in] | arg | Arguments specific to the type of command. |
ProcMgr_S_SUCCESS | Operation successful |
ProcMgr_E_INVALIDARG | Invalid parameter specified |
ProcMgr_E_INVALIDSTATE | Module was not initialized |
ProcMgr_E_HANDLE | Invalid NULL handle specified |
ProcMgr_E_OSFAILURE | Failed in an OS-specific call |
Int ProcMgr_translateAddr | ( | ProcMgr_Handle | handle, |
Ptr * | dstAddr, | ||
ProcMgr_AddrType | dstAddrType, | ||
Ptr | srcAddr, | ||
ProcMgr_AddrType | srcAddrType | ||
) |
Translate between two types of address spaces.
[in] | handle | Handle to the ProcMgr object |
[out] | dstAddr | Return parameter: Pointer to receive the translated address. |
[in] | dstAddrType | Destination address type requested |
[in] | srcAddr | Source address in the source address space |
[in] | srcAddrType | Source address type |
ProcMgr_S_SUCCESS | Operation successful |
ProcMgr_E_INVALIDARG | Invalid parameter specified |
ProcMgr_E_INVALIDSTATE | Module was not initialized |
ProcMgr_E_HANDLE | Invalid NULL handle specified |
ProcMgr_E_TRANSLATE | Failed to translate address. |
ProcMgr_E_OSFAILURE | Failed in an OS-specific call |
Int ProcMgr_getSymbolAddress | ( | ProcMgr_Handle | handle, |
UInt32 | fileId, | ||
String | symbolName, | ||
UInt32 * | symValue | ||
) |
Function to retrieve the target address of a symbol from the specified file.
[in] | handle | Handle to the ProcMgr object |
[in] | fileId | ID of the file received from the load function |
[in] | symbolName | Name of the symbol |
[out] | symValue | Return parameter: Symbol address |
ProcMgr_S_SUCCESS | Operation successful |
ProcMgr_E_INVALIDARG | Invalid parameter specified |
ProcMgr_E_INVALIDSTATE | Module was not initialized |
ProcMgr_E_HANDLE | Invalid NULL handle specified |
ProcMgr_E_SYMBOLNOTFOUND | Symbol not found in loaded file |
ProcMgr_E_OSFAILURE | Failed in an OS-specific call |
Int ProcMgr_map | ( | ProcMgr_Handle | handle, |
ProcMgr_MapMask | mapMask, | ||
ProcMgr_AddrInfo * | addrInfo, | ||
ProcMgr_AddrType | srcAddrType | ||
) |
Function to map address to specified destination type(s).
[in] | handle | Handle to the Processor object |
[in] | mapMask | Mask of destination types of mapping to be performed. One or more types may be ORed together. |
[in,out] | addrInfo | Structure containing map info. When this API is called, user must provide a valid address for the address of srcAddrType. On successful completion of this function, this same structure shall contain valid addresses for destination address types given in mapType. |
[in] | srcAddrType | Source address type. |
ProcMgr_S_SUCCESS | Operation successful |
ProcMgr_E_INVALIDARG | Invalid parameter specified |
ProcMgr_E_INVALIDSTATE | Module was not initialized |
ProcMgr_E_HANDLE | Invalid NULL handle specified |
ProcMgr_E_MAP | Failed to map address range to host OS |
ProcMgr_E_OSFAILURE | Failed in an OS-specific call |
Int ProcMgr_unmap | ( | ProcMgr_Handle | handle, |
ProcMgr_MapMask | mapMask, | ||
ProcMgr_AddrInfo * | addrInfo, | ||
ProcMgr_AddrType | srcAddrType | ||
) |
Function to map address to slave address space.
[in] | handle | Handle to the Processor object |
[in] | mapMask | Mask of destination types of unmapping to be performed. One or more types may be ORed together. |
[in,out] | addrInfo | Structure containing map info. When this API is called, user must provide a valid address for the address of srcAddrType, as well as each of the destination types given in the mapType mask. On successful completion of this function, the specified destination mappings are unmapped. |
[in] | srcAddrType | Source address type. |
ProcMgr_S_SUCCESS | Operation successful |
ProcMgr_E_INVALIDARG | Invalid parameter specified |
ProcMgr_E_INVALIDSTATE | Module was not initialized |
ProcMgr_E_HANDLE | Invalid NULL handle specified |
ProcMgr_E_NOTFOUND | Info provided does not match with any mapped entry |
ProcMgr_E_MAP | Failed to unmap address range from host OS |
ProcMgr_E_OSFAILURE | Failed in an OS-specific call |
Int ProcMgr_getProcInfo | ( | ProcMgr_Handle | handle, |
ProcMgr_ProcInfo * | procInfo | ||
) |
Retrieve information about the slave processor.
[in] | handle | Handle to the ProcMgr object |
[out] | procInfo | Pointer to the ProcInfo object to be populated. |
ProcMgr_S_SUCCESS | Operation successful |
ProcMgr_E_INVALIDARG | Invalid parameter specified |
ProcMgr_E_INVALIDSTATE | Module was not initialized |
ProcMgr_E_HANDLE | Invalid NULL handle specified |
ProcMgr_E_OSFAILURE | Failed in an OS-specific call |
Int ProcMgr_getSectionInfo | ( | ProcMgr_Handle | handle, |
UInt32 | fileId, | ||
String | sectionName, | ||
ProcMgr_SectionInfo * | sectionInfo | ||
) |
Function that returns section information given the name of section and number of bytes to read.
[in] | handle | Handle to the ProcMgr object |
[in] | fileId | ID of the file received from the load function |
[in] | sectionName | Name of section to be retrieved |
[out] | sectionInfo | Return parameter: Section information |
ProcMgr_S_SUCCESS | Operation successful |
ProcMgr_E_INVALIDARG | Invalid parameter specified |
ProcMgr_E_INVALIDSTATE | Module was not initialized |
ProcMgr_E_HANDLE | Invalid NULL handle specified |
ProcMgr_E_OSFAILURE | Failed in an OS-specific call |
Int ProcMgr_getSectionData | ( | ProcMgr_Handle | handle, |
UInt32 | fileId, | ||
ProcMgr_SectionInfo * | sectionInfo, | ||
Ptr | buffer | ||
) |
UInt32 ProcMgr_getLoadedFileId | ( | ProcMgr_Handle | handle ) |