module ti.sdo.ipc.family.vayu.InterruptHost

TI81xx/A8 based interrupt manager

C synopsis target-domain sourced in ti/sdo/ipc/family/vayu/InterruptHost.xdc
#include <ti/sdo/ipc/family/vayu/InterruptHost.h>
Functions common to all IInterrupt modules
UInt 
Void 
Void 
Void 
Void 
Void 
Functions common to all target modules
Defines
#define
#define
#define
#define
#define
#define
Typedefs
typedef struct
Constants
extern const UInt32 
extern const UInt32 
extern const UInt32 
 
 
const InterruptHost_NUM_BENELLI_CORES
C synopsis target-domain
#define InterruptHost_NUM_BENELLI_CORES (UInt8)2
 
 
const InterruptHost_NUM_CORES
C synopsis target-domain
#define InterruptHost_NUM_CORES (UInt8)11
 
 
const InterruptHost_NUM_EVES
C synopsis target-domain
#define InterruptHost_NUM_EVES (UInt8)4
 
 
const InterruptHost_NUM_EVE_MBX
C synopsis target-domain
#define InterruptHost_NUM_EVE_MBX (UInt8)12
 
 
const InterruptHost_NUM_HOST_CORES
C synopsis target-domain
#define InterruptHost_NUM_HOST_CORES (UInt8)1
 
 
const InterruptHost_NUM_SYS_MBX
C synopsis target-domain
#define InterruptHost_NUM_SYS_MBX (UInt8)4
 
 
struct InterruptHost_IntInfo
C synopsis target-domain
typedef struct InterruptHost_IntInfo {
    UInt localIntId;
    UInt remoteIntId;
    UInt intVectorId;
} InterruptHost_IntInfo;
 
 
config InterruptHost_mailboxBaseAddr  // module-wide
C synopsis target-domain
extern const UInt32 InterruptHost_mailboxBaseAddr[InterruptHost_NUM_EVE_MBX + InterruptHost_NUM_SYS_MBX];
 
 
config InterruptHost_mailboxTable  // module-wide
C synopsis target-domain
extern const UInt32 InterruptHost_mailboxTable[InterruptHost_NUM_CORES * InterruptHost_NUM_CORES];
 
 
config InterruptHost_procIdTable  // module-wide
C synopsis target-domain
extern const UInt32 InterruptHost_procIdTable[InterruptHost_NUM_CORES];
 
 
InterruptHost_intClear()  // module-wide

Clear interrupt

C synopsis target-domain
UInt InterruptHost_intClear(UInt16 remoteProcId, IInterrupt_IntInfo *intInfo);
 
ARGUMENTS
remoteProcId — Remote MultiProc Id
intInfo — Information needed to configure interrupt line
RETURNS
Value (if any) of the interrupt before it was cleared
 
InterruptHost_intDisable()  // module-wide

Disables the interrupt corresponding to intId

C synopsis target-domain
Void InterruptHost_intDisable(UInt16 remoteProcId, IInterrupt_IntInfo *intInfo);
 
ARGUMENTS
remoteProcId — Remote MultiProc Id
intInfo — Information needed to configure interrupt line
 
InterruptHost_intEnable()  // module-wide

Enables the interrupt corresponding to intId

C synopsis target-domain
Void InterruptHost_intEnable(UInt16 remoteProcId, IInterrupt_IntInfo *intInfo);
 
ARGUMENTS
remoteProcId — Remote MultiProc Id
intInfo — Information needed to configure interrupt line
 
InterruptHost_intRegister()  // module-wide

Register an interrupt line to a remote processor

C synopsis target-domain
Void InterruptHost_intRegister(UInt16 remoteProcId, IInterrupt_IntInfo *intInfo, Fxn func, UArg arg);
 
ARGUMENTS
remoteProcId — Remote MultiProc Id
intInfo — Information needed to configure interrupt line
func — Function to register.
arg — Argument that will be passed to func
 
InterruptHost_intSend()  // module-wide

Send interrupt to the remote processor

C synopsis target-domain
Void InterruptHost_intSend(UInt16 remoteProcId, IInterrupt_IntInfo *intInfo, UArg arg);
 
