summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2003-09-15 13:26:14 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2003-09-15 13:26:14 +0000
commitc218824d8e4a6420a78ecf93c9fd8e0152256f8c (patch)
treef231c807a5ffc0492943e27a0b3f15d2231a6b77 /c
parent2003-09-15 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-c218824d8e4a6420a78ecf93c9fd8e0152256f8c.tar.bz2
2003-09-15 Joel Sherrill <joel@OARcorp.com>
PR 483/bsps * startup/bspstart.c, startup/start_c.c: Spurious interrupt handlers cannot be installed until RTEMS has initialized the vector table.
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/m68k/mrm332/ChangeLog6
-rw-r--r--c/src/lib/libbsp/m68k/mrm332/startup/bspstart.c14
-rw-r--r--c/src/lib/libbsp/m68k/mrm332/startup/start_c.c4
3 files changed, 22 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/m68k/mrm332/ChangeLog b/c/src/lib/libbsp/m68k/mrm332/ChangeLog
index 5a78729dc1..6dfcaf6802 100644
--- a/c/src/lib/libbsp/m68k/mrm332/ChangeLog
+++ b/c/src/lib/libbsp/m68k/mrm332/ChangeLog
@@ -1,3 +1,9 @@
+2003-09-15 Joel Sherrill <joel@OARcorp.com>
+
+ PR 483/bsps
+ * startup/bspstart.c, startup/start_c.c: Spurious interrupt handlers
+ cannot be installed until RTEMS has initialized the vector table.
+
2003-09-04 Joel Sherrill <joel@OARcorp.com>
* clock/ckinit.c, console/console.c, include/bsp.h, misc/interr.c,
diff --git a/c/src/lib/libbsp/m68k/mrm332/startup/bspstart.c b/c/src/lib/libbsp/m68k/mrm332/startup/bspstart.c
index 33d49ec75d..9e7c5fe067 100644
--- a/c/src/lib/libbsp/m68k/mrm332/startup/bspstart.c
+++ b/c/src/lib/libbsp/m68k/mrm332/startup/bspstart.c
@@ -38,7 +38,18 @@ char *rtems_progname;
void bsp_postdriver_hook(void);
void bsp_libc_init( void *, unsigned32, int );
void bsp_pretasking_hook(void); /* m68k version */
-
+
+/*
+ * Call Spurious_Initialize in bsp_predriver_hook because
+ * bsp_predriver_hook is call after the _ISR_Vector_Table allocation
+ */
+
+void bsp_predriver_hook(void)
+{
+ void Spurious_Initialize();
+ Spurious_Initialize();
+}
+
/*
* bsp_start
*
@@ -59,6 +70,7 @@ void bsp_start( void )
*/
Cpu_table.pretasking_hook = bsp_pretasking_hook;
+ Cpu_table.predriver_hook = bsp_predriver_hook;
Cpu_table.postdriver_hook = bsp_postdriver_hook;
m68k_get_vbr( vbr );
diff --git a/c/src/lib/libbsp/m68k/mrm332/startup/start_c.c b/c/src/lib/libbsp/m68k/mrm332/startup/start_c.c
index 1086130ae8..fce696a484 100644
--- a/c/src/lib/libbsp/m68k/mrm332/startup/start_c.c
+++ b/c/src/lib/libbsp/m68k/mrm332/startup/start_c.c
@@ -111,7 +111,9 @@ void start_c() {
/*
* Initalize the board.
*/
- Spurious_Initialize();
+
+ /* Spurious should be called in the predriver hook */
+ /* Spurious_Initialize(); */
//console_init();
/*