<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>change log for rtems (2010-04-30)</title>
</head>
<body text='#000000' bgcolor='#ffffff'>
<a name='cs1'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * Makefile.am, preinstall.am: Added generic interrupt support modules.
        * include/bsp.h: Define BSP_FEATURE_IRQ_EXTENSION.
        * startup/bspstart.c, network/network.c: Interrupt support changes.
        * console/uart.c: Fixed warnings.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/rtl22xx/ChangeLog.diff?r1=text&tr1=1.50&r2=text&tr2=1.51&diff_format=h">M</a></td><td width='1%'>1.51</td><td width='100%'>c/src/lib/libbsp/arm/rtl22xx/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/rtl22xx/Makefile.am.diff?r1=text&tr1=1.17&r2=text&tr2=1.18&diff_format=h">M</a></td><td width='1%'>1.18</td><td width='100%'>c/src/lib/libbsp/arm/rtl22xx/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/rtl22xx/console/uart.c.diff?r1=text&tr1=1.6&r2=text&tr2=1.7&diff_format=h">M</a></td><td width='1%'>1.7</td><td width='100%'>c/src/lib/libbsp/arm/rtl22xx/console/uart.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/rtl22xx/include/bsp.h.diff?r1=text&tr1=1.10&r2=text&tr2=1.11&diff_format=h">M</a></td><td width='1%'>1.11</td><td width='100%'>c/src/lib/libbsp/arm/rtl22xx/include/bsp.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/rtl22xx/network/network.c.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libbsp/arm/rtl22xx/network/network.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/rtl22xx/preinstall.am.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libbsp/arm/rtl22xx/preinstall.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/rtl22xx/startup/bspstart.c.diff?r1=text&tr1=1.15&r2=text&tr2=1.16&diff_format=h">M</a></td><td width='1%'>1.16</td><td width='100%'>c/src/lib/libbsp/arm/rtl22xx/startup/bspstart.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/rtl22xx/ChangeLog:1.50 rtems/c/src/lib/libbsp/arm/rtl22xx/ChangeLog:1.51
--- rtems/c/src/lib/libbsp/arm/rtl22xx/ChangeLog:1.50   Fri Apr 30 08:40:13 2010
+++ rtems/c/src/lib/libbsp/arm/rtl22xx/ChangeLog        Fri Apr 30 09:24:03 2010
</font><font color='#997700'>@@ -1,5 +1,12 @@
</font> 2010-04-30        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
<font color='#000088'>+   * Makefile.am, preinstall.am: Added generic interrupt support modules.
+       * include/bsp.h: Define BSP_FEATURE_IRQ_EXTENSION.
+       * startup/bspstart.c, network/network.c: Interrupt support changes.
+       * console/uart.c: Fixed warnings.
+
+2010-04-30     Sebastian Huber <sebastian.huber@embedded-brains.de>
+
</font>   * make/custom/rtl22xx.cfg: Use VFP floating point model.
 
 2010-04-09     Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/rtl22xx/Makefile.am:1.17 rtems/c/src/lib/libbsp/arm/rtl22xx/Makefile.am:1.18
--- rtems/c/src/lib/libbsp/arm/rtl22xx/Makefile.am:1.17 Sat Nov 28 00:24:46 2009
+++ rtems/c/src/lib/libbsp/arm/rtl22xx/Makefile.am      Fri Apr 30 09:24:03 2010
</font><font color='#997700'>@@ -13,6 +13,8 @@
</font> include_HEADERS = include/bsp.h
 include_HEADERS += ../../shared/include/tm27.h
 
<font color='#000088'>+include_bsp_HEADERS =
+
</font> nodist_include_HEADERS = include/bspopts.h
 nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
 DISTCLEANFILES = include/bspopts.h
<font color='#997700'>@@ -40,6 +42,14 @@
</font>     ../../shared/gnatinstallhandler.c
 # console
 libbsp_a_SOURCES += ../../shared/console.c
<font color='#000088'>+# IRQ
+include_bsp_HEADERS += ../../shared/include/irq-generic.h \
+       ../../shared/include/irq-info.h
+libbsp_a_SOURCES += ../../shared/src/irq-generic.c \
+       ../../shared/src/irq-legacy.c \
+       ../../shared/src/irq-info.c \
+       ../../shared/src/irq-shell.c \
+       ../../shared/src/irq-server.c
</font> # simple_abort
 libbsp_a_SOURCES += ../shared/abort/simple_abort.c
 # debugio

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/rtl22xx/console/uart.c:1.6 rtems/c/src/lib/libbsp/arm/rtl22xx/console/uart.c:1.7
--- rtems/c/src/lib/libbsp/arm/rtl22xx/console/uart.c:1.6       Sun Nov 29 08:53:01 2009
+++ rtems/c/src/lib/libbsp/arm/rtl22xx/console/uart.c   Fri Apr 30 09:24:03 2010
</font><font color='#997700'>@@ -39,7 +39,7 @@
</font> static int     uart_first_open(int major, int minor, void *arg);
 static int     uart_last_close(int major, int minor, void *arg);
 static int     uart_read(int minor);
<font color='#880000'>-static int     uart_write(int minor, const char *buf, int len);
</font><font color='#000088'>+static ssize_t uart_write(int minor, const char *buf, size_t len);
</font> static void    uart_init(int minor);
 static void    uart_write_polled(int minor, char c);
 static int     uart_set_attributes(int minor, const struct termios *t);
<font color='#997700'>@@ -180,9 +180,9 @@
</font>  *
  * return 1 on success, -1 on error
  */
