From 8a463b47389abb76d85e553015bfe027699d9ebb Mon Sep 17 00:00:00 2001 From: Jennifer Averett Date: Fri, 15 Apr 2005 18:00:39 +0000 Subject: 2005-04-15 Jennifer Averett PR 779/bsp * irq/irq.c, irq/irq.h: add parameter to new exception interrupt handlers in powerpc bsps --- c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog | 6 ++++++ c/src/lib/libbsp/powerpc/mbx8xx/irq/irq.c | 2 +- c/src/lib/libbsp/powerpc/mbx8xx/irq/irq.h | 7 ++++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog b/c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog index dc28da9f70..fcddd1d711 100644 --- a/c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog +++ b/c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog @@ -1,3 +1,9 @@ +2005-04-15 Jennifer Averett + + PR 779/bsp + * irq/irq.c, irq/irq.h: add parameter to new exception + interrupt handlers in powerpc bsps + 2005-02-17 Ralf Corsepius * startup/bspstart.c: include . diff --git a/c/src/lib/libbsp/powerpc/mbx8xx/irq/irq.c b/c/src/lib/libbsp/powerpc/mbx8xx/irq/irq.c index 501168ec91..cac7f03954 100644 --- a/c/src/lib/libbsp/powerpc/mbx8xx/irq/irq.c +++ b/c/src/lib/libbsp/powerpc/mbx8xx/irq/irq.c @@ -411,7 +411,7 @@ void C_dispatch_irq_handler (CPU_Interrupt_frame *frame, unsigned int excNum) new_msr = msr | MSR_EE; _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); return; diff --git a/c/src/lib/libbsp/powerpc/mbx8xx/irq/irq.h b/c/src/lib/libbsp/powerpc/mbx8xx/irq/irq.h index b7d10150af..d6c8c0fb92 100644 --- a/c/src/lib/libbsp/powerpc/mbx8xx/irq/irq.h +++ b/c/src/lib/libbsp/powerpc/mbx8xx/irq/irq.h @@ -148,7 +148,8 @@ typedef enum { typedef unsigned char rtems_irq_prio; 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_disable) (const struct __rtems_irq_connect_data__*); typedef int (*rtems_irq_is_enabled) (const struct __rtems_irq_connect_data__*); @@ -162,6 +163,10 @@ typedef struct __rtems_irq_connect_data__ { * handler. See comment on handler properties below in function prototype. */ rtems_irq_hdl hdl; + /* + * Handler handle to store private data + */ + rtems_irq_hdl_param handle; /* * function for enabling interrupts at device level (ONLY!). * The BSP code will automatically enable it at SIU level and CPM level. -- cgit v1.2.3