summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorTill Straumann <strauman@slac.stanford.edu>2007-12-01 21:35:27 +0000
committerTill Straumann <strauman@slac.stanford.edu>2007-12-01 21:35:27 +0000
commit34fb363561c56a7285f677eba202aac87324734b (patch)
treefe156fd48689dca3a7039544f0201bd7b8a4e571 /c
parent2007-12-01 Till Straumann <strauman@slac.stanford.edu> (diff)
downloadrtems-34fb363561c56a7285f677eba202aac87324734b.tar.bz2
2007-12-01 Till Straumann <strauman@slac.stanford.edu>
* shared/irq/irq_supp.h: Make sure BSP_SHARED_HANDLER_SUPPORT is set. The shared irq manager supports shared interrupts (but requires also that the PIC-driver supports them by traversing the list of shared handlers). Declare C_dispatch_irq_handler() which must be defined (like the other routines declared in this header) by the PIC-driver.
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/powerpc/ChangeLog10
-rw-r--r--c/src/lib/libbsp/powerpc/shared/irq/irq_supp.h13
2 files changed, 23 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/ChangeLog b/c/src/lib/libbsp/powerpc/ChangeLog
index 67bbd13ee8..2de66c4228 100644
--- a/c/src/lib/libbsp/powerpc/ChangeLog
+++ b/c/src/lib/libbsp/powerpc/ChangeLog
@@ -1,5 +1,15 @@
2007-12-01 Till Straumann <strauman@slac.stanford.edu>
+ * shared/irq/irq_supp.h: Make sure BSP_SHARED_HANDLER_SUPPORT
+ is set. The shared irq manager supports shared interrupts
+ (but requires also that the PIC-driver supports them by
+ traversing the list of shared handlers).
+ Declare C_dispatch_irq_handler() which must be defined
+ (like the other routines declared in this header) by the
+ PIC-driver.
+
+2007-12-01 Till Straumann <strauman@slac.stanford.edu>
+
* shared/clock/p_clock.c: (run-time) check for e500-cpu
and install different ISR for that type of CPU.
diff --git a/c/src/lib/libbsp/powerpc/shared/irq/irq_supp.h b/c/src/lib/libbsp/powerpc/shared/irq/irq_supp.h
index 3359869920..c64d587c9f 100644
--- a/c/src/lib/libbsp/powerpc/shared/irq/irq_supp.h
+++ b/c/src/lib/libbsp/powerpc/shared/irq/irq_supp.h
@@ -11,6 +11,10 @@
*
*/
+#ifndef BSP_SHARED_HANDLER_SUPPORT
+#define BSP_SHARED_HANDLER_SUPPORT 1
+#endif
+
#include <rtems/irq.h>
#ifdef __cplusplus
@@ -35,6 +39,15 @@ extern void BSP_disable_irq_at_pic (const rtems_irq_number irqLine);
*/
extern int BSP_setup_the_pic (rtems_irq_global_settings* config);
+struct _BSP_Exception_frame;
+
+/* IRQ dispatcher to be defined by the PIC driver; note that it MUST
+ * implement shared interrupts.
+ * Note that the exception frame passed to this handler is not very
+ * meaningful. Only the volatile registers and info are set up.
+ */
+void C_dispatch_irq_handler (struct _BSP_Exception_frame *frame, unsigned int excNum);
+
#ifdef __cplusplus
}
#endif