<font color='#880000'>-static int uart_write(int minor, const char *buf, int len)
</font><font color='#000088'>+static ssize_t uart_write(int minor, const char *buf, size_t len)
</font> {
<font color='#880000'>-    int i;
</font><font color='#000088'>+    size_t i;
</font> 
     if (minor == 0) {
         for (i = 0; i < len; i++) {

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/rtl22xx/include/bsp.h:1.10 rtems/c/src/lib/libbsp/arm/rtl22xx/include/bsp.h:1.11
--- rtems/c/src/lib/libbsp/arm/rtl22xx/include/bsp.h:1.10       Wed Apr  7 16:49:20 2010
+++ rtems/c/src/lib/libbsp/arm/rtl22xx/include/bsp.h    Fri Apr 30 09:24:03 2010
</font><font color='#997700'>@@ -25,6 +25,7 @@
</font> #include <rtems/console.h>
 #include <rtems/clockdrv.h>
 
<font color='#000088'>+#define BSP_FEATURE_IRQ_EXTENSION
</font> 
 #define CONFIG_ARM_CLK 60000000L
 /* cclk=cco/(2*P) */

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/rtl22xx/network/network.c:1.3 rtems/c/src/lib/libbsp/arm/rtl22xx/network/network.c:1.4
--- rtems/c/src/lib/libbsp/arm/rtl22xx/network/network.c:1.3    Fri Apr  9 15:24:57 2010
+++ rtems/c/src/lib/libbsp/arm/rtl22xx/network/network.c        Fri Apr 30 09:24:03 2010
</font><font color='#997700'>@@ -1,7 +1,7 @@
</font> /*Note: this file is copy from 7312 BSP, and untested yet*/
 #include <rtems.h>
 #include <sys/mbuf.h>
<font color='#880000'>-#include <irq.h>
</font><font color='#000088'>+#include <bsp/irq.h>
</font> #include <libchip/cs8900.h>
 
 #define CS8900_BASE 0x20000300
<font color='#997700'>@@ -10,7 +10,7 @@
</font> cs8900_device *g_cs;
 void cs8900_isr(rtems_irq_hdl_param unused);
 rtems_irq_connect_data cs8900_isr_data = {LPC22xx_INTERRUPT_EINT2,
<font color='#880000'>-                                         (rtems_irq_hdl)cs8900_isr,
</font><font color='#000088'>+                                         cs8900_isr,
</font>                                     NULL,
                                          NULL,
                                          NULL,

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/rtl22xx/preinstall.am:1.3 rtems/c/src/lib/libbsp/arm/rtl22xx/preinstall.am:1.4
--- rtems/c/src/lib/libbsp/arm/rtl22xx/preinstall.am:1.3        Thu Oct  2 16:37:42 2008
+++ rtems/c/src/lib/libbsp/arm/rtl22xx/preinstall.am    Fri Apr 30 09:24:03 2010
</font><font color='#997700'>@@ -69,3 +69,11 @@
</font>   $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/uart.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/uart.h
 
<font color='#000088'>+$(PROJECT_INCLUDE)/bsp/irq-generic.h: ../../shared/include/irq-generic.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-generic.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-generic.h
+
+$(PROJECT_INCLUDE)/bsp/irq-info.h: ../../shared/include/irq-info.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-info.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-info.h
+
</font>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/rtl22xx/startup/bspstart.c:1.15 rtems/c/src/lib/libbsp/arm/rtl22xx/startup/bspstart.c:1.16
--- rtems/c/src/lib/libbsp/arm/rtl22xx/startup/bspstart.c:1.15  Fri Apr  9 15:24:57 2010
+++ rtems/c/src/lib/libbsp/arm/rtl22xx/startup/bspstart.c       Fri Apr 30 09:24:03 2010
</font><font color='#997700'>@@ -11,12 +11,12 @@
</font>  */
 
 #include <bsp.h>
<font color='#000088'>+#include <bsp/irq-generic.h>
</font> #include <lpc22xx.h>
 
 /*
  * Function prototypes
  */
<font color='#880000'>-extern void rtems_irq_mngt_init(void);
</font> extern void rtems_exception_init_mngt(void);
 extern void  UART0_Ini(void);
 extern void printi(unsigned long);
<font color='#997700'>@@ -77,15 +77,6 @@
</font>   // MAMTIM = 3;
   //MAMCR = 2;
 
<font color='#880000'>-  /* init VIC */
-  VICIntEnClr = 0xffffffff;
-  VICVectAddr = 0;
-  VICIntSelect = 0;
-
-  /* disable interrupts */
-  /* Setup interrupt controller.*/
-  VICProtection = 0;
-
</font>   UART0_Ini();
 
   /*
<font color='#997700'>@@ -96,7 +87,9 @@
</font>   /*
    * Init rtems interrupt management
    */
<font color='#880000'>-  rtems_irq_mngt_init();
</font><font color='#000088'>+  if (bsp_interrupt_initialize() != RTEMS_SUCCESSFUL) {
+    _CPU_Fatal_halt(0xe);
+  }
</font> } /* bsp_start */
 
 /*
</pre>
<p> </p>
<a name='cs2'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * Makefile.am, preinstall.am: Added generic interrupt support modules.
        * include/bsp.h: Define BSP_FEATURE_IRQ_EXTENSION.
        * startup/bspstart.c, rtl8019/rtl8019.c: Interrupt support changes.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gumstix/ChangeLog.diff?r1=text&tr1=1.22&r2=text&tr2=1.23&diff_format=h">M</a></td><td width='1%'>1.23</td><td width='100%'>c/src/lib/libbsp/arm/gumstix/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gumstix/Makefile.am.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h">M</a></td><td width='1%'>1.8</td><td width='100%'>c/src/lib/libbsp/arm/gumstix/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gumstix/include/bsp.h.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>c/src/lib/libbsp/arm/gumstix/include/bsp.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gumstix/preinstall.am.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libbsp/arm/gumstix/preinstall.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gumstix/rtl8019/rtl8019.c.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libbsp/arm/gumstix/rtl8019/rtl8019.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gumstix/startup/bspstart.c.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libbsp/arm/gumstix/startup/bspstart.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gumstix/ChangeLog:1.22 rtems/c/src/lib/libbsp/arm/gumstix/ChangeLog:1.23
--- rtems/c/src/lib/libbsp/arm/gumstix/ChangeLog:1.22   Fri Apr 30 08:40:13 2010
+++ rtems/c/src/lib/libbsp/arm/gumstix/ChangeLog        Fri Apr 30 09:27:24 2010
</font><font color='#997700'>@@ -1,5 +1,11 @@
</font> 2010-04-30        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
<font color='#000088'>+   * Makefile.am, preinstall.am: Added generic interrupt support modules.
+       * include/bsp.h: Define BSP_FEATURE_IRQ_EXTENSION.
+       * startup/bspstart.c, rtl8019/rtl8019.c: Interrupt support changes.
+
+2010-04-30     Sebastian Huber <sebastian.huber@embedded-brains.de>
+
</font>   * make/custom/gumstix.cfg: Use VFP floating point model.
 
 2010-04-09     Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gumstix/Makefile.am:1.7 rtems/c/src/lib/libbsp/arm/gumstix/Makefile.am:1.8
--- rtems/c/src/lib/libbsp/arm/gumstix/Makefile.am:1.7  Sat Nov 28 00:24:46 2009
+++ rtems/c/src/lib/libbsp/arm/gumstix/Makefile.am      Fri Apr 30 09:27:24 2010
</font><font color='#997700'>@@ -14,6 +14,8 @@
</font> include_HEADERS = include/bsp.h
 include_HEADERS += include/tm27.h
 
<font color='#000088'>+include_bsp_HEADERS =
+
</font> nodist_include_HEADERS = include/bspopts.h
 nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
 DISTCLEANFILES = include/bspopts.h
<font color='#997700'>@@ -38,6 +40,14 @@
</font> 
 #console
 libbsp_a_SOURCES += console/uarts.c ../../shared/console.c
<font color='#000088'>+# IRQ
+include_bsp_HEADERS += ../../shared/include/irq-generic.h \
+       ../../shared/include/irq-info.h
+libbsp_a_SOURCES += ../../shared/src/irq-generic.c \
+       ../../shared/src/irq-legacy.c \
+       ../../shared/src/irq-info.c \
+       ../../shared/src/irq-shell.c \
+       ../../shared/src/irq-server.c
</font> #abort
 libbsp_a_SOURCES += ../shared/abort/abort.c
 #framebuffer

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gumstix/include/bsp.h:1.4 rtems/c/src/lib/libbsp/arm/gumstix/include/bsp.h:1.5
--- rtems/c/src/lib/libbsp/arm/gumstix/include/bsp.h:1.4        Wed Sep 16 15:43:40 2009
+++ rtems/c/src/lib/libbsp/arm/gumstix/include/bsp.h    Fri Apr 30 09:27:24 2010
</font><font color='#997700'>@@ -22,6 +22,8 @@
</font> #include <rtems/clockdrv.h>
 #include <libchip/serial.h>
 
<font color='#000088'>+#define BSP_FEATURE_IRQ_EXTENSION
+
</font> #define BSP_HAS_FRAME_BUFFER 1
 
 /* What is the input clock freq in hertz */

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gumstix/preinstall.am:1.3 rtems/c/src/lib/libbsp/arm/gumstix/preinstall.am:1.4
--- rtems/c/src/lib/libbsp/arm/gumstix/preinstall.am:1.3        Fri Sep 18 03:05:14 2009
+++ rtems/c/src/lib/libbsp/arm/gumstix/preinstall.am    Fri Apr 30 09:27:24 2010
</font><font color='#997700'>@@ -65,6 +65,14 @@
</font>   $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
 PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
 
<font color='#000088'>+$(PROJECT_INCLUDE)/bsp/irq-generic.h: ../../shared/include/irq-generic.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-generic.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-generic.h
+
+$(PROJECT_INCLUDE)/bsp/irq-info.h: ../../shared/include/irq-info.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-info.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-info.h
+
</font> if ON_SKYEYE
 endif
 if ON_SKYEYE

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gumstix/rtl8019/rtl8019.c:1.3 rtems/c/src/lib/libbsp/arm/gumstix/rtl8019/rtl8019.c:1.4
--- rtems/c/src/lib/libbsp/arm/gumstix/rtl8019/rtl8019.c:1.3    Fri Apr  9 15:24:56 2010
+++ rtems/c/src/lib/libbsp/arm/gumstix/rtl8019/rtl8019.c        Fri Apr 30 09:27:24 2010
</font><font color='#997700'>@@ -11,7 +11,7 @@
</font>  */
 
 #include <bsp.h>
<font color='#880000'>-#include <irq.h>
</font><font color='#000088'>+#include <bsp/irq.h>
</font> #include "wd80x3.h"
 
 #include <stdio.h>

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gumstix/startup/bspstart.c:1.3 rtems/c/src/lib/libbsp/arm/gumstix/startup/bspstart.c:1.4
--- rtems/c/src/lib/libbsp/arm/gumstix/startup/bspstart.c:1.3   Sat Aug 22 08:55:51 2009
+++ rtems/c/src/lib/libbsp/arm/gumstix/startup/bspstart.c       Fri Apr 30 09:27:24 2010
</font><font color='#997700'>@@ -9,13 +9,13 @@
</font>  */
 
 #include <bsp.h>
<font color='#000088'>+#include <bsp/irq-generic.h>
</font> #include <rtems/libcsupport.h>
 #include <rtems/libio.h>
 #include <pxa255.h>
 
 /* Function prototypes */
 void rtems_exception_init_mngt(void);
<font color='#880000'>-void  rtems_irq_mngt_init(void);
</font> 
 /*
  *
<font color='#997700'>@@ -36,7 +36,9 @@
</font>   /* disable interrupts */
   XSCALE_INT_ICMR = 0x0;
   rtems_exception_init_mngt();
<font color='#880000'>-  rtems_irq_mngt_init();
</font><font color='#000088'>+  if (bsp_interrupt_initialize() != RTEMS_SUCCESSFUL) {
+    _CPU_Fatal_halt(0xe);
+  }
</font> } /* bsp_start */
 
 /*
</pre>
<p> </p>
<a name='cs3'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * Makefile.am, preinstall.am: Added generic interrupt support modules.
        * include/bsp.h: Define BSP_FEATURE_IRQ_EXTENSION.
        * startup/bspstart.c: Interrupt support changes.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gp32/ChangeLog.diff?r1=text&tr1=1.60&r2=text&tr2=1.61&diff_format=h">M</a></td><td width='1%'>1.61</td><td width='100%'>c/src/lib/libbsp/arm/gp32/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gp32/Makefile.am.diff?r1=text&tr1=1.23&r2=text&tr2=1.24&diff_format=h">M</a></td><td width='1%'>1.24</td><td width='100%'>c/src/lib/libbsp/arm/gp32/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gp32/include/bsp.h.diff?r1=text&tr1=1.12&r2=text&tr2=1.13&diff_format=h">M</a></td><td width='1%'>1.13</td><td width='100%'>c/src/lib/libbsp/arm/gp32/include/bsp.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gp32/preinstall.am.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h">M</a></td><td width='1%'>1.8</td><td width='100%'>c/src/lib/libbsp/arm/gp32/preinstall.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gp32/startup/bspstart.c.diff?r1=text&tr1=1.19&r2=text&tr2=1.20&diff_format=h">M</a></td><td width='1%'>1.20</td><td width='100%'>c/src/lib/libbsp/arm/gp32/startup/bspstart.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gp32/ChangeLog:1.60 rtems/c/src/lib/libbsp/arm/gp32/ChangeLog:1.61
--- rtems/c/src/lib/libbsp/arm/gp32/ChangeLog:1.60      Fri Apr 30 08:40:13 2010
+++ rtems/c/src/lib/libbsp/arm/gp32/ChangeLog   Fri Apr 30 09:30:09 2010
</font><font color='#997700'>@@ -1,5 +1,11 @@
</font> 2010-04-30        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
<font color='#000088'>+   * Makefile.am, preinstall.am: Added generic interrupt support modules.
+       * include/bsp.h: Define BSP_FEATURE_IRQ_EXTENSION.
+       * startup/bspstart.c: Interrupt support changes.
+
+2010-04-30     Sebastian Huber <sebastian.huber@embedded-brains.de>
+
</font>   * make/custom/gp32.cfg: Use VFP floating point model.
 
 2010-04-25     Joel Sherrill <joel.sherrilL@OARcorp.com>

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gp32/Makefile.am:1.23 rtems/c/src/lib/libbsp/arm/gp32/Makefile.am:1.24
--- rtems/c/src/lib/libbsp/arm/gp32/Makefile.am:1.23    Fri Apr  9 15:24:56 2010
+++ rtems/c/src/lib/libbsp/arm/gp32/Makefile.am Fri Apr 30 09:30:09 2010
</font><font color='#997700'>@@ -14,6 +14,8 @@
</font> include_HEADERS += smc/smc.h
 include_HEADERS += ../../shared/include/tm27.h
 
<font color='#000088'>+include_bsp_HEADERS =
+
</font> nodist_include_HEADERS = include/bspopts.h
 nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
 DISTCLEANFILES = include/bspopts.h
<font color='#997700'>@@ -38,6 +40,14 @@
</font>     ../../shared/gnatinstallhandler.c
 # console
 libbsp_a_SOURCES += console/uart.c ../../shared/console.c
<font color='#000088'>+# IRQ
+include_bsp_HEADERS += ../../shared/include/irq-generic.h \
+       ../../shared/include/irq-info.h
+libbsp_a_SOURCES += ../../shared/src/irq-generic.c \
+       ../../shared/src/irq-legacy.c \
+       ../../shared/src/irq-info.c \
+       ../../shared/src/irq-shell.c \
+       ../../shared/src/irq-server.c
</font> # abort
 libbsp_a_SOURCES += ../shared/abort/abort.c
 # smc

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gp32/include/bsp.h:1.12 rtems/c/src/lib/libbsp/arm/gp32/include/bsp.h:1.13
--- rtems/c/src/lib/libbsp/arm/gp32/include/bsp.h:1.12  Sun Nov 29 08:53:00 2009
+++ rtems/c/src/lib/libbsp/arm/gp32/include/bsp.h       Fri Apr 30 09:30:09 2010
</font><font color='#997700'>@@ -30,6 +30,8 @@
</font> #include <rtems/clockdrv.h>
 #include <s3c24xx.h>
 
<font color='#000088'>+#define BSP_FEATURE_IRQ_EXTENSION
+
</font> #define gp32_initButtons() {rPBCON=0x0;}
 #define gp32_getButtons() \
     ( (((~rPEDAT >> 6) & 0x3 )<<8) | (((~rPBDAT >> 8) & 0xFF)<<0) )

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gp32/preinstall.am:1.7 rtems/c/src/lib/libbsp/arm/gp32/preinstall.am:1.8
--- rtems/c/src/lib/libbsp/arm/gp32/preinstall.am:1.7   Thu Oct  2 16:37:37 2008
+++ rtems/c/src/lib/libbsp/arm/gp32/preinstall.am       Fri Apr 30 09:30:09 2010
</font><font color='#997700'>@@ -69,3 +69,11 @@
</font>   $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
 PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
 
<font color='#000088'>+$(PROJECT_INCLUDE)/bsp/irq-generic.h: ../../shared/include/irq-generic.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-generic.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-generic.h
+
+$(PROJECT_INCLUDE)/bsp/irq-info.h: ../../shared/include/irq-info.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-info.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-info.h
+
</font>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gp32/startup/bspstart.c:1.19 rtems/c/src/lib/libbsp/arm/gp32/startup/bspstart.c:1.20
--- rtems/c/src/lib/libbsp/arm/gp32/startup/bspstart.c:1.19     Fri Apr  9 15:24:56 2010
+++ rtems/c/src/lib/libbsp/arm/gp32/startup/bspstart.c  Fri Apr 30 09:30:09 2010
</font><font color='#997700'>@@ -15,13 +15,13 @@
</font>  */
 
 #include <bsp.h>
<font color='#000088'>+#include <bsp/irq-generic.h>
</font> #include <rtems/bspIo.h>
 #include <s3c24xx.h>
 
 /*
  * External Prototypes
  */
<font color='#880000'>-extern void rtems_irq_mngt_init(void);
</font> extern void rtems_exception_init_mngt(void);
 
 /*
<font color='#997700'>@@ -94,7 +94,9 @@
</font>   /*
    * Init rtems interrupt management
    */
<font color='#880000'>-  rtems_irq_mngt_init();
</font><font color='#000088'>+  if (bsp_interrupt_initialize() != RTEMS_SUCCESSFUL) {
+    _CPU_Fatal_halt(0xe);
+  }
</font> }
 
 /*
</pre>
<p> </p>
<a name='cs4'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * Makefile.am, preinstall.am: Added generic interrupt support modules.
        * include/bsp.h: Define BSP_FEATURE_IRQ_EXTENSION.
        * startup/bspstart.c, console/uart.c, network/network.c: Interrupt
        support changes.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb336/ChangeLog.diff?r1=text&tr1=1.67&r2=text&tr2=1.68&diff_format=h">M</a></td><td width='1%'>1.68</td><td width='100%'>c/src/lib/libbsp/arm/csb336/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb336/Makefile.am.diff?r1=text&tr1=1.25&r2=text&tr2=1.26&diff_format=h">M</a></td><td width='1%'>1.26</td><td width='100%'>c/src/lib/libbsp/arm/csb336/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb336/console/uart.c.diff?r1=text&tr1=1.8&r2=text&tr2=1.9&diff_format=h">M</a></td><td width='1%'>1.9</td><td width='100%'>c/src/lib/libbsp/arm/csb336/console/uart.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb336/include/bsp.h.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h">M</a></td><td width='1%'>1.8</td><td width='100%'>c/src/lib/libbsp/arm/csb336/include/bsp.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb336/network/network.c.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h">M</a></td><td width='1%'>1.8</td><td width='100%'>c/src/lib/libbsp/arm/csb336/network/network.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb336/preinstall.am.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h">M</a></td><td width='1%'>1.8</td><td width='100%'>c/src/lib/libbsp/arm/csb336/preinstall.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb336/startup/bspstart.c.diff?r1=text&tr1=1.16&r2=text&tr2=1.17&diff_format=h">M</a></td><td width='1%'>1.17</td><td width='100%'>c/src/lib/libbsp/arm/csb336/startup/bspstart.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb336/ChangeLog:1.67 rtems/c/src/lib/libbsp/arm/csb336/ChangeLog:1.68
--- rtems/c/src/lib/libbsp/arm/csb336/ChangeLog:1.67    Fri Apr 30 08:40:13 2010
+++ rtems/c/src/lib/libbsp/arm/csb336/ChangeLog Fri Apr 30 09:41:12 2010
</font><font color='#997700'>@@ -1,5 +1,12 @@
</font> 2010-04-30        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
<font color='#000088'>+   * Makefile.am, preinstall.am: Added generic interrupt support modules.
+       * include/bsp.h: Define BSP_FEATURE_IRQ_EXTENSION.
+       * startup/bspstart.c, console/uart.c, network/network.c: Interrupt
+       support changes.
+
+2010-04-30     Sebastian Huber <sebastian.huber@embedded-brains.de>
+
</font>   * make/custom/csb336.cfg: Use VFP floating point model.
 
 2010-04-09     Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb336/Makefile.am:1.25 rtems/c/src/lib/libbsp/arm/csb336/Makefile.am:1.26
--- rtems/c/src/lib/libbsp/arm/csb336/Makefile.am:1.25  Sat Nov 28 00:24:46 2009
+++ rtems/c/src/lib/libbsp/arm/csb336/Makefile.am       Fri Apr 30 09:40:16 2010
</font><font color='#997700'>@@ -13,6 +13,8 @@
</font> include_HEADERS = include/bsp.h
 include_HEADERS += ../../shared/include/tm27.h
 
<font color='#000088'>+include_bsp_HEADERS =
+
</font> nodist_include_HEADERS = include/bspopts.h
 nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
 DISTCLEANFILES = include/bspopts.h
<font color='#997700'>@@ -39,6 +41,14 @@
</font> libbsp_a_SOURCES += console/uart.c
 # abort
 libbsp_a_SOURCES += ../shared/abort/abort.c
<font color='#000088'>+# IRQ
+include_bsp_HEADERS += ../../shared/include/irq-generic.h \
+       ../../shared/include/irq-info.h
+libbsp_a_SOURCES += ../../shared/src/irq-generic.c \
+       ../../shared/src/irq-legacy.c \
+       ../../shared/src/irq-info.c \
+       ../../shared/src/irq-shell.c \
+       ../../shared/src/irq-server.c
</font> 
 if HAS_NETWORKING
 network_CPPFLAGS = -D__INSIDE_RTEMS_BSD_TCPIP_STACK__

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb336/console/uart.c:1.8 rtems/c/src/lib/libbsp/arm/csb336/console/uart.c:1.9
--- rtems/c/src/lib/libbsp/arm/csb336/console/uart.c:1.8        Wed Apr  7 16:48:14 2010
+++ rtems/c/src/lib/libbsp/arm/csb336/console/uart.c    Fri Apr 30 09:40:16 2010
</font><font color='#997700'>@@ -17,7 +17,7 @@
</font> #include <rtems/bspIo.h>
 #include <termios.h>
 #include <rtems/irq.h>
<font color='#880000'>-#include <irq.h>
</font><font color='#000088'>+#include <bsp/irq.h>
</font> #include <mc9328mxl.h>
 
 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb336/include/bsp.h:1.7 rtems/c/src/lib/libbsp/arm/csb336/include/bsp.h:1.8
--- rtems/c/src/lib/libbsp/arm/csb336/include/bsp.h:1.7 Sun Nov 29 08:52:59 2009
+++ rtems/c/src/lib/libbsp/arm/csb336/include/bsp.h     Fri Apr 30 09:40:16 2010
</font><font color='#997700'>@@ -27,6 +27,8 @@
</font> #include <rtems/clockdrv.h>
 #include <mc9328mxl.h>
 
<font color='#000088'>+#define BSP_FEATURE_IRQ_EXTENSION
+
</font> /* What is the input clock freq in hertz? */
 #define BSP_OSC_FREQ  16000000    /* 16 MHz oscillator */
 #define BSP_XTAL_FREQ 32768       /* 32.768 KHz crystal */

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb336/network/network.c:1.7 rtems/c/src/lib/libbsp/arm/csb336/network/network.c:1.8
--- rtems/c/src/lib/libbsp/arm/csb336/network/network.c:1.7     Fri Apr  9 15:24:56 2010
+++ rtems/c/src/lib/libbsp/arm/csb336/network/network.c Fri Apr 30 09:40:17 2010
</font><font color='#997700'>@@ -33,7 +33,7 @@
</font> #include <netinet/in.h>
 #include <netinet/if_ether.h>
 
<font color='#880000'>-#include <irq.h>
</font><font color='#000088'>+#include <bsp/irq.h>
</font> 
 /*  RTEMS event used by interrupt handler to start receive daemon. */
 #define START_RECEIVE_EVENT  RTEMS_EVENT_1

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb336/preinstall.am:1.7 rtems/c/src/lib/libbsp/arm/csb336/preinstall.am:1.8
--- rtems/c/src/lib/libbsp/arm/csb336/preinstall.am:1.7 Thu Oct  2 16:37:29 2008
+++ rtems/c/src/lib/libbsp/arm/csb336/preinstall.am     Fri Apr 30 09:40:16 2010
</font><font color='#997700'>@@ -65,3 +65,11 @@
</font>   $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
 PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
 
<font color='#000088'>+$(PROJECT_INCLUDE)/bsp/irq-generic.h: ../../shared/include/irq-generic.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-generic.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-generic.h
+
+$(PROJECT_INCLUDE)/bsp/irq-info.h: ../../shared/include/irq-info.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-info.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-info.h
+
</font>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb336/startup/bspstart.c:1.16 rtems/c/src/lib/libbsp/arm/csb336/startup/bspstart.c:1.17
--- rtems/c/src/lib/libbsp/arm/csb336/startup/bspstart.c:1.16   Fri Apr  9 15:24:56 2010
+++ rtems/c/src/lib/libbsp/arm/csb336/startup/bspstart.c        Fri Apr 30 09:40:17 2010
</font><font color='#997700'>@@ -12,10 +12,10 @@
</font>  */
 
 #include <bsp.h>
<font color='#000088'>+#include <bsp/irq-generic.h>
</font> #include <rtems/bspIo.h>
 #include <mc9328mxl.h>
 
<font color='#880000'>-extern void rtems_irq_mngt_init(void);
</font> extern void rtems_exception_init_mngt(void);
 
 extern void mmu_set_cpu_async_mode(void);
<font color='#997700'>@@ -65,7 +65,9 @@
</font>   /*
    * Init rtems interrupt management
    */
<font color='#880000'>-  rtems_irq_mngt_init();
</font><font color='#000088'>+  if (bsp_interrupt_initialize() != RTEMS_SUCCESSFUL) {
+    _CPU_Fatal_halt(0xe);
+  }
</font> } /* bsp_start */
 
 /* Calcuate the frequency for perclk1 */
