summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/csb336
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2010-04-30 14:41:12 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2010-04-30 14:41:12 +0000
commitb2d7cf06e272e00a1a2553e190e2db2468353cd9 (patch)
tree35948b73ab1d97d6e10d0c9ddb4452cbd8bb38ca /c/src/lib/libbsp/arm/csb336
parent2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff)
downloadrtems-b2d7cf06e272e00a1a2553e190e2db2468353cd9.tar.bz2
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.
Diffstat (limited to 'c/src/lib/libbsp/arm/csb336')
-rw-r--r--c/src/lib/libbsp/arm/csb336/ChangeLog7
-rw-r--r--c/src/lib/libbsp/arm/csb336/Makefile.am10
-rw-r--r--c/src/lib/libbsp/arm/csb336/console/uart.c2
-rw-r--r--c/src/lib/libbsp/arm/csb336/include/bsp.h2
-rw-r--r--c/src/lib/libbsp/arm/csb336/network/network.c2
-rw-r--r--c/src/lib/libbsp/arm/csb336/preinstall.am8
-rw-r--r--c/src/lib/libbsp/arm/csb336/startup/bspstart.c6
7 files changed, 33 insertions, 4 deletions
diff --git a/c/src/lib/libbsp/arm/csb336/ChangeLog b/c/src/lib/libbsp/arm/csb336/ChangeLog
index dbe007c192..cc1ee0ad8b 100644
--- a/c/src/lib/libbsp/arm/csb336/ChangeLog
+++ b/c/src/lib/libbsp/arm/csb336/ChangeLog
@@ -1,5 +1,12 @@
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.
+
+2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
* make/custom/csb336.cfg: Use VFP floating point model.
2010-04-09 Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>
diff --git a/c/src/lib/libbsp/arm/csb336/Makefile.am b/c/src/lib/libbsp/arm/csb336/Makefile.am
index ac95fce6bd..8a884c1ea6 100644
--- a/c/src/lib/libbsp/arm/csb336/Makefile.am
+++ b/c/src/lib/libbsp/arm/csb336/Makefile.am
@@ -13,6 +13,8 @@ dist_project_lib_DATA = bsp_specs
include_HEADERS = include/bsp.h
include_HEADERS += ../../shared/include/tm27.h
+include_bsp_HEADERS =
+
nodist_include_HEADERS = include/bspopts.h
nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
DISTCLEANFILES = include/bspopts.h
@@ -39,6 +41,14 @@ libbsp_a_SOURCES += ../../shared/bsplibc.c ../../shared/bsppost.c \
libbsp_a_SOURCES += console/uart.c
# abort
libbsp_a_SOURCES += ../shared/abort/abort.c
+# 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
if HAS_NETWORKING
network_CPPFLAGS = -D__INSIDE_RTEMS_BSD_TCPIP_STACK__
diff --git a/c/src/lib/libbsp/arm/csb336/console/uart.c b/c/src/lib/libbsp/arm/csb336/console/uart.c
index 4ef78a7ff6..8fed989de1 100644
--- a/c/src/lib/libbsp/arm/csb336/console/uart.c
+++ b/c/src/lib/libbsp/arm/csb336/console/uart.c
@@ -17,7 +17,7 @@
#include <rtems/bspIo.h>
#include <termios.h>
#include <rtems/irq.h>
-#include <irq.h>
+#include <bsp/irq.h>
#include <mc9328mxl.h>
diff --git a/c/src/lib/libbsp/arm/csb336/include/bsp.h b/c/src/lib/libbsp/arm/csb336/include/bsp.h
index c90879a9cd..2586f5e507 100644
--- a/c/src/lib/libbsp/arm/csb336/include/bsp.h
+++ b/c/src/lib/libbsp/arm/csb336/include/bsp.h
@@ -27,6 +27,8 @@ extern "C" {
#include <rtems/clockdrv.h>
#include <mc9328mxl.h>
+#define BSP_FEATURE_IRQ_EXTENSION
+
/* 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 */
diff --git a/c/src/lib/libbsp/arm/csb336/network/network.c b/c/src/lib/libbsp/arm/csb336/network/network.c
index 8f642a9ba9..e7e9a424eb 100644
--- a/c/src/lib/libbsp/arm/csb336/network/network.c
+++ b/c/src/lib/libbsp/arm/csb336/network/network.c
@@ -33,7 +33,7 @@
#include <netinet/in.h>
#include <netinet/if_ether.h>
-#include <irq.h>
+#include <bsp/irq.h>
/* RTEMS event used by interrupt handler to start receive daemon. */
#define START_RECEIVE_EVENT RTEMS_EVENT_1
diff --git a/c/src/lib/libbsp/arm/csb336/preinstall.am b/c/src/lib/libbsp/arm/csb336/preinstall.am
index bdd3a3e368..389ac9a6cd 100644
--- a/c/src/lib/libbsp/arm/csb336/preinstall.am
+++ b/c/src/lib/libbsp/arm/csb336/preinstall.am
@@ -65,3 +65,11 @@ $(PROJECT_LIB)/linkcmds: startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
+$(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
+
diff --git a/c/src/lib/libbsp/arm/csb336/startup/bspstart.c b/c/src/lib/libbsp/arm/csb336/startup/bspstart.c
index e3081e1f79..6df40a1f55 100644
--- a/c/src/lib/libbsp/arm/csb336/startup/bspstart.c
+++ b/c/src/lib/libbsp/arm/csb336/startup/bspstart.c
@@ -12,10 +12,10 @@
*/
#include <bsp.h>
+#include <bsp/irq-generic.h>
#include <rtems/bspIo.h>
#include <mc9328mxl.h>
-extern void rtems_irq_mngt_init(void);
extern void rtems_exception_init_mngt(void);
extern void mmu_set_cpu_async_mode(void);
@@ -65,7 +65,9 @@ void bsp_start_default( void )
/*
* Init rtems interrupt management
*/
- rtems_irq_mngt_init();
+ if (bsp_interrupt_initialize() != RTEMS_SUCCESSFUL) {
+ _CPU_Fatal_halt(0xe);
+ }
} /* bsp_start */
/* Calcuate the frequency for perclk1 */