GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > VXW / V7-2-0
Constituent: vxw_tornado_sio     Tag: rad750
#include "vxWorks.h"
#include "arch/ppc/excPpcLib.h"
#include "drv/ppci/asmFns.h"
#include "drv/ppci/isrRouter.h"
#include "drv/ppci/ppciRegs.h"
#include "drv/ppci/ppciInt.h"
#include "TEX/TEX_pubdefs.h"
Include dependency graph for ppciInt.c:
Defines | |
#define | P60X_INT_STATUS_MASK (OCB_IF_ERR | ADDR_OUT_OF_RANGE | MEM_CTRL_IF_ERR) |
Functions | |
STATUS | ppciIntEnable (ppciIntLvl_t intLvl) |
Enable a PowerPCI interrupt level. | |
STATUS | ppciIntDisable (ppciIntLvl_t intLvl) |
Disable a PowerPCI interrupt level. | |
STATUS | ppciIntConnect (ppciIntLvl_t intLvl, VOIDFUNCPTR isr, int parm) |
Connect ISR to PowerPCI interrupt level. | |
static void | ppciISR (void) |
STATUS | miscIntEnable (miscIntLvl_t intLvl) |
Enable a PowerPCI MISC interrupt level. | |
STATUS | miscIntDisable (miscIntLvl_t intLvl) |
Disable a PowerPCI MISC interrupt level. | |
STATUS | miscIntConnect (miscIntLvl_t intLvl, VOIDFUNCPTR isr, int parm) |
Connect ISR to PowerPCI MISC interrupt level. | |
STATUS | pciErrIntEnable (pciIntLvl_t intLvl) |
Enable a PowerPCI PCI error interrupt level. | |
STATUS | pciErrIntDisable (pciIntLvl_t intLvl) |
Disable a PowerPCI PCI error interrupt level. | |
STATUS | pciErrIntConnect (pciIntLvl_t intLvl, VOIDFUNCPTR isr, int parm) |
Connect ISR to PowerPCI PCI error interrupt level. | |
STATUS | p60xErrIntEnable (p60xIntLvl_t intLvl) |
Enable a PowerPCI PCI error interrupt level. | |
STATUS | p60xErrIntDisable (p60xIntLvl_t intLvl) |
Disable a PowerPCI PCI error interrupt level. | |
STATUS | p60xErrIntConnect (pciIntLvl_t intLvl, VOIDFUNCPTR isr, int parm) |
static void | p60xRouteInterrupt (int arg) |
void | ppciIntInit (void) |
void | ppciIntInit2 (void) |
Variables | |
static isrRoutingInfo_t | ppciRoutingInfo |
static isrRoutingInfo_t | miscRoutingInfo |
static isrRoutingInfo_t | pciRoutingInfo |
static isrTableEntry_t | p60xRoutingInfo [NUM_P60X_INT_LVLS] |
-------------------------------------------------------------------------
Description:
This file provides functions for primary and miscellaneous PowerPCI interrupt routing. Functions for routing PID interrupts are defined in ppciPid.h. Functions for routing multiprocessor signal interrupts are defined in ppciMp.h. Note that ppciPtim.c provides timer interrupt routing functions that wrap the miscInt*() functions defined here. Also note that typical RAD750 BSPs define the standard VxWorks interrupt routines (intEnable(), intDisable() and intConnect()) for routing PCI interrupt signals wired into PowerPCI PIDs.
Restrictions:
Change History:
Date Pgm Description -------- --- ------------------------------------------------------- 04/21/00 MJF Initial Release 01/03/01 DS BSP integration.
---------------------------------------------------------------------------
|
The valid P60X status bits to interrogate. |
|
Connect ISR to PowerPCI MISC interrupt level. Connect ISR to PowerPCI MISC interrupt level This routine connects an interrupt service routine (ISR) to PowerPCI bridge MISC interrupt level. Note that the MISC interrupts include the programmable timer interrupts (PTIM). MISC interrupts are enabled separate from this routine (by miscIntEnable()). The interrupt level being connected should not be enable when this routine is called. The specified ISR will get control with interrupts disabled.
|
|
Disable a PowerPCI MISC interrupt level. Disable a PowerPCI MISC interrupt level This routine disables the specified MISC interrupt level of the PowerPCI bridge. Note that the MISC interrupts include the programmable timer interrupts (PTIM).
|
|
Enable a PowerPCI MISC interrupt level. Enable a PowerPCI MISC interrupt level This routine enables the specified MISC interrupt level of the PowerPCI bridge. The Note that the MISC interrupts include the programmable timer interrupts (PTIM).
|
|
Connect ISR to PowerPCI P60X error interrupt level This routine connects an interrupt service routine (ISR) to PowerPCI bridge P60X error interrupt level. P60X error interrupts are enabled separate from this routine (by p60xErrIntEnable()). The interrupt level being connected should not be enabled when this routine is called. The specified ISR will get control with interrupts disabled.
|
|
Disable a PowerPCI PCI error interrupt level. Enable a PowerPCI P60X error interrupt level This routine disables the specified P60X error interrupt level of the PowerPCI bridge.
|
|
Enable a PowerPCI PCI error interrupt level. Enable a PowerPCI P60X error interrupt level This routine enables the specified P60X error interrupt level of the PowerPCI bridge.
|
|
---------------------------------------------------------------------------- This routine uses a jump table to route a set of aggregated interrupts.
|
|
Connect ISR to PowerPCI PCI error interrupt level. Connect ISR to PowerPCI PCI error interrupt level This routine connects an interrupt service routine (ISR) to PowerPCI bridge PCI error interrupt level. PCI error interrupts are enabled separate from this routine (by pciErrIntEnable()). The interrupt level being connected should not be enabled when this routine is called. The specified ISR will get control with interrupts disabled.
|
|
Disable a PowerPCI PCI error interrupt level. Disable a PowerPCI PCI error interrupt level This routine disables the specified PCI error interrupt level of the PowerPCI bridge.
|
|
Enable a PowerPCI PCI error interrupt level. Enable a PowerPCI PCI error interrupt level This routine enables the specified PCI error interrupt level of the PowerPCI bridge.
|
|
Connect ISR to PowerPCI interrupt level. Connect ISR to PowerPCI interrupt level This routine connects an interrupt service routine (ISR) to PowerPCI bridge interrupt level. PPCI interrupts are enabled separate from this routine (by ppciIntEnable). The interrupt level being connected should not be enable when this routine is called. The specified ISR will get control with interrupts disabled.
|
|
Disable a PowerPCI interrupt level. Disable a PowerPCI interrupt level This routine disables the specified interrupt level of the PowerPCI bridge.
|
|
Enable a PowerPCI interrupt level. Enable a PowerPCI interrupt level This routine enables the specified interrupt level of the PowerPCI bridge.
|
|
Interrupt initialization routine, first part. This init routine is called by ppciInit (from sysHwInit) during system boot. Interrupt routing resources are initialized. |
|
Interrupt initialization routine, second part This init routine is called by ppciInit2 (from sysHwInit2) during system boot. Default handlers are installed for the PPCI error interrupts. |
|
This routine handles interrupts from the PowerPCI bridge. A jump table is used to route active interrupts to their corresponding sercive routine. This routine loops until all interrupts are cleared. |
|
Initial value: { {{NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}}, &ppciMiscIntStatus, &ppciMiscIntEnable, TRUE, TRUE } |
|
Initial value: { {NULL, 0}, {NULL, 0}, {NULL, 0}, } |
|
Initial value: { {{NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}}, &ppciPciStatus2, &ppciPciStatus2Mask, TRUE, TRUE } |
|
Initial value: { {{NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}}, &ppciIntCollection, &ppciIntEnableReg, FALSE, FALSE } |