</pre>
<p> </p>
<a name='cs5'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * Makefile.am, preinstall.am: Added generic interrupt support modules.
        * include/bsp.h: Define BSP_FEATURE_IRQ_EXTENSION.
        * startup/bspstart.c, network/network.c: Interrupt support changes.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb337/ChangeLog.diff?r1=text&tr1=1.71&r2=text&tr2=1.72&diff_format=h">M</a></td><td width='1%'>1.72</td><td width='100%'>c/src/lib/libbsp/arm/csb337/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb337/Makefile.am.diff?r1=text&tr1=1.32&r2=text&tr2=1.33&diff_format=h">M</a></td><td width='1%'>1.33</td><td width='100%'>c/src/lib/libbsp/arm/csb337/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb337/include/bsp.h.diff?r1=text&tr1=1.8&r2=text&tr2=1.9&diff_format=h">M</a></td><td width='1%'>1.9</td><td width='100%'>c/src/lib/libbsp/arm/csb337/include/bsp.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb337/network/network.c.diff?r1=text&tr1=1.8&r2=text&tr2=1.9&diff_format=h">M</a></td><td width='1%'>1.9</td><td width='100%'>c/src/lib/libbsp/arm/csb337/network/network.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb337/preinstall.am.diff?r1=text&tr1=1.13&r2=text&tr2=1.14&diff_format=h">M</a></td><td width='1%'>1.14</td><td width='100%'>c/src/lib/libbsp/arm/csb337/preinstall.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb337/startup/bspstart.c.diff?r1=text&tr1=1.19&r2=text&tr2=1.20&diff_format=h">M</a></td><td width='1%'>1.20</td><td width='100%'>c/src/lib/libbsp/arm/csb337/startup/bspstart.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb337/ChangeLog:1.71 rtems/c/src/lib/libbsp/arm/csb337/ChangeLog:1.72
--- rtems/c/src/lib/libbsp/arm/csb337/ChangeLog:1.71    Fri Apr 30 08:40:13 2010
+++ rtems/c/src/lib/libbsp/arm/csb337/ChangeLog Fri Apr 30 09:44:17 2010
</font><font color='#997700'>@@ -1,5 +1,11 @@
</font> 2010-04-30        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
<font color='#000088'>+   * Makefile.am, preinstall.am: Added generic interrupt support modules.
+       * include/bsp.h: Define BSP_FEATURE_IRQ_EXTENSION.
+       * startup/bspstart.c, network/network.c: Interrupt support changes.
+
+2010-04-30     Sebastian Huber <sebastian.huber@embedded-brains.de>
+
</font>   * make/custom/csb337.cfg: Use VFP floating point model.
 
 2010-04-25     Joel Sherrill <joel.sherrilL@OARcorp.com>

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb337/Makefile.am:1.32 rtems/c/src/lib/libbsp/arm/csb337/Makefile.am:1.33
--- rtems/c/src/lib/libbsp/arm/csb337/Makefile.am:1.32  Mon Nov 30 16:00:34 2009
+++ rtems/c/src/lib/libbsp/arm/csb337/Makefile.am       Fri Apr 30 09:44:17 2010
</font><font color='#997700'>@@ -16,6 +16,8 @@
</font> include_HEADERS += include/sed1356.h
 endif
 
<font color='#000088'>+include_bsp_HEADERS =
+
</font> if ENABLE_UMON
 include_umondir = $(includedir)/umon
 include_umon_HEADERS  = ../../shared/umon/cli.h
<font color='#997700'>@@ -60,6 +62,14 @@
</font>     ../../shared/gnatinstallhandler.c
 # console
 libbsp_a_SOURCES += ../../shared/console.c console/uarts.c
<font color='#000088'>+# IRQ
+include_bsp_HEADERS += ../../shared/include/irq-generic.h \
+       ../../shared/include/irq-info.h
+libbsp_a_SOURCES += ../../shared/src/irq-generic.c \
+       ../../shared/src/irq-legacy.c \
+       ../../shared/src/irq-info.c \
+       ../../shared/src/irq-shell.c \
+       ../../shared/src/irq-server.c
</font> if ENABLE_LCD
 libbsp_a_SOURCES += console/sed1356.c console/fbcons.c
 endif

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb337/include/bsp.h:1.8 rtems/c/src/lib/libbsp/arm/csb337/include/bsp.h:1.9
--- rtems/c/src/lib/libbsp/arm/csb337/include/bsp.h:1.8 Sun Nov 29 08:53:00 2009
+++ rtems/c/src/lib/libbsp/arm/csb337/include/bsp.h     Fri Apr 30 09:44:17 2010
</font><font color='#997700'>@@ -26,6 +26,7 @@
</font> #include <rtems/clockdrv.h>
 #include <libchip/serial.h>
 
<font color='#000088'>+#define BSP_FEATURE_IRQ_EXTENSION
</font> 
 /* What is the input clock freq in hertz? */
 #define BSP_MAIN_FREQ 3686400      /* 3.6864 MHz */

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb337/network/network.c:1.8 rtems/c/src/lib/libbsp/arm/csb337/network/network.c:1.9
--- rtems/c/src/lib/libbsp/arm/csb337/network/network.c:1.8     Fri Apr  9 15:24:56 2010
+++ rtems/c/src/lib/libbsp/arm/csb337/network/network.c Fri Apr 30 09:44:17 2010
</font><font color='#997700'>@@ -35,7 +35,7 @@
</font> #include <netinet/in.h>
 #include <netinet/if_ether.h>
 
<font color='#880000'>-#include <irq.h>
</font><font color='#000088'>+#include <bsp/irq.h>
</font> #include <bspopts.h>
 
 /* enable debugging of the PHY code */

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb337/preinstall.am:1.13 rtems/c/src/lib/libbsp/arm/csb337/preinstall.am:1.14
--- rtems/c/src/lib/libbsp/arm/csb337/preinstall.am:1.13        Mon Nov 30 16:00:35 2009
+++ rtems/c/src/lib/libbsp/arm/csb337/preinstall.am     Fri Apr 30 09:44:17 2010
</font><font color='#997700'>@@ -106,3 +106,11 @@
</font>   $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
 TMPINSTALL_FILES += $(PROJECT_LIB)/linkcmds
 