ARGUMENTS
remoteProcId — Remote MultiProc Id
intInfo — Information needed to configure interrupt line
arg — Argument for sending interrupt.
 
InterruptHost_intUnregister()  // module-wide

Unregister an interrupt line to a remote processor

C synopsis target-domain
Void InterruptHost_intUnregister(UInt16 remoteProcId, IInterrupt_IntInfo *intInfo);
 
ARGUMENTS
remoteProcId — Remote MultiProc Id
intInfo — Information needed to configure interrupt line
Module-Wide Built-Ins

C synopsis target-domain
Types_ModuleId InterruptHost_Module_id();
// Get this module's unique id
 
Bool InterruptHost_Module_startupDone();
// Test if this module has completed startup
 
IHeap_Handle InterruptHost_Module_heap();
// The heap from which this module allocates memory
 
Bool InterruptHost_Module_hasMask();
// Test whether this module has a diagnostics mask
 
Bits16 InterruptHost_Module_getMask();
// Returns the diagnostics mask for this module
 
Void InterruptHost_Module_setMask(Bits16 mask);
// Set the diagnostics mask for this module
 
Configuration settings sourced in ti/sdo/ipc/family/vayu/InterruptHost.xdc
var InterruptHost = xdc.useModule('ti.sdo.ipc.family.vayu.InterruptHost');
module-wide constants & types
    const InterruptHost.NUM_CORES//  = 11;
    const InterruptHost.NUM_EVES//  = 4;
    const InterruptHost.NUM_EVE_MBX//  = 12;
    const InterruptHost.NUM_SYS_MBX//  = 4;
 
    var obj = new InterruptHost.IntInfo// ;
        obj.localIntId = UInt  ...
        obj.remoteIntId = UInt  ...
        obj.intVectorId = UInt  ...
module-wide config parameters
 
 
 
const InterruptHost.NUM_BENELLI_CORES
Configuration settings
const InterruptHost.NUM_BENELLI_CORES = 2;
 
C SYNOPSIS
 
const InterruptHost.NUM_CORES
Configuration settings
const InterruptHost.NUM_CORES = 11;
 
C SYNOPSIS
 
const InterruptHost.NUM_EVES
Configuration settings
const InterruptHost.NUM_EVES = 4;
 
C SYNOPSIS
 
const InterruptHost.NUM_EVE_MBX
Configuration settings
const InterruptHost.NUM_EVE_MBX = 12;
 
C SYNOPSIS
 
const InterruptHost.NUM_HOST_CORES
Configuration settings
const InterruptHost.NUM_HOST_CORES = 1;
 
C SYNOPSIS
 
const InterruptHost.NUM_SYS_MBX
Configuration settings
const InterruptHost.NUM_SYS_MBX = 4;
 
C SYNOPSIS
 
struct InterruptHost.IntInfo
Configuration settings
var obj = new InterruptHost.IntInfo;
 
    obj.localIntId = UInt  ...
    obj.remoteIntId = UInt  ...
    obj.intVectorId = UInt  ...
 
C SYNOPSIS
 
config InterruptHost.mailboxBaseAddr  // module-wide
Configuration settings
InterruptHost.mailboxBaseAddr = UInt32[InterruptHost.NUM_EVE_MBX+InterruptHost.NUM_SYS_MBX] undefined;
 
C SYNOPSIS
 
config InterruptHost.mailboxTable  // module-wide
Configuration settings
InterruptHost.mailboxTable = UInt32[InterruptHost.NUM_CORES*InterruptHost.NUM_CORES] undefined;
 
C SYNOPSIS
 
config InterruptHost.procIdTable  // module-wide
Configuration settings
InterruptHost.procIdTable = UInt32[InterruptHost.NUM_CORES] undefined;
 
C SYNOPSIS
 
metaonly config InterruptHost.common$  // module-wide

Common module configuration parameters

Configuration settings
InterruptHost.common$ = Types.Common$ undefined;
 
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.
generated on Fri, 21 Aug 2015 19:35:59 GMT