2005-04-15 Jennifer Averett <jennifer.averett@oarcorp.com>

PR 779/bsp
	* irq/irq.c, irq/irq.h, irq/irq_init.c: add parameter to new exception
	interrupt handlers in powerpc bsps
This commit is contained in:
Jennifer Averett
2005-04-15 18:13:36 +00:00
parent 4953659b06
commit 6ef01b4574
4 changed files with 15 additions and 4 deletions

View File

@@ -1,3 +1,9 @@
2005-04-15 Jennifer Averett <jennifer.averett@oarcorp.com>
PR 779/bsp
* irq/irq.c, irq/irq.h, irq/irq_init.c: add parameter to new exception
interrupt handlers in powerpc bsps
2005-04-11 Jennifer Averett <jennifer@OARcorp.com> 2005-04-11 Jennifer Averett <jennifer@OARcorp.com>
PR 777/bsps PR 777/bsps

View File

@@ -306,7 +306,7 @@ void C_dispatch_irq_handler (CPU_Interrupt_frame *frame, unsigned int excNum)
new_msr = msr | MSR_EE; new_msr = msr | MSR_EE;
_CPU_MSR_SET(new_msr); _CPU_MSR_SET(new_msr);
rtems_hdl_tbl[BSP_DECREMENTER].hdl(); rtems_hdl_tbl[BSP_DECREMENTER].hdl(rtems_hdl_tbl[BSP_DECREMENTER].handle);
_CPU_MSR_SET(msr); _CPU_MSR_SET(msr);
return; return;

View File

@@ -137,7 +137,8 @@ extern volatile rtems_i8259_masks i8259s_cache;
struct __rtems_irq_connect_data__; /* forward declaratiuon */ struct __rtems_irq_connect_data__; /* forward declaratiuon */
typedef void (*rtems_irq_hdl) (void); typedef void *rtems_irq_hdl_param;
typedef void (*rtems_irq_hdl) (rtems_irq_hdl_param);
typedef void (*rtems_irq_enable) (const struct __rtems_irq_connect_data__*); typedef void (*rtems_irq_enable) (const struct __rtems_irq_connect_data__*);
typedef void (*rtems_irq_disable) (const struct __rtems_irq_connect_data__*); typedef void (*rtems_irq_disable) (const struct __rtems_irq_connect_data__*);
typedef int (*rtems_irq_is_enabled) (const struct __rtems_irq_connect_data__*); typedef int (*rtems_irq_is_enabled) (const struct __rtems_irq_connect_data__*);
@@ -151,6 +152,10 @@ typedef struct __rtems_irq_connect_data__ {
* handler. See comment on handler properties below in function prototype. * handler. See comment on handler properties below in function prototype.
*/ */
rtems_irq_hdl hdl; rtems_irq_hdl hdl;
/*
* Handler handle to store private data
*/
rtems_irq_hdl_param handle;
/* /*
* function for enabling interrupts at device level (ONLY!). * function for enabling interrupts at device level (ONLY!).
* The BSP code will automatically enable it at i8259s level and openpic level. * The BSP code will automatically enable it at i8259s level and openpic level.

View File

@@ -65,8 +65,8 @@ static int connected() {return 1;}
static rtems_irq_connect_data rtemsIrq[BSP_IRQ_NUMBER]; static rtems_irq_connect_data rtemsIrq[BSP_IRQ_NUMBER];
static rtems_irq_global_settings initial_config; static rtems_irq_global_settings initial_config;
static rtems_irq_connect_data defaultIrq = { static rtems_irq_connect_data defaultIrq = {
/* vectorIdex, hdl , on , off , isOn */ /* vectorIdex, hdl , handle , on , off , isOn */
0, nop_func , nop_func , nop_func , not_connected 0, nop_func , NULL , nop_func , nop_func , not_connected
}; };
static rtems_irq_prio irqPrioTable[BSP_IRQ_NUMBER]={ static rtems_irq_prio irqPrioTable[BSP_IRQ_NUMBER]={
/* /*