<font color='#000088'>+$(PROJECT_INCLUDE)/bsp/irq-generic.h: ../../shared/include/irq-generic.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-generic.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-generic.h
+
+$(PROJECT_INCLUDE)/bsp/irq-info.h: ../../shared/include/irq-info.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-info.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-info.h
+
</font>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb337/startup/bspstart.c:1.19 rtems/c/src/lib/libbsp/arm/csb337/startup/bspstart.c:1.20
--- rtems/c/src/lib/libbsp/arm/csb337/startup/bspstart.c:1.19   Fri Apr  9 15:24:56 2010
+++ rtems/c/src/lib/libbsp/arm/csb337/startup/bspstart.c        Fri Apr 30 09:44:17 2010
</font><font color='#997700'>@@ -17,6 +17,7 @@
</font>  */
 
 #include <bsp.h>
<font color='#000088'>+#include <bsp/irq-generic.h>
</font> #include <at91rm9200.h>
 #include <at91rm9200_pmc.h>
 #include <at91rm9200_emac.h>
<font color='#997700'>@@ -24,7 +25,6 @@
</font> #include <at91rm9200_usart.h>
 
 /* Function prototypes */
<font color='#880000'>-extern void rtems_irq_mngt_init(void);
</font> extern void rtems_exception_init_mngt(void);
 void bsp_libc_init( void *, uint32_t, int );
 static void fix_mac_addr(void);
<font color='#997700'>@@ -65,7 +65,9 @@
</font>   /*
    * Init rtems interrupt management
    */
<font color='#880000'>-  rtems_irq_mngt_init();
</font><font color='#000088'>+  if (bsp_interrupt_initialize() != RTEMS_SUCCESSFUL) {
+    _CPU_Fatal_halt(0xe);
+  }
</font> 
 } /* bsp_start */
 
</pre>
<p> </p>
<a name='cs6'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * irq/bsp_irq_init.c: Removed file.
        * Makefile.am, preinstall.am: Reflect change above.  Added generic
        interrupt support modules.
        * include/bsp.h: Define BSP_FEATURE_IRQ_EXTENSION.
        * startup/bspstart.c, irq/bsp_irq_asm.S, clock/clockdrv.c,
        network/network.c: Interrupt support changes.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/edb7312/ChangeLog.diff?r1=text&tr1=1.113&r2=text&tr2=1.114&diff_format=h">M</a></td><td width='1%'>1.114</td><td width='100%'>c/src/lib/libbsp/arm/edb7312/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/edb7312/Makefile.am.diff?r1=text&tr1=1.39&r2=text&tr2=1.40&diff_format=h">M</a></td><td width='1%'>1.40</td><td width='100%'>c/src/lib/libbsp/arm/edb7312/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/edb7312/clock/clockdrv.c.diff?r1=text&tr1=1.12&r2=text&tr2=1.13&diff_format=h">M</a></td><td width='1%'>1.13</td><td width='100%'>c/src/lib/libbsp/arm/edb7312/clock/clockdrv.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/edb7312/include/bsp.h.diff?r1=text&tr1=1.12&r2=text&tr2=1.13&diff_format=h">M</a></td><td width='1%'>1.13</td><td width='100%'>c/src/lib/libbsp/arm/edb7312/include/bsp.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/edb7312/irq/bsp_irq_asm.S.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>c/src/lib/libbsp/arm/edb7312/irq/bsp_irq_asm.S</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/edb7312/irq/bsp_irq_init.c?rev=1.7&content-type=text/vnd.viewcvs-markup">R</a></td><td width='1%'><font color="#880000">1.7</font></td><td width='100%'><font color="#880000">c/src/lib/libbsp/arm/edb7312/irq/bsp_irq_init.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/edb7312/irq/irq.h.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h">M</a></td><td width='1%'>1.8</td><td width='100%'>c/src/lib/libbsp/arm/edb7312/irq/irq.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/edb7312/irq/irq.c.diff?r1=text&tr1=1.5&r2=text&tr2=1.6&diff_format=h">M</a></td><td width='1%'>1.6</td><td width='100%'>c/src/lib/libbsp/arm/edb7312/irq/irq.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/edb7312/network/network.c.diff?r1=text&tr1=1.8&r2=text&tr2=1.9&diff_format=h">M</a></td><td width='1%'>1.9</td><td width='100%'>c/src/lib/libbsp/arm/edb7312/network/network.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/edb7312/preinstall.am.diff?r1=text&tr1=1.9&r2=text&tr2=1.10&diff_format=h">M</a></td><td width='1%'>1.10</td><td width='100%'>c/src/lib/libbsp/arm/edb7312/preinstall.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/edb7312/startup/bspstart.c.diff?r1=text&tr1=1.15&r2=text&tr2=1.16&diff_format=h">M</a></td><td width='1%'>1.16</td><td width='100%'>c/src/lib/libbsp/arm/edb7312/startup/bspstart.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/edb7312/ChangeLog:1.113 rtems/c/src/lib/libbsp/arm/edb7312/ChangeLog:1.114
--- rtems/c/src/lib/libbsp/arm/edb7312/ChangeLog:1.113  Fri Apr 30 08:40:13 2010
+++ rtems/c/src/lib/libbsp/arm/edb7312/ChangeLog        Fri Apr 30 09:48:52 2010
</font><font color='#997700'>@@ -1,5 +1,14 @@
</font> 2010-04-30        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
<font color='#000088'>+   * irq/bsp_irq_init.c: Removed file.
+       * Makefile.am, preinstall.am: Reflect change above.  Added generic
+       interrupt support modules.
+       * include/bsp.h: Define BSP_FEATURE_IRQ_EXTENSION.
+       * startup/bspstart.c, irq/bsp_irq_asm.S, clock/clockdrv.c,
+       network/network.c: Interrupt support changes.
+
+2010-04-30     Sebastian Huber <sebastian.huber@embedded-brains.de>
+
</font>   * make/custom/edb7312.cfg: Use VFP floating point model.
 
 2010-04-10     Ralf Corsépius <ralf.corsepius@rtems.org>

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/edb7312/Makefile.am:1.39 rtems/c/src/lib/libbsp/arm/edb7312/Makefile.am:1.40
--- rtems/c/src/lib/libbsp/arm/edb7312/Makefile.am:1.39 Sat Nov 28 00:24:46 2009
+++ rtems/c/src/lib/libbsp/arm/edb7312/Makefile.am      Fri Apr 30 09:48:52 2010
</font><font color='#997700'>@@ -13,6 +13,8 @@
</font> include_HEADERS = include/bsp.h
 include_HEADERS += ../../shared/include/tm27.h
 
<font color='#000088'>+include_bsp_HEADERS =
+
</font> nodist_include_HEADERS = include/bspopts.h
 nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
 DISTCLEANFILES = include/bspopts.h
<font color='#997700'>@@ -47,11 +49,17 @@
</font> # abort
 libbsp_a_SOURCES += ../shared/abort/abort.c
 
<font color='#880000'>-include_HEADERS += irq/irq.h
</font> # irq
<font color='#880000'>-libbsp_a_SOURCES += irq/irq.c irq/bsp_irq_init.c \
-    ../../arm/shared/irq/irq_init.c irq/bsp_irq_asm.S \
-    irq/irq.h
</font><font color='#000088'>+include_bsp_HEADERS += ../../shared/include/irq-generic.h \
+       ../../shared/include/irq-info.h \
+       irq/irq.h
+libbsp_a_SOURCES += ../../shared/src/irq-generic.c \
+       ../../shared/src/irq-legacy.c \
+       ../../shared/src/irq-info.c \
+       ../../shared/src/irq-shell.c \
+       ../../shared/src/irq-server.c \
+       irq/irq.c \
+       irq/bsp_irq_asm.S
</font> 
 if HAS_NETWORKING
 network_CPPFLAGS = -D__INSIDE_RTEMS_BSD_TCPIP_STACK__

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/edb7312/clock/clockdrv.c:1.12 rtems/c/src/lib/libbsp/arm/edb7312/clock/clockdrv.c:1.13
--- rtems/c/src/lib/libbsp/arm/edb7312/clock/clockdrv.c:1.12    Fri Apr  9 15:24:56 2010
+++ rtems/c/src/lib/libbsp/arm/edb7312/clock/clockdrv.c Fri Apr 30 09:48:52 2010
</font><font color='#997700'>@@ -14,7 +14,7 @@
</font> #include <rtems.h>
 #include <ep7312.h>
 #include <bsp.h>
<font color='#880000'>-#include <irq.h>
</font><font color='#000088'>+#include <bsp/irq.h>
</font> 
 #if ON_SKYEYE==1
   #define CLOCK_DRIVER_USE_FAST_IDLE

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/edb7312/include/bsp.h:1.12 rtems/c/src/lib/libbsp/arm/edb7312/include/bsp.h:1.13
--- rtems/c/src/lib/libbsp/arm/edb7312/include/bsp.h:1.12       Fri Aug 21 12:58:26 2009
+++ rtems/c/src/lib/libbsp/arm/edb7312/include/bsp.h    Fri Apr 30 09:48:52 2010
</font><font color='#997700'>@@ -25,6 +25,8 @@
</font> #include <rtems/console.h>
 #include <rtems/clockdrv.h>
 
<font color='#000088'>+#define BSP_FEATURE_IRQ_EXTENSION
+
</font> /*
  *  Define the interrupt mechanism for Time Test 27
  *

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/edb7312/irq/bsp_irq_asm.S:1.4 rtems/c/src/lib/libbsp/arm/edb7312/irq/bsp_irq_asm.S:1.5
--- rtems/c/src/lib/libbsp/arm/edb7312/irq/bsp_irq_asm.S:1.4    Fri Jul 17 08:53:04 2009
+++ rtems/c/src/lib/libbsp/arm/edb7312/irq/bsp_irq_asm.S        Fri Apr 30 09:48:52 2010
</font><font color='#997700'>@@ -16,7 +16,7 @@
</font> #define __asm__
 #include "irq.h"
 
<font color='#880000'>-#define VECTOR_TABLE 0x40
</font><font color='#000088'>+      .extern edb7312_interrupt_dispatch
</font> 
 /*
  * Function to obtain, execute an IT handler and acknowledge the IT
<font color='#997700'>@@ -45,7 +45,7 @@
</font>   and   r6, r4, r5 /* only look at interrupts which are enabled */
   tst   r6, #0x0001
   beq   check_extfiq
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 21)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_DAIINT
</font>   b     get_handler
 
 /*
<font color='#997700'>@@ -57,7 +57,7 @@
</font>   and   r6, r4, r5 /* only look at interrupts which are enabled */
   tst   r6, #0x0001
   beq   check_bl
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 0)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_EXTFIQ
</font>   b     get_handler
 
 check_bl:
<font color='#997700'>@@ -69,7 +69,7 @@
</font> #endif
   tst   r6, #0x0002
   beq   check_we
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 1)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_BLINT
</font>   b     get_handler
 
 check_we:
<font color='#997700'>@@ -81,7 +81,7 @@
</font> #endif
   tst   r6, #0x0004
   beq   check_mc
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 2)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_WEINT
</font>   b     get_handler
 
 check_mc:
<font color='#997700'>@@ -93,7 +93,7 @@
</font> #endif
   tst   r6, #0x0008
   beq   check_cs
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 3)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_MCINT
</font>   b     get_handler
 
 check_cs:
<font color='#997700'>@@ -105,7 +105,7 @@
</font> #endif
   tst   r6, #0x0010
   beq   check_e1
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 4)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_CSINT
</font>   b     get_handler
 
 check_e1:
<font color='#997700'>@@ -117,7 +117,7 @@
</font> #endif
   tst   r6, #0x0020
   beq   check_e2
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 5)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_EINT1
</font>   b     get_handler
 
 check_e2:
<font color='#997700'>@@ -129,7 +129,7 @@
</font> #endif
   tst   r6, #0x0040
   beq   check_e3
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 6)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_EINT2
</font>   b     get_handler
 
 check_e3:
<font color='#997700'>@@ -141,7 +141,7 @@
</font> #endif
   tst   r6, #0x0080
   beq   check_tc1
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 7)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_EINT3
</font>   b     get_handler
 
 check_tc1:
<font color='#997700'>@@ -153,7 +153,7 @@
</font> #endif
   tst   r6, #0x0100
   beq   check_tc2
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 8)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_TC1OI
</font>   b     get_handler
 
 check_tc2:
<font color='#997700'>@@ -165,7 +165,7 @@
</font> #endif
   tst   r6, #0x0200
   beq   check_rtc
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 9)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_TC2OI
</font>   b     get_handler
 
 check_rtc:
<font color='#997700'>@@ -177,7 +177,7 @@
</font> #endif
   tst   r6, #0x0400
   beq   check_tick
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 10)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_RTCMI
</font>   b     get_handler
 
 check_tick:
<font color='#997700'>@@ -189,7 +189,7 @@
</font> #endif
   tst   r6, #0x0800
   beq   check_utx1
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 11)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_TINT
</font>   b     get_handler
 
 check_utx1:
<font color='#997700'>@@ -201,7 +201,7 @@
</font> #endif
   tst   r6, #0x1000
   beq   check_urx1
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 12)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_UTXINT1
</font>   b     get_handler
 
 check_urx1:
<font color='#997700'>@@ -213,7 +213,7 @@
</font> #endif
   tst   r6, #0x2000
   beq   check_ums
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 13)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_URXINT1
</font>   b     get_handler
 
 check_ums:
<font color='#997700'>@@ -225,7 +225,7 @@
</font> #endif
   tst   r6, #0x4000
   beq   check_sse
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 14)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_UMSINT
</font>   b     get_handler
 
 check_sse:
<font color='#997700'>@@ -237,7 +237,7 @@
</font> #endif
   tst   r6, #0x8000
   beq   check_kbd
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 15)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_SSEOTI
</font>   b     get_handler
 
 /*
<font color='#997700'>@@ -249,7 +249,7 @@
</font>   and   r6, r4, r5 /* only look at interrupts which are enabled */
   tst   r6, #0x0001
   beq   check_ss2rx
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 16)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_KBDINT
</font>   b     get_handler
 
 check_ss2rx:
<font color='#997700'>@@ -261,7 +261,7 @@
</font> #endif
   tst   r6, #0x0002
   beq   check_ss2tx
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 17)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_SS2RX
</font>   b     get_handler
 
 check_ss2tx:
<font color='#997700'>@@ -273,7 +273,7 @@
</font> #endif
   tst   r6, #0x0004
   beq   check_utx2
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 18)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_SS2TX
</font>   b     get_handler
 
 check_utx2:
<font color='#997700'>@@ -285,7 +285,7 @@
</font> #endif
   tst   r6, #0x1000
   beq   check_urx2
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 19)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_UTXINT2
</font>   b     get_handler
 
 check_urx2:
<font color='#997700'>@@ -297,15 +297,13 @@
</font> #endif
   tst   r6, #0x2000
   beq   IRQ_NoInterrupt
<font color='#880000'>-  ldr      r0, =(VECTOR_TABLE + (4 * 20)) /* load the vector number */
</font><font color='#000088'>+  mov   r0, #BSP_URXINT2
</font>   b     get_handler
 
 get_handler:
 
   ldmia          sp!,{r4, r5, r6}
 
<font color='#880000'>-  ldr      r0, [r0]                /* extract the IT handler @ */
-
</font>   /*
    * re-enable interrupts at processor level as the current
    * interrupt source is now masked via VEGA logic
<font color='#997700'>@@ -316,12 +314,8 @@
</font>   msr     cpsr, r1
 */
 
<font color='#880000'>-  stmdb      sp!,{lr}
-  ldr     lr, =IRQ_return         /* prepare the return from handler  */
-
-  mov     pc, r0                       /* EXECUTE INT HANDLER */
-
-IRQ_return:
</font><font color='#000088'>+  stmdb sp!,{lr}
+  bl    edb7312_interrupt_dispatch
</font>   ldmia sp!,{lr}
 
 IRQ_NoInterrupt:

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/edb7312/irq/irq.h:1.7 rtems/c/src/lib/libbsp/arm/edb7312/irq/irq.h:1.8
--- rtems/c/src/lib/libbsp/arm/edb7312/irq/irq.h:1.7    Fri Apr  9 15:24:56 2010
+++ rtems/c/src/lib/libbsp/arm/edb7312/irq/irq.h        Fri Apr 30 09:48:52 2010
</font><font color='#997700'>@@ -1,6 +1,8 @@
</font> /*
  * Cirrus EP7312 Intererrupt handler
  *
<font color='#000088'>+ * Copyright (c) 2010 embedded brains GmbH.
+ *
</font>  * Copyright (c) 2002 by Jay Monkman <jtm@smoothsmoothie.com>
  *
  * Copyright (c) 2002 by Charlie Steader <charlies@poliac.com>
<font color='#997700'>@@ -17,29 +19,14 @@
</font> #ifndef __IRQ_H__
 #define __IRQ_H__
 
<font color='#880000'>-#ifdef __cplusplus
-extern "C" {
-#endif
-
-  /* define that can be useful (the values are just examples) */
-#define VECTOR_TABLE    0x40
-
</font> #ifndef __asm__
 
<font color='#880000'>-/*
- * Include some preprocessor value also used by assember code
- */
-
-#include <rtems/irq.h>
</font> #include <rtems.h>
<font color='#000088'>+#include <rtems/irq.h>
+#include <rtems/irq-extension.h>
</font> 
<font color='#880000'>-extern void default_int_handler(rtems_irq_hdl_param unused);
-/*-------------------------------------------------------------------------+
-| Constants
-+--------------------------------------------------------------------------*/
</font><font color='#000088'>+#endif /* __asm__ */
</font> 
<font color='#880000'>-  /* enum of the possible interrupt sources */
-typedef unsigned int rtems_irq_number;
</font>   /* int interrupt status/mask register 1 */
 #define BSP_EXTFIQ     0
 #define BSP_BLINT      1
<font color='#997700'>@@ -67,23 +54,8 @@
</font> #define BSP_DAIINT    21
 #define BSP_MAX_INT   22
 
<font color='#880000'>-/*-------------------------------------------------------------------------+
-| Function Prototypes.
-+--------------------------------------------------------------------------*/
-/*
- * ------------------- RTEMS Single Irq Handler Mngt Routines ----------------
- */
-
-/*
- * function to initialize the interrupt for a specific BSP
- */
-void BSP_rtems_irq_mngt_init();
-
-
-#endif /* __asm__ */
</font><font color='#000088'>+#define BSP_INTERRUPT_VECTOR_MIN 0
</font> 
<font color='#880000'>-#ifdef __cplusplus
-}
-#endif
</font><font color='#000088'>+#define BSP_INTERRUPT_VECTOR_MAX (BSP_MAX_INT - 1)
</font> 
 #endif /* __IRQ_H__ */

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/edb7312/irq/irq.c:1.5 rtems/c/src/lib/libbsp/arm/edb7312/irq/irq.c:1.6
--- rtems/c/src/lib/libbsp/arm/edb7312/irq/irq.c:1.5    Wed Sep 12 10:15:31 2007
+++ rtems/c/src/lib/libbsp/arm/edb7312/irq/irq.c        Fri Apr 30 09:48:52 2010
</font><font color='#997700'>@@ -1,6 +1,8 @@
</font> /*
  * Cirrus EP7312 Intererrupt handler
  *
<font color='#000088'>+ * Copyright (c) 2010 embedded brains GmbH.
+ *
</font>  * Copyright (c) 2002 by Jay Monkman <jtm@smoothsmoothie.com>
  *
  * Copyright (c) 2002 by Charlie Steader <charlies@poliac.com>
<font color='#997700'>@@ -13,141 +15,171 @@
</font>  *
  *  $Id$
 */
<font color='#000088'>+
</font> #include <bsp.h>
<font color='#880000'>-#include <irq.h>
-#include <rtems/score/thread.h>
-#include <rtems/score/apiext.h>
-#include <ep7312.h>
</font><font color='#000088'>+#include <bsp/irq.h>
+#include <bsp/irq-generic.h>
</font> 
<font color='#880000'>-/*
- * This function check that the value given for the irq line
- * is valid.
- */
</font><font color='#000088'>+#include <ep7312.h>
</font> 
<font color='#880000'>-static int isValidInterrupt(int irq)
</font><font color='#000088'>+void edb7312_interrupt_dispatch(rtems_vector_number vector)
</font> {
<font color='#880000'>-  if ( (irq < 0) || (irq > BSP_MAX_INT))
-    return 0;
-  return 1;
</font><font color='#000088'>+  bsp_interrupt_handler_dispatch(vector);
</font> }
 
<font color='#880000'>-/*
- * -------------------- RTEMS Single Irq Handler Mngt Routines ----------------
- */
-
-int BSP_install_rtems_irq_handler  (const rtems_irq_connect_data* irq)
</font><font color='#000088'>+rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
</font> {
<font color='#880000'>-    rtems_irq_hdl *HdlTable;
-    rtems_interrupt_level level;
-
-    if (!isValidInterrupt(irq->name)) {
-      return 0;
-    }
-    /*
-     * Check if default handler is actually connected. If not issue an error.
-     */
-    HdlTable = (rtems_irq_hdl *) VECTOR_TABLE;
-    if (*(HdlTable + irq->name) != default_int_handler) {
-      return 0;
-    }
-
-    rtems_interrupt_disable(level);
-
-    /*
-     * store the new handler
-     */
-    *(HdlTable + irq->name) = irq->hdl;
-
-    /*
-     * unmask interrupt
-     */
-    if(irq->name >= BSP_EXTFIQ && irq->name <= BSP_SSEOTI)
</font><font color='#000088'>+    if(vector >= BSP_EXTFIQ && vector <= BSP_SSEOTI)
</font>     {
         /* interrupt managed by INTMR1 and INTSR1 */
<font color='#880000'>-        *EP7312_INTMR1 |= (1 << irq->name);
</font><font color='#000088'>+        *EP7312_INTMR1 |= (1 << vector);
</font>     }
<font color='#880000'>-    else if(irq->name >= BSP_KBDINT && irq->name <= BSP_SS2TX)
</font><font color='#000088'>+    else if(vector >= BSP_KBDINT && vector <= BSP_SS2TX)
</font>     {
         /* interrupt managed by INTMR2 and INTSR2 */
<font color='#880000'>-        *EP7312_INTMR2 |= (1 << (irq->name - 16));
</font><font color='#000088'>+        *EP7312_INTMR2 |= (1 << (vector - 16));
</font>     }
<font color='#880000'>-    else if(irq->name >= BSP_UTXINT2 && irq->name <= BSP_URXINT2)
</font><font color='#000088'>+    else if(vector >= BSP_UTXINT2 && vector <= BSP_URXINT2)
</font>     {
         /* interrupt managed by INTMR2 and INTSR2 */
<font color='#880000'>-        *EP7312_INTMR2 |= (1 << (irq->name - 7));
</font><font color='#000088'>+        *EP7312_INTMR2 |= (1 << (vector - 7));
</font>     }
<font color='#880000'>-    else if(irq->name == BSP_DAIINT)
</font><font color='#000088'>+    else if(vector == BSP_DAIINT)
</font>     {
         /* interrupt managed by INTMR3 and INTSR3 */
<font color='#880000'>-        *EP7312_INTMR3 |= (1 << (irq->name - 21));
-    }
-
-    /*
-     * Enable interrupt on device
-     */
-    if(irq->on)
-    {
-<span style="background-color: #FF0000">    </span>      irq->on(irq);
</font><font color='#000088'>+        *EP7312_INTMR3 |= (1 << (vector - 21));
</font>     }
 
<font color='#880000'>-    rtems_interrupt_enable(level);
-
-    return 1;
</font><font color='#000088'>+  return RTEMS_SUCCESSFUL;
</font> }
 
