summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2003-09-15 13:26:11 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2003-09-15 13:26:11 +0000
commit1c490ab036ab2ff87ec5443bac9ee4cc78fbc545 (patch)
treeb2243dbaf600e5c8a063a356b6ad13416739de09
parent2003-09-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff)
downloadrtems-1c490ab036ab2ff87ec5443bac9ee4cc78fbc545.tar.bz2
2003-09-15 Joel Sherrill <joel@OARcorp.com>
PR 483/bsps * start/start.c, startup/bspstart.c: Spurious interrupt handlers cannot be installed until RTEMS has initialized the vector table.
-rw-r--r--c/src/lib/libbsp/m68k/efi332/ChangeLog6
-rw-r--r--c/src/lib/libbsp/m68k/efi332/start/start.c3
-rw-r--r--c/src/lib/libbsp/m68k/efi332/startup/bspstart.c12
-rw-r--r--c/src/lib/libbsp/m68k/efi68k/ChangeLog6
-rw-r--r--c/src/lib/libbsp/m68k/efi68k/start/start.c3
-rw-r--r--c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c12
6 files changed, 40 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/m68k/efi332/ChangeLog b/c/src/lib/libbsp/m68k/efi332/ChangeLog
index 4f081b8372..ca6e6f270e 100644
--- a/c/src/lib/libbsp/m68k/efi332/ChangeLog
+++ b/c/src/lib/libbsp/m68k/efi332/ChangeLog
@@ -1,3 +1,9 @@
+2003-09-15 Joel Sherrill <joel@OARcorp.com>
+
+ PR 483/bsps
+ * start/start.c, startup/bspstart.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/efi332/start/start.c b/c/src/lib/libbsp/m68k/efi332/start/start.c
index 97e305d243..20ad83bea2 100644
--- a/c/src/lib/libbsp/m68k/efi332/start/start.c
+++ b/c/src/lib/libbsp/m68k/efi332/start/start.c
@@ -214,7 +214,8 @@ void dumby_start() {
/*
* Initalize the board.
*/
- Spurious_Initialize();
+ /* Spurious should be called in the predriver hook */
+ /* Spurious_Initialize(); */
console_init();
/*
diff --git a/c/src/lib/libbsp/m68k/efi332/startup/bspstart.c b/c/src/lib/libbsp/m68k/efi332/startup/bspstart.c
index 7465f4d7b8..40f3998924 100644
--- a/c/src/lib/libbsp/m68k/efi332/startup/bspstart.c
+++ b/c/src/lib/libbsp/m68k/efi332/startup/bspstart.c
@@ -39,6 +39,17 @@ 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
@@ -60,6 +71,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/efi68k/ChangeLog b/c/src/lib/libbsp/m68k/efi68k/ChangeLog
index 018344828f..c300114750 100644
--- a/c/src/lib/libbsp/m68k/efi68k/ChangeLog
+++ b/c/src/lib/libbsp/m68k/efi68k/ChangeLog
@@ -1,3 +1,9 @@
+2003-09-15 Joel Sherrill <joel@OARcorp.com>
+
+ PR 483/bsps
+ * start/start.c, startup/bspstart.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/16550.h,
diff --git a/c/src/lib/libbsp/m68k/efi68k/start/start.c b/c/src/lib/libbsp/m68k/efi68k/start/start.c
index 850533cf17..d98b54f7e5 100644
--- a/c/src/lib/libbsp/m68k/efi68k/start/start.c
+++ b/c/src/lib/libbsp/m68k/efi68k/start/start.c
@@ -56,7 +56,8 @@ void boot_card();
/*
* Initalize the board.
*/
- Spurious_Initialize();
+ /* Spurious should be called in the predriver hook */
+ /* Spurious_Initialize(); */
console_init();
watch_dog_init();
bsp_tcp_init();
diff --git a/c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c b/c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c
index 74b787c693..0a9c115d2d 100644
--- a/c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c
+++ b/c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c
@@ -46,6 +46,17 @@ 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
*
* This routine does the bulk of the system initialization.
@@ -68,6 +79,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 );