From be038f16bad8ad91de93777a84a5e3286160d377 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Wed, 15 Apr 2009 14:06:30 +0000 Subject: [PATCH] - changed irg-handler prototype: irq-handler now obtain pointer to exception context Committed on the Free edition of March Hare Software CVSNT Server. Upgrade to CVS Suite for more features and support: http://march-hare.com/cvsnt/ git-svn-id: http://moon:8086/svn/vhdl/trunk@447 cc03376c-175c-47c8-b038-4cd826a8556b --- lib/CPUs/MIPS/bsp/examples/irq.c | 6 +++--- lib/CPUs/MIPS/bsp/examples/irq.h | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/CPUs/MIPS/bsp/examples/irq.c b/lib/CPUs/MIPS/bsp/examples/irq.c index a051f58..bcd8d98 100644 --- a/lib/CPUs/MIPS/bsp/examples/irq.c +++ b/lib/CPUs/MIPS/bsp/examples/irq.c @@ -8,7 +8,7 @@ #include "xcpt.h" #include "irq.h" -static fp_t g_irq_handler[MAX_NUM_IRQ] = {NULL}; +static fp_irq_t g_irq_handler[MAX_NUM_IRQ] = {NULL}; int _irq_dispatch(struct xcptcontext * xcp) { @@ -20,7 +20,7 @@ int _irq_dispatch(struct xcptcontext * xcp) { if (ip & 1) if (g_irq_handler[i]) - (g_irq_handler[i])(); + (g_irq_handler[i])(xcp); ip >>= 1; } @@ -28,7 +28,7 @@ int _irq_dispatch(struct xcptcontext * xcp) return 0; } -void interrupt_register(int irq_num, fp_t fp) +void interrupt_register(int irq_num, fp_irq_t fp) { if ((irq_num >= 0) && (irq_num < MAX_NUM_IRQ)) g_irq_handler[irq_num] = fp; diff --git a/lib/CPUs/MIPS/bsp/examples/irq.h b/lib/CPUs/MIPS/bsp/examples/irq.h index 73b207d..d6c343c 100644 --- a/lib/CPUs/MIPS/bsp/examples/irq.h +++ b/lib/CPUs/MIPS/bsp/examples/irq.h @@ -5,10 +5,10 @@ #define MAX_NUM_IRQ 8 -typedef void (*fp_t)(void); +typedef void (*fp_irq_t)(struct xcptcontext * xcp); int _irq_dispatch(struct xcptcontext * xcp); -void interrupt_register(int irq_num, fp_t fp); +void interrupt_register(int irq_num, fp_irq_t fp); void interrupt_enable(int irq_num); void interrupt_disable(int irq_num);