<font color='#880000'>-int BSP_remove_rtems_irq_handler  (const rtems_irq_connect_data* irq)
</font><font color='#000088'>+rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
</font> {
<font color='#880000'>-    rtems_irq_hdl *HdlTable;
-    rtems_interrupt_level level;
-
-    if (!isValidInterrupt(irq->name)) {
-      return 0;
-    }
-    /*
-     * Check if the handler is actually connected. If not issue an error.
-     */
-    HdlTable = (rtems_irq_hdl *) VECTOR_TABLE;
-    if (*(HdlTable + irq->name) != irq->hdl) {
-      return 0;
-    }
-    rtems_interrupt_disable(level);
-
-    /*
-     * mask interrupt
-     */
-    if(irq->name >= BSP_EXTFIQ && irq->name <= BSP_SSEOTI)
</font><font color='#000088'>+    if(vector >= BSP_EXTFIQ && vector <= BSP_SSEOTI)
</font>     {
         /* interrupt managed by INTMR1 and INTSR1 */
<font color='#880000'>-        *EP7312_INTMR1 &= ~(1 << irq->name);
</font><font color='#000088'>+        *EP7312_INTMR1 &= ~(1 << vector);
</font>     }
<font color='#880000'>-    else if(irq->name >= BSP_KBDINT && irq->name <= BSP_SS2TX)
</font><font color='#000088'>+    else if(vector >= BSP_KBDINT && vector <= BSP_SS2TX)
</font>     {
         /* interrupt managed by INTMR2 and INTSR2 */
<font color='#880000'>-        *EP7312_INTMR2 &= ~(1 << (irq->name - 16));
</font><font color='#000088'>+        *EP7312_INTMR2 &= ~(1 << (vector - 16));
</font>     }
<font color='#880000'>-    else if(irq->name >= BSP_UTXINT2 && irq->name <= BSP_URXINT2)
</font><font color='#000088'>+    else if(vector >= BSP_UTXINT2 && vector <= BSP_URXINT2)
</font>     {
         /* interrupt managed by INTMR2 and INTSR2 */
<font color='#880000'>-        *EP7312_INTMR2 &= ~(1 << (irq->name - 7));
</font><font color='#000088'>+        *EP7312_INTMR2 &= ~(1 << (vector - 7));
</font>     }
<font color='#880000'>-    else if(irq->name == BSP_DAIINT)
</font><font color='#000088'>+    else if(vector == BSP_DAIINT)
</font>     {
         /* interrupt managed by INTMR3 and INTSR3 */
<font color='#880000'>-        *EP7312_INTMR3 &= ~(1 << (irq->name - 21));
</font><font color='#000088'>+        *EP7312_INTMR3 &= ~(1 << (vector - 21));
</font>     }
 
<font color='#880000'>-    /*
-     * Disable interrupt on device
-     */
-    if(irq->off)
-        irq->off(irq);
</font><font color='#000088'>+  return RTEMS_SUCCESSFUL;
+}
</font> 
<font color='#880000'>-    /*
-     * restore the default irq value
-     */
-    *(HdlTable + irq->name) = default_int_handler;
</font><font color='#000088'>+rtems_status_code bsp_interrupt_facility_initialize(void)
+{
+  uint32_t int_stat = 0;
</font> 
<font color='#880000'>-    rtems_interrupt_enable(level);
</font><font color='#000088'>+  /* mask all interrupts */
+  *EP7312_INTMR1 = 0x0;
+  *EP7312_INTMR2 = 0x0;
+  *EP7312_INTMR3 = 0x0;
+<span style="background-color: #FF0000">  </span>
+  /* clear all pending interrupt status' */
+  int_stat = *EP7312_INTSR1;
+  if(int_stat & EP7312_INTR1_EXTFIQ)
+  {
+  }
+  if(int_stat & EP7312_INTR1_BLINT)
+  {
+      *EP7312_BLEOI = 0xFFFFFFFF;
+  }
+  if(int_stat & EP7312_INTR1_WEINT)
+  {
+      *EP7312_TEOI = 0xFFFFFFFF;
+  }
+  if(int_stat & EP7312_INTR1_MCINT)
+  {
+  }
+  if(int_stat & EP7312_INTR1_CSINT)
+  {
+      *EP7312_COEOI = 0xFFFFFFFF;
+  }
+  if(int_stat & EP7312_INTR1_EINT1)
+  {
+  }
+  if(int_stat & EP7312_INTR1_EINT2)
+  {
+  }
+  if(int_stat & EP7312_INTR1_EINT3)
+  {
+  }
+  if(int_stat & EP7312_INTR1_TC1OI)
+  {
+      *EP7312_TC1EOI = 0xFFFFFFFF;
+  }
+  if(int_stat & EP7312_INTR1_TC2OI)
+  {
+      *EP7312_TC2EOI = 0xFFFFFFFF;
+  }
+  if(int_stat & EP7312_INTR1_RTCMI)
+  {
+      *EP7312_RTCEOI = 0xFFFFFFFF;
+  }
+  if(int_stat & EP7312_INTR1_TINT)
+  {
+      *EP7312_TEOI = 0xFFFFFFFF;
+  }
+  if(int_stat & EP7312_INTR1_URXINT1)
+  {
+  }
+  if(int_stat & EP7312_INTR1_UTXINT1)
+  {
+  }
+  if(int_stat & EP7312_INTR1_UMSINT)
+  {
+      *EP7312_UMSEOI = 0xFFFFFFFF;
+  }
+  if(int_stat & EP7312_INTR1_SSEOTI)
+  {
+      *EP7312_SYNCIO;
+  }
+  int_stat = *EP7312_INTSR1;
+<span style="background-color: #FF0000">  </span>
+  int_stat = *EP7312_INTSR2;
+  if(int_stat & EP7312_INTR2_KBDINT)
+  {
+      *EP7312_KBDEOI = 0xFFFFFFFF;
+  }
+  if(int_stat & EP7312_INTR2_SS2RX)
+  {
+  }
+  if(int_stat & EP7312_INTR2_SS2TX)
+  {
+  }
+  if(int_stat & EP7312_INTR2_URXINT2)
+  {
+  }
+  if(int_stat & EP7312_INTR2_UTXINT2)
+  {
+  }
+  int_stat = *EP7312_INTSR2;
+<span style="background-color: #FF0000">  </span>
+  int_stat = *EP7312_INTSR3;
+  if(int_stat & EP7312_INTR2_DAIINT)
+  {
+  }
+  int_stat = *EP7312_INTSR3;
</font> 
<font color='#880000'>-    return 1;
</font><font color='#000088'>+  _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, arm_exc_interrupt, NULL);
+
+  return RTEMS_SUCCESSFUL;
+}
+
+void bsp_interrupt_handler_default(rtems_vector_number vector)
+{
+  printk("spurious interrupt: %u\n", vector);
</font> }

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/edb7312/network/network.c:1.8 rtems/c/src/lib/libbsp/arm/edb7312/network/network.c:1.9
--- rtems/c/src/lib/libbsp/arm/edb7312/network/network.c:1.8    Fri Apr  9 15:24:56 2010
+++ rtems/c/src/lib/libbsp/arm/edb7312/network/network.c        Fri Apr 30 09:48:52 2010
</font><font color='#997700'>@@ -1,6 +1,6 @@
</font> #include <rtems.h>
 #include <sys/mbuf.h>
<font color='#880000'>-#include <irq.h>
</font><font color='#000088'>+#include <bsp/irq.h>
</font> #include <libchip/cs8900.h>
 
 #define CS8900_BASE 0x20000300

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/edb7312/preinstall.am:1.9 rtems/c/src/lib/libbsp/arm/edb7312/preinstall.am:1.10
--- rtems/c/src/lib/libbsp/arm/edb7312/preinstall.am:1.9        Thu Oct  2 16:37:33 2008
+++ rtems/c/src/lib/libbsp/arm/edb7312/preinstall.am    Fri Apr 30 09:48:52 2010
</font><font color='#997700'>@@ -73,7 +73,15 @@
</font>   $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/uart.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/uart.h
 
<font color='#880000'>-$(PROJECT_INCLUDE)/irq.h: irq/irq.h $(PROJECT_INCLUDE)/$(dirstamp)
-       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/irq.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/irq.h
</font><font color='#000088'>+$(PROJECT_INCLUDE)/bsp/irq-generic.h: ../../shared/include/irq-generic.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-generic.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-generic.h
+
+$(PROJECT_INCLUDE)/bsp/irq-info.h: ../../shared/include/irq-info.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-info.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-info.h
+
+$(PROJECT_INCLUDE)/bsp/irq.h: irq/irq.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq.h
</font> 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/edb7312/startup/bspstart.c:1.15 rtems/c/src/lib/libbsp/arm/edb7312/startup/bspstart.c:1.16
--- rtems/c/src/lib/libbsp/arm/edb7312/startup/bspstart.c:1.15  Fri Apr  9 15:24:56 2010
+++ rtems/c/src/lib/libbsp/arm/edb7312/startup/bspstart.c       Fri Apr 30 09:48:52 2010
</font><font color='#997700'>@@ -11,13 +11,13 @@
</font>  */
 
 #include <bsp.h>
<font color='#000088'>+#include <bsp/irq-generic.h>
</font> #include <ep7312.h>
 #include <uart.h>
 
 /*
  * Function prototypes
  */
<font color='#880000'>-extern void rtems_irq_mngt_init(void);
</font> extern void rtems_exception_init_mngt(void);
 
 /*
<font color='#997700'>@@ -45,7 +45,9 @@
</font>   /*
    * Init rtems interrupt management
    */
<font color='#880000'>-  rtems_irq_mngt_init();
</font><font color='#000088'>+  if (bsp_interrupt_initialize() != RTEMS_SUCCESSFUL) {
+    _CPU_Fatal_halt(0xe);
+  }
</font> } /* bsp_start */
 
 /*
</pre>
<p> </p>
<a name='cs7'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * irq/irq_asm.S, irq/irq_init.c, irq/bsp_irq_asm.S,
        irq/bsp_irq_init.c: Removed files.
        * Makefile.am, preinstall.am: Reflect changes above.  Added generic
        interrupt support modules.
        * irq/irq.h, irq/irq.c: The previous interrupt warning fix changed the
        interrupt handler API.  To fix this problem the generic interrupt
        support framework will be used now.  This eliminates a lot of copy and
        paste code.  The interrupt header file is now <bsp/irq.h>.
        * include/bsp.h: Define BSP_FEATURE_IRQ_EXTENSION.
        * start/start.S, startup/bspstart.c, clock/clockdrv.c,
        console/console.c, timer/timer.c: Interrupt support changes.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gba/ChangeLog.diff?r1=text&tr1=1.65&r2=text&tr2=1.66&diff_format=h">M</a></td><td width='1%'>1.66</td><td width='100%'>c/src/lib/libbsp/arm/gba/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gba/Makefile.am.diff?r1=text&tr1=1.21&r2=text&tr2=1.22&diff_format=h">M</a></td><td width='1%'>1.22</td><td width='100%'>c/src/lib/libbsp/arm/gba/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gba/clock/clockdrv.c.diff?r1=text&tr1=1.5&r2=text&tr2=1.6&diff_format=h">M</a></td><td width='1%'>1.6</td><td width='100%'>c/src/lib/libbsp/arm/gba/clock/clockdrv.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gba/console/console.c.diff?r1=text&tr1=1.5&r2=text&tr2=1.6&diff_format=h">M</a></td><td width='1%'>1.6</td><td width='100%'>c/src/lib/libbsp/arm/gba/console/console.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gba/include/bsp.h.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libbsp/arm/gba/include/bsp.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gba/irq/bsp_irq_asm.S?rev=1.2&content-type=text/vnd.viewcvs-markup">R</a></td><td width='1%'><font color="#880000">1.2</font></td><td width='100%'><font color="#880000">c/src/lib/libbsp/arm/gba/irq/bsp_irq_asm.S</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gba/irq/bsp_irq_init.c?rev=1.3&content-type=text/vnd.viewcvs-markup">R</a></td><td width='1%'><font color="#880000">1.3</font></td><td width='100%'><font color="#880000">c/src/lib/libbsp/arm/gba/irq/bsp_irq_init.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gba/irq/irq.h.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>c/src/lib/libbsp/arm/gba/irq/irq.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gba/irq/irq.c.diff?r1=text&tr1=1.5&r2=text&tr2=1.6&diff_format=h">M</a></td><td width='1%'>1.6</td><td width='100%'>c/src/lib/libbsp/arm/gba/irq/irq.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gba/irq/irq_asm.S?rev=1.3&content-type=text/vnd.viewcvs-markup">R</a></td><td width='1%'><font color="#880000">1.3</font></td><td width='100%'><font color="#880000">c/src/lib/libbsp/arm/gba/irq/irq_asm.S</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gba/irq/irq_init.c?rev=1.3&content-type=text/vnd.viewcvs-markup">R</a></td><td width='1%'><font color="#880000">1.3</font></td><td width='100%'><font color="#880000">c/src/lib/libbsp/arm/gba/irq/irq_init.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gba/preinstall.am.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h">M</a></td><td width='1%'>1.8</td><td width='100%'>c/src/lib/libbsp/arm/gba/preinstall.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gba/start/start.S.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>c/src/lib/libbsp/arm/gba/start/start.S</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gba/startup/bspstart.c.diff?r1=text&tr1=1.12&r2=text&tr2=1.13&diff_format=h">M</a></td><td width='1%'>1.13</td><td width='100%'>c/src/lib/libbsp/arm/gba/startup/bspstart.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gba/timer/timer.c.diff?r1=text&tr1=1.5&r2=text&tr2=1.6&diff_format=h">M</a></td><td width='1%'>1.6</td><td width='100%'>c/src/lib/libbsp/arm/gba/timer/timer.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gba/ChangeLog:1.65 rtems/c/src/lib/libbsp/arm/gba/ChangeLog:1.66
--- rtems/c/src/lib/libbsp/arm/gba/ChangeLog:1.65       Fri Apr 30 08:40:13 2010
+++ rtems/c/src/lib/libbsp/arm/gba/ChangeLog    Fri Apr 30 09:55:49 2010
</font><font color='#997700'>@@ -1,5 +1,19 @@
</font> 2010-04-30        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
<font color='#000088'>+   * irq/irq_asm.S, irq/irq_init.c, irq/bsp_irq_asm.S,
+       irq/bsp_irq_init.c: Removed files.
+       * Makefile.am, preinstall.am: Reflect changes above.  Added generic
+       interrupt support modules.
+       * irq/irq.h, irq/irq.c: The previous interrupt warning fix changed the
+       interrupt handler API.  To fix this problem the generic interrupt
+       support framework will be used now.  This eliminates a lot of copy and
+       paste code.  The interrupt header file is now <bsp/irq.h>.
+       * include/bsp.h: Define BSP_FEATURE_IRQ_EXTENSION.
+       * start/start.S, startup/bspstart.c, clock/clockdrv.c,
+       console/console.c, timer/timer.c: Interrupt support changes.
+
+2010-04-30     Sebastian Huber <sebastian.huber@embedded-brains.de>
+
</font>   * make/custom/gba.cfg: Use VFP floating point model.
 
 2010-04-09     Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gba/Makefile.am:1.21 rtems/c/src/lib/libbsp/arm/gba/Makefile.am:1.22
--- rtems/c/src/lib/libbsp/arm/gba/Makefile.am:1.21     Fri Jul 17 08:53:04 2009
+++ rtems/c/src/lib/libbsp/arm/gba/Makefile.am  Fri Apr 30 09:55:51 2010
</font><font color='#997700'>@@ -18,6 +18,8 @@
</font> include_HEADERS += ../../shared/include/tm27.h
 include_HEADERS += include/gba.h
 
<font color='#000088'>+include_bsp_HEADERS =
+
</font> nodist_include_HEADERS = include/bspopts.h
 nodist_include_HEADERS += ../../shared/include/coverhd.h
 nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
<font color='#997700'>@@ -48,10 +50,16 @@
</font> # timer
 libbsp_a_SOURCES += timer/timer.c
 
<font color='#880000'>-include_HEADERS += irq/irq.h
</font> # irq
<font color='#880000'>-libbsp_a_SOURCES += irq/irq.c irq/bsp_irq_init.c irq/irq_init.c \
-    irq/bsp_irq_asm.S irq/irq_asm.S
</font><font color='#000088'>+include_bsp_HEADERS += ../../shared/include/irq-generic.h \
+       ../../shared/include/irq-info.h \
+       irq/irq.h
+libbsp_a_SOURCES += ../../shared/src/irq-generic.c \
+       ../../shared/src/irq-legacy.c \
+       ../../shared/src/irq-info.c \
+       ../../shared/src/irq-shell.c \
+       ../../shared/src/irq-server.c \
+       irq/irq.c
</font> 
 include $(srcdir)/preinstall.am
 include $(top_srcdir)/../../../../automake/local.am

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gba/clock/clockdrv.c:1.5 rtems/c/src/lib/libbsp/arm/gba/clock/clockdrv.c:1.6
--- rtems/c/src/lib/libbsp/arm/gba/clock/clockdrv.c:1.5 Fri Apr  9 15:24:56 2010
+++ rtems/c/src/lib/libbsp/arm/gba/clock/clockdrv.c     Fri Apr 30 09:55:51 2010
</font><font color='#997700'>@@ -17,7 +17,7 @@
</font> 
 #include <rtems.h>
 #include <bsp.h>
<font color='#880000'>-#include <irq.h>
</font><font color='#000088'>+#include <bsp/irq.h>
</font> #include <gba.h>
 
 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gba/console/console.c:1.5 rtems/c/src/lib/libbsp/arm/gba/console/console.c:1.6
--- rtems/c/src/lib/libbsp/arm/gba/console/console.c:1.5        Fri Apr  9 15:24:56 2010
+++ rtems/c/src/lib/libbsp/arm/gba/console/console.c    Fri Apr 30 09:55:51 2010
</font><font color='#997700'>@@ -24,7 +24,7 @@
</font> #include <rtems/libio.h>
 #include <rtems/termiostypes.h>
 #include <termios.h>
<font color='#880000'>-#include <irq.h>
</font><font color='#000088'>+#include <bsp/irq.h>
</font> #include <gba.h>
 #include <conio.h>
 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gba/include/bsp.h:1.3 rtems/c/src/lib/libbsp/arm/gba/include/bsp.h:1.4
--- rtems/c/src/lib/libbsp/arm/gba/include/bsp.h:1.3    Fri Aug 21 12:58:27 2009
+++ rtems/c/src/lib/libbsp/arm/gba/include/bsp.h        Fri Apr 30 09:55:51 2010
</font><font color='#997700'>@@ -30,6 +30,8 @@
</font> #include <rtems/console.h>
 #include <rtems/clockdrv.h>
 
<font color='#000088'>+#define BSP_FEATURE_IRQ_EXTENSION
+
</font> /** Define operation count for Tests */
 #define OPERATION_COUNT 10
 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gba/irq/irq.h:1.2 rtems/c/src/lib/libbsp/arm/gba/irq/irq.h:1.3
