From 5ae1caefc37ab25ba0dfe18fe6d92bc1fb144fab Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 30 Apr 2010 14:30:09 +0000 Subject: 2010-04-30 Sebastian Huber * Makefile.am, preinstall.am: Added generic interrupt support modules. * include/bsp.h: Define BSP_FEATURE_IRQ_EXTENSION. * startup/bspstart.c: Interrupt support changes. --- c/src/lib/libbsp/arm/gp32/ChangeLog | 6 ++++++ c/src/lib/libbsp/arm/gp32/Makefile.am | 10 ++++++++++ c/src/lib/libbsp/arm/gp32/include/bsp.h | 2 ++ c/src/lib/libbsp/arm/gp32/preinstall.am | 8 ++++++++ c/src/lib/libbsp/arm/gp32/startup/bspstart.c | 6 ++++-- 5 files changed, 30 insertions(+), 2 deletions(-) (limited to 'c') diff --git a/c/src/lib/libbsp/arm/gp32/ChangeLog b/c/src/lib/libbsp/arm/gp32/ChangeLog index 9b2f67975b..8191d339d1 100644 --- a/c/src/lib/libbsp/arm/gp32/ChangeLog +++ b/c/src/lib/libbsp/arm/gp32/ChangeLog @@ -1,3 +1,9 @@ +2010-04-30 Sebastian Huber + + * 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 * make/custom/gp32.cfg: Use VFP floating point model. diff --git a/c/src/lib/libbsp/arm/gp32/Makefile.am b/c/src/lib/libbsp/arm/gp32/Makefile.am index 0eadacd9f3..27375d8839 100644 --- a/c/src/lib/libbsp/arm/gp32/Makefile.am +++ b/c/src/lib/libbsp/arm/gp32/Makefile.am @@ -14,6 +14,8 @@ include_HEADERS = include/bsp.h include_HEADERS += smc/smc.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 @@ -38,6 +40,14 @@ libbsp_a_SOURCES += ../../shared/bsplibc.c ../../shared/bsppost.c \ ../../shared/gnatinstallhandler.c # console libbsp_a_SOURCES += console/uart.c ../../shared/console.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 # abort libbsp_a_SOURCES += ../shared/abort/abort.c # smc diff --git a/c/src/lib/libbsp/arm/gp32/include/bsp.h b/c/src/lib/libbsp/arm/gp32/include/bsp.h index 7866d01ebd..4441488a6e 100644 --- a/c/src/lib/libbsp/arm/gp32/include/bsp.h +++ b/c/src/lib/libbsp/arm/gp32/include/bsp.h @@ -30,6 +30,8 @@ extern "C" { #include #include +#define BSP_FEATURE_IRQ_EXTENSION + #define gp32_initButtons() {rPBCON=0x0;} #define gp32_getButtons() \ ( (((~rPEDAT >> 6) & 0x3 )<<8) | (((~rPBDAT >> 8) & 0xFF)<<0) ) diff --git a/c/src/lib/libbsp/arm/gp32/preinstall.am b/c/src/lib/libbsp/arm/gp32/preinstall.am index 45a2912877..e2bd7e9f6c 100644 --- a/c/src/lib/libbsp/arm/gp32/preinstall.am +++ b/c/src/lib/libbsp/arm/gp32/preinstall.am @@ -69,3 +69,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/gp32/startup/bspstart.c b/c/src/lib/libbsp/arm/gp32/startup/bspstart.c index eca433c11e..8259b5b681 100644 --- a/c/src/lib/libbsp/arm/gp32/startup/bspstart.c +++ b/c/src/lib/libbsp/arm/gp32/startup/bspstart.c @@ -15,13 +15,13 @@ */ #include +#include #include #include /* * External Prototypes */ -extern void rtems_irq_mngt_init(void); extern void rtems_exception_init_mngt(void); /* @@ -94,7 +94,9 @@ void bsp_start_default( void ) /* * Init rtems interrupt management */ - rtems_irq_mngt_init(); + if (bsp_interrupt_initialize() != RTEMS_SUCCESSFUL) { + _CPU_Fatal_halt(0xe); + } } /* -- cgit v1.2.3