GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > VXW / V7-1-1

Constituent: vxw_flight     Tag: rad750


Interface   Data Structures   File List   Data Fields   Globals  

ppciInt.c File Reference

Function definitions for interrupt routing routines. More...

#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]

Detailed Description

Function definitions for interrupt routing routines.

-------------------------------------------------------------------------

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.

---------------------------------------------------------------------------


Define Documentation

#define P60X_INT_STATUS_MASK   (OCB_IF_ERR | ADDR_OUT_OF_RANGE | MEM_CTRL_IF_ERR)
 

The valid P60X status bits to interrogate.


Function Documentation

STATUS miscIntConnect miscIntLvl_t  intLvl,
VOIDFUNCPTR  isr,
int  parm
 

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.

Parameters:
intLvl - The PPCI MISC interrupt level.
isr - Pointer to the ISR.
parm - A user-defined parameter to pass to the ISR when the interrupt occurs.
Returns:
OK or ERROR

STATUS miscIntDisable miscIntLvl_t  intLvl  ) 
 

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).

Parameters:
intLvl - The PPCI MISC interrupt level to disable.
Returns:
OK or ERROR

STATUS miscIntEnable miscIntLvl_t  intLvl  ) 
 

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).

Parameters:
intLvl - The PPCI MISC interrupt level to enable.
Returns:
OK or ERROR.

STATUS p60xErrIntConnect pciIntLvl_t  intLvl,
VOIDFUNCPTR  isr,
int  parm
 

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.

Parameters:
intLvl - The PPCI P60X error interrupt level.
isr - Pointer to the ISR.
parm - A user-defined parameter to pass to the ISR when the interrupt occurs.
Returns:
OK or ERROR

STATUS p60xErrIntDisable p60xIntLvl_t  intLvl  ) 
 

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.

Parameters:
intLvl - The PPCI P60X error interrupt level to disable.
Returns:
OK or ERROR.

STATUS p60xErrIntEnable p60xIntLvl_t  intLvl  ) 
 

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.

Parameters:
intLvl - The PPCI P60X error interrupt level to enable.
Returns:
OK or ERROR.

void p60xRouteInterrupt int  arg  )  [static]
 

----------------------------------------------------------------------------

This routine uses a jump table to route a set of aggregated interrupts.

Parameters:
arg Ignored.
----------------------------------------------------------------------------

STATUS pciErrIntConnect pciIntLvl_t  intLvl,
VOIDFUNCPTR  isr,
int  parm
 

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.

Parameters:
intLvl - The PPCI PCI error interrupt level.
isr - Pointer to the ISR.
parm - A user-defined parameter to pass to the ISR when the interrupt occurs.
Returns:
OK or ERROR

STATUS pciErrIntDisable pciIntLvl_t  intLvl  ) 
 

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.

Parameters:
intLvl - The PPCI PCI error interrupt level to disable.
Returns:
OK or ERROR

STATUS pciErrIntEnable pciIntLvl_t  intLvl  ) 
 

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.

Parameters:
intLvl - The PPCI PCI error interrupt level to enable.
Returns:
OK or ERROR.

STATUS ppciIntConnect ppciIntLvl_t  intLvl,
VOIDFUNCPTR  isr,
int  parm
 

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.

Parameters:
intLvl - The PPCI interrupt level.
isr - Pointer to the ISR.
parm - A user-defined parameter to pass to the ISR when the interrupt occurs.
Returns:
OK or ERROR

STATUS ppciIntDisable ppciIntLvl_t  intLvl  ) 
 

Disable a PowerPCI interrupt level.

Disable a PowerPCI interrupt level

This routine disables the specified interrupt level of the PowerPCI bridge.

Parameters:
intLvl - The PPCI interrupt level to disable.
Returns:
OK or ERROR.

STATUS ppciIntEnable ppciIntLvl_t  intLvl  ) 
 

Enable a PowerPCI interrupt level.

Enable a PowerPCI interrupt level

This routine enables the specified interrupt level of the PowerPCI bridge.

Parameters:
intLvl - The PPCI interrupt level to enable.
Returns:
OK or ERROR.

void ppciIntInit void   ) 
 

Interrupt initialization routine, first part.

This init routine is called by ppciInit (from sysHwInit) during system boot. Interrupt routing resources are initialized.

void ppciIntInit2 void   ) 
 

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.

void ppciISR void   )  [static]
 

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.


Variable Documentation

miscRoutingInfo [static]
 

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                                          
  }
Misc interrupt routing table.

p60xRoutingInfo [static]
 

Initial value:

 
{
        {NULL, 0}, {NULL, 0}, {NULL, 0},
}
P60X error interrupt routing table.

pciRoutingInfo [static]
 

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                                          
  }
PCI error interrupt routing table.

ppciRoutingInfo [static]
 

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                                         
  }
PPCI master interrupt routing table.


Generated on Sat Feb 2 01:36:22 2008 by  doxygen 1.4.4