--- rtems/c/src/lib/libbsp/arm/gba/irq/irq.h:1.2        Fri Apr  9 15:24:56 2010
+++ rtems/c/src/lib/libbsp/arm/gba/irq/irq.h    Fri Apr 30 09:55:53 2010
</font><font color='#997700'>@@ -7,6 +7,8 @@
</font> /*
  *  RTEMS GBA BSP
  *
<font color='#000088'>+ *  Copyright (c) 2010 embedded brains GmbH.
+ *
</font>  *  Copyright (c) 2004  Markku Puro <markku.puro@kopteri.net>
  *
  *  The license and distribution terms for this file may be
<font color='#997700'>@@ -16,25 +18,16 @@
</font>  *  $Id$
  */
 
<font color='#880000'>-#ifndef _IRQ_H_
-#define _IRQ_H_
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Include some preprocessor value also used by assember code
- */
-
-#define VECTOR_TABLE  (&irq_vector_table[0])
</font><font color='#000088'>+#ifndef __asm__
</font> 
<font color='#880000'>-#include <stdint.h>
-#include <rtems/irq.h>
</font> #include <rtems.h>
<font color='#000088'>+#include <rtems/irq.h>
+#include <rtems/irq-extension.h>
</font> 
<font color='#880000'>-extern void default_int_handler(rtems_irq_hdl_param unused);
</font><font color='#000088'>+#endif /* __asm__ */
+
+#ifndef _IRQ_H_
+#define _IRQ_H_
</font> 
 /*---------------------------------------------------------------------------*
  *  MACROS                                                                   *
<font color='#997700'>@@ -48,44 +41,26 @@
</font> | Constants
 +--------------------------------------------------------------------------*/
 
<font color='#880000'>-typedef enum {
-  BSP_IRQ_VBLANK    = 0,
-  BSP_IRQ_HBLANK    = 1,
-  BSP_IRQ_VCOUNTER  = 2,
-  BSP_IRQ_TIMER0    = 3,
-  BSP_IRQ_TIMER1    = 4,
-  BSP_IRQ_TIMER2    = 5,
-  BSP_IRQ_TIMER3    = 6,
-  BSP_IRQ_SERIAL    = 7,
-  BSP_IRQ_DMA0      = 8,
-  BSP_IRQ_DMA1      = 9,
-  BSP_IRQ_DMA2      = 10,
-  BSP_IRQ_DMA3      = 11,
-  BSP_IRQ_KEY       = 12,
-  BSP_IRQ_CART      = 13,
-  BSP_IRQ_NA14      = 14,
-  BSP_IRQ_NA15      = 15,
-  BSP_MAX_INT       = 16  /**< BSP_MAX_INT <= _irq_max_vector in linkcmds */
-} rtems_irq_symbolic_name;
-
-
-extern void        _irq_max_vector;               /**< defined in lincmds    */
-extern uint32_t    irq_vector_table[BSP_MAX_INT]; /**< allocated in linkcmds */
</font><font color='#000088'>+#define BSP_IRQ_VBLANK   0
+#define BSP_IRQ_HBLANK   1
+#define BSP_IRQ_VCOUNTER 2
+#define BSP_IRQ_TIMER0   3
+#define BSP_IRQ_TIMER1   4
+#define BSP_IRQ_TIMER2   5
+#define BSP_IRQ_TIMER3   6
+#define BSP_IRQ_SERIAL   7
+#define BSP_IRQ_DMA0     8
+#define BSP_IRQ_DMA1     9
+#define BSP_IRQ_DMA2     10
+#define BSP_IRQ_DMA3     11
+#define BSP_IRQ_KEY      12
+#define BSP_IRQ_CART     13
+#define BSP_IRQ_NA14     14
+#define BSP_IRQ_NA15     15
+#define BSP_MAX_INT      16
</font> 
<font color='#880000'>-/*-------------------------------------------------------------------------+
-| Function Prototypes.
-+--------------------------------------------------------------------------*/
-/*
- * ------------------------ RTEMS Single Irq Handler Mngt Routines ----------------
- */
-
-/**
- * @brief function to initialize the interrupt for a specific BSP
- */
-void BSP_rtems_irq_mngt_init();
</font><font color='#000088'>+#define BSP_INTERRUPT_VECTOR_MIN 0
</font> 
<font color='#880000'>-#ifdef __cplusplus
-}
-#endif
</font><font color='#000088'>+#define BSP_INTERRUPT_VECTOR_MAX (BSP_MAX_INT - 1)
</font> 
 #endif /* _IRQ_H_ */

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gba/irq/irq.c:1.5 rtems/c/src/lib/libbsp/arm/gba/irq/irq.c:1.6
--- rtems/c/src/lib/libbsp/arm/gba/irq/irq.c:1.5        Sat Sep  6 12:32:10 2008
+++ rtems/c/src/lib/libbsp/arm/gba/irq/irq.c    Fri Apr 30 09:55:52 2010
</font><font color='#997700'>@@ -6,6 +6,8 @@
</font> /*
  *  RTEMS GBA BSP
  *
<font color='#000088'>+ *  Copyright (c) 2010 embedded brains GmbH.
+ *
</font>  *  Copyright (c) 2002 by Jay Monkman <jtm@smoothsmoothie.com>
  *
  *  Copyright (c) 2002 by Charlie Steader <charlies@poliac.com>
<font color='#997700'>@@ -20,144 +22,51 @@
</font>  */
 
 #include <bsp.h>
<font color='#880000'>-#include <irq.h>
-#include <gba_registers.h>
-#include <rtems/score/thread.h>
-#include <rtems/score/apiext.h>
</font><font color='#000088'>+#include <bsp/irq.h>
+#include <bsp/irq-generic.h>
</font> 
<font color='#000088'>+#include <gba_registers.h>
</font> 
<font color='#880000'>-/**
- *  @brief isValidInterrupt function check that the value given for the irq line is valid.
- *
- *  @param  irq irq number
- *  @return status code TRUE/FALSE (0/1)
- */
-static int isValidInterrupt(int irq)
</font><font color='#000088'>+void bsp_interrupt_dispatch(void)
</font> {
<font color='#880000'>-  if ( (irq < 0) || (irq > BSP_MAX_INT)) {
-     return 0;
-  }
-  return 1;
-}
</font><font color='#000088'>+  unsigned reg_ie = GBA_REG_IE;
+  unsigned reg_if = GBA_REG_IF & reg_ie;
+  rtems_vector_number vector = 31 - __builtin_clz(reg_if);
</font> 
<font color='#880000'>-/*
- * ------------------------ RTEMS Single Irq Handler Mngt Routines ----------------
- */
</font><font color='#000088'>+  bsp_interrupt_handler_dispatch(vector);
</font> 
<font color='#000088'>+  GBA_REG_IF = 1 << vector;
+}
</font> 
<font color='#880000'>-/**
- *  @brief BSP_install_rtems_irq_handler function install rtems irq handler.
- *
- *  @param  irq irq connect data
- *  @return status code TRUE/FALSE (0/1)
- */
-int BSP_install_rtems_irq_handler  (const rtems_irq_connect_data* irq)
</font><font color='#000088'>+rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
</font> {
<font color='#880000'>-    rtems_irq_hdl *HdlTable;
-    rtems_interrupt_level level;
</font><font color='#000088'>+  GBA_REG_IE |= 1 << vector;
</font> 
<font color='#880000'>-    if (!isValidInterrupt(irq->name)) {
-       return 0;
-    }
-    /*
-     * Check if default handler is actually connected. If not issue an error.
-     */
-    HdlTable = (rtems_irq_hdl *) (uint32_t)VECTOR_TABLE;
-    if (*(HdlTable + irq->name) != default_int_handler) {
-       return 0;
-    }
-
-    rtems_interrupt_disable(level);
-
-    /*
-     * store the new handler
-     */
-    *(HdlTable + irq->name) = irq->hdl;
-
-    /*
-     * ack pending interrupt
-     */
-    GBA_REG_IF |= (1 << (irq->name));
-
-    /*
-     * initialize the control register for the concerned interrupt
-     */
-    GBA_REG_IE |= (1 << (irq->name));
-
-    /*
-     * Enable interrupt on device
-     */
-       if (irq->on)
-<span style="background-color: #FF0000">    </span>      irq->on(irq);
</font><font color='#000088'>+  return RTEMS_SUCCESSFUL;
+}
</font> 
<font color='#880000'>-    rtems_interrupt_enable(level);
</font><font color='#000088'>+rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
+{
+  GBA_REG_IE &= ~(1 << vector);
</font> 
<font color='#880000'>-    return 1;
</font><font color='#000088'>+  return RTEMS_SUCCESSFUL;
</font> }
 
<font color='#880000'>-/**
- *  @brief BSP_remove_rtems_irq_handler function removes rtems irq handler.
- *
- *  @param  irq irq connect data
- *  @return status code TRUE/FALSE (0/1)
- */
-int BSP_remove_rtems_irq_handler  (const rtems_irq_connect_data* irq)
</font><font color='#000088'>+rtems_status_code bsp_interrupt_facility_initialize(void)
</font> {
<font color='#880000'>-    rtems_irq_hdl *HdlTable;
-    rtems_interrupt_level level;
</font><font color='#000088'>+  /* clear all interrupt status flags */
+  GBA_REG_IF = 0xffff;
+  /* disable all interrupts */
+  GBA_REG_IE = 0;
+  /* set master interrupt enable */
+  GBA_REG_IME = 1;
</font> 
<font color='#880000'>-    if (!isValidInterrupt(irq->name)) {
-       return 0;
-    }
-    /*
-     * Check if the handler is actually connected. If not issue an error.
-     */
-    HdlTable = (rtems_irq_hdl *) (uint32_t)VECTOR_TABLE;
-    if (*(HdlTable + irq->name) != irq->hdl) {
-       return 0;
-    }
-    rtems_interrupt_disable(level);
-
-    /*
-     * mask at INT controller level
-     */
-    GBA_REG_IE &= ~(1 << irq->name);
-
-    /*
-     * Disable interrupt on device
-     */
-       if (irq->off)
-<span style="background-color: #FF0000">    </span>      irq->off(irq);
-
-    /*
-     * restore the default irq value
-     */
-    *(HdlTable + irq->name) = default_int_handler;
</font><font color='#000088'>+  /* Exception handler is already present in the ROM BIOS */
</font> 
<font color='#880000'>-    rtems_interrupt_enable(level);
-
-    return 1;
</font><font color='#000088'>+  return RTEMS_SUCCESSFUL;
</font> }
 
<font color='#880000'>-
-/**
- *  @brief _ThreadProcessSignalsFromIrq function check that the value given for the irq line is valid.
- *
- *  @param  cxt exeption frame
- *  @return None
- */
-void _ThreadProcessSignalsFromIrq (CPU_Exception_frame* ctx)
</font><font color='#000088'>+void bsp_interrupt_handler_default(rtems_vector_number vector)
</font> {
<font color='#880000'>-  /*
-   * Process pending signals that have not already been
-   * processed by _Thread_Dispatch. This happens quite
-   * unfrequently : the ISR must have posted an action
-   * to the current running thread.
-   */
-  if ( _Thread_Do_post_task_switch_extension ||
-       _Thread_Executing->do_post_task_switch_extension )
-  {
-     _Thread_Executing->do_post_task_switch_extension = false;
-     _API_extensions_Run_postswitch();
-  }
</font><font color='#000088'>+  printk("spurious interrupt: %u\n", vector);
</font> }

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gba/preinstall.am:1.7 rtems/c/src/lib/libbsp/arm/gba/preinstall.am:1.8
--- rtems/c/src/lib/libbsp/arm/gba/preinstall.am:1.7    Thu Oct  2 16:37:34 2008
+++ rtems/c/src/lib/libbsp/arm/gba/preinstall.am        Fri Apr 30 09:55:51 2010
</font><font color='#997700'>@@ -85,7 +85,15 @@
</font>   $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
 PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
 
<font color='#880000'>-$(PROJECT_INCLUDE)/irq.h: irq/irq.h $(PROJECT_INCLUDE)/$(dirstamp)
-       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/irq.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/irq.h
</font><font color='#000088'>+$(PROJECT_INCLUDE)/bsp/irq-generic.h: ../../shared/include/irq-generic.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-generic.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-generic.h
+
+$(PROJECT_INCLUDE)/bsp/irq-info.h: ../../shared/include/irq-info.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-info.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-info.h
+
+$(PROJECT_INCLUDE)/bsp/irq.h: irq/irq.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq.h
</font> 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gba/start/start.S:1.4 rtems/c/src/lib/libbsp/arm/gba/start/start.S:1.5
--- rtems/c/src/lib/libbsp/arm/gba/start/start.S:1.4    Wed Apr  7 16:49:47 2010
+++ rtems/c/src/lib/libbsp/arm/gba/start/start.S        Fri Apr 30 09:55:55 2010
</font><font color='#997700'>@@ -165,7 +165,7 @@
</font>     .align
     PUBLIC_ARM_FUNCTION(_gba_ISR_handler)
         ldmfd  r13!,{r0-r3,r12,r14}
<font color='#880000'>-        b      _ISR_Handler
</font><font color='#000088'>+        b      arm_exc_interrupt
</font>     LABEL_END(_gba_ISR_handler)
 
 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gba/startup/bspstart.c:1.12 rtems/c/src/lib/libbsp/arm/gba/startup/bspstart.c:1.13
--- rtems/c/src/lib/libbsp/arm/gba/startup/bspstart.c:1.12      Tue Sep 16 13:59:04 2008
+++ rtems/c/src/lib/libbsp/arm/gba/startup/bspstart.c   Fri Apr 30 09:55:55 2010
</font><font color='#997700'>@@ -20,13 +20,11 @@
</font> 
 #include <stdio.h>
 #include <bsp.h>
<font color='#000088'>+#include <bsp/irq-generic.h>
</font> #include <rtems/bspIo.h>
 #include <gba.h>
 #include <conio.h>
 
<font color='#880000'>-/* External Prototypes */
-extern void rtems_irq_mngt_init(void);
-
</font> /** Chip registers */
 volatile unsigned int *Regs = (unsigned int *)GBA_IO_REGS_ADDR;
 
<font color='#997700'>@@ -50,7 +48,9 @@
</font>   /* rtems_exception_init_mngt(); */
 
   /* Init rtems interrupt management */
<font color='#880000'>-  rtems_irq_mngt_init();
</font><font color='#000088'>+  if (bsp_interrupt_initialize() != RTEMS_SUCCESSFUL) {
+    _CPU_Fatal_halt(0xe);
+  }
</font> }
 
 /**

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gba/timer/timer.c:1.5 rtems/c/src/lib/libbsp/arm/gba/timer/timer.c:1.6
--- rtems/c/src/lib/libbsp/arm/gba/timer/timer.c:1.5    Thu Sep  4 23:36:16 2008
+++ rtems/c/src/lib/libbsp/arm/gba/timer/timer.c        Fri Apr 30 09:55:55 2010
</font><font color='#997700'>@@ -29,7 +29,7 @@
</font> 
 #include <rtems.h>
 #include <bsp.h>
<font color='#880000'>-#include <irq.h>
</font><font color='#000088'>+#include <bsp/irq.h>
</font> #include <gba.h>
 
 /*
</pre>
<p> </p>
<a name='cs8'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * at91rm9200/dbgu/dbgu.c, at91rm9200/usart/usart.c,
        pxa255/ffuart/ffuart.c: Fixed warnings due to Termios API change.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libcpu/arm/ChangeLog.diff?r1=text&tr1=1.73&r2=text&tr2=1.74&diff_format=h">M</a></td><td width='1%'>1.74</td><td width='100%'>c/src/lib/libcpu/arm/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libcpu/arm/at91rm9200/dbgu/dbgu.c.diff?r1=text&tr1=1.6&r2=text&tr2=1.7&diff_format=h">M</a></td><td width='1%'>1.7</td><td width='100%'>c/src/lib/libcpu/arm/at91rm9200/dbgu/dbgu.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libcpu/arm/at91rm9200/usart/usart.c.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libcpu/arm/at91rm9200/usart/usart.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libcpu/arm/pxa255/ffuart/ffuart.c.diff?r1=text&tr1=1.6&r2=text&tr2=1.7&diff_format=h">M</a></td><td width='1%'>1.7</td><td width='100%'>c/src/lib/libcpu/arm/pxa255/ffuart/ffuart.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libcpu/arm/ChangeLog:1.73 rtems/c/src/lib/libcpu/arm/ChangeLog:1.74
--- rtems/c/src/lib/libcpu/arm/ChangeLog:1.73   Fri Apr 30 08:15:48 2010
+++ rtems/c/src/lib/libcpu/arm/ChangeLog        Fri Apr 30 09:59:51 2010
</font><font color='#997700'>@@ -1,5 +1,10 @@
</font> 2010-04-30        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
<font color='#000088'>+   * at91rm9200/dbgu/dbgu.c, at91rm9200/usart/usart.c,
+       pxa255/ffuart/ffuart.c: Fixed warnings due to Termios API change.
+
+2010-04-30     Sebastian Huber <sebastian.huber@embedded-brains.de>
+
</font>   * at91rm9200/irq/irq.c, at91rm9200/irq/irq.h, lpc22xx/irq/irq.c,
        lpc22xx/irq/irq.h, mc9328mxl/irq/irq.c, mc9328mxl/irq/irq.h,
        pxa255/irq/irq.c, pxa255/irq/irq.h, s3c24xx/irq/irq.c,

<font color='#006600'>diff -u rtems/c/src/lib/libcpu/arm/at91rm9200/dbgu/dbgu.c:1.6 rtems/c/src/lib/libcpu/arm/at91rm9200/dbgu/dbgu.c:1.7
--- rtems/c/src/lib/libcpu/arm/at91rm9200/dbgu/dbgu.c:1.6       Sun Nov 29 22:58:24 2009
+++ rtems/c/src/lib/libcpu/arm/at91rm9200/dbgu/dbgu.c   Fri Apr 30 09:59:51 2010
</font><font color='#997700'>@@ -32,7 +32,7 @@
</font> static int     dbgu_first_open(int major, int minor, void *arg);
 static int     dbgu_last_close(int major, int minor, void *arg);
 static int     dbgu_read(int minor);
<font color='#880000'>-static int     dbgu_write(int minor, const char *buf, int len);
</font><font color='#000088'>+static ssize_t dbgu_write(int minor, const char *buf, size_t len);
</font> static void    dbgu_init(int minor);
 static void    dbgu_write_polled(int minor, char c);
 static int     dbgu_set_attributes(int minor, const struct termios *t);
<font color='#997700'>@@ -111,7 +111,7 @@
</font>  *
  * return 1 on success, -1 on error
  */
<font color='#880000'>-static int dbgu_write(int minor, const char *buf, int len)
</font><font color='#000088'>+static ssize_t dbgu_write(int minor, const char *buf, size_t len)
</font> {
     int i, x;
     char c;

<font color='#006600'>diff -u rtems/c/src/lib/libcpu/arm/at91rm9200/usart/usart.c:1.3 rtems/c/src/lib/libcpu/arm/at91rm9200/usart/usart.c:1.4
--- rtems/c/src/lib/libcpu/arm/at91rm9200/usart/usart.c:1.3     Fri Apr  9 15:24:55 2010
+++ rtems/c/src/lib/libcpu/arm/at91rm9200/usart/usart.c Fri Apr 30 09:59:51 2010
</font><font color='#997700'>@@ -32,7 +32,7 @@
</font> static int     usart_first_open(int major, int minor, void *arg);
 static int     usart_last_close(int major, int minor, void *arg);
 static int     usart_read_polled(int minor);
<font color='#880000'>-static int     usart_write_polled_support(int minor, const char *buf, int len);
</font><font color='#000088'>+static ssize_t usart_write_polled_support(int minor, const char *buf, size_t len);
</font> static void    usart_init(int minor);
 static void    usart_write_polled(int minor, char c);
 static int     usart_set_attributes(int minor, const struct termios *t);
<font color='#997700'>@@ -152,7 +152,7 @@
</font>  *
  * return 1 on success, -1 on error
  */
<font color='#880000'>-static int usart_write_polled_support(int minor, const char *buf, int len)
</font><font color='#000088'>+static ssize_t usart_write_polled_support(int minor, const char *buf, size_t len)
</font> {
   at91rm9200_usart_regs_t *usart;
   int nwrite=0;

<font color='#006600'>diff -u rtems/c/src/lib/libcpu/arm/pxa255/ffuart/ffuart.c:1.6 rtems/c/src/lib/libcpu/arm/pxa255/ffuart/ffuart.c:1.7
--- rtems/c/src/lib/libcpu/arm/pxa255/ffuart/ffuart.c:1.6       Sun Nov 29 23:02:22 2009
+++ rtems/c/src/lib/libcpu/arm/pxa255/ffuart/ffuart.c   Fri Apr 30 09:59:51 2010
</font><font color='#997700'>@@ -25,7 +25,7 @@
</font> static int     ffuart_first_open(int major, int minor, void *arg);
 static int     ffuart_last_close(int major, int minor, void *arg);
 static int     ffuart_read(int minor);
<font color='#880000'>-static int     ffuart_write(int minor, const char *buf, int len);
</font><font color='#000088'>+static ssize_t ffuart_write(int minor, const char *buf, size_t len);
</font> static void    ffuart_init(int minor);
 static void    ffuart_write_polled(int minor, char c);
 static int     ffuart_set_attributes(int minor, const struct termios *t);
<font color='#997700'>@@ -102,9 +102,9 @@
</font>  *
  * return 1 on success, -1 on error
  */
<font color='#880000'>-static int ffuart_write(int minor, const char *buf, int len)
</font><font color='#000088'>+static ssize_t ffuart_write(int minor, const char *buf, size_t len)
</font> {
<font color='#880000'>-    int i, x;
</font><font color='#000088'>+    size_t i, x;
</font>     char c;
     console_tbl *console_entry;
     ffuart_reg_t *ffuart;
</pre>
<p> </p>

<p>--<br />
<small>Generated by <a href="http://www.codewiz.org/projects/index.html#loginfo">Deluxe Loginfo</a> 2.122 by Bernardo Innocenti <bernie@develer.com></small></p>
</body>
</html>