From c218824d8e4a6420a78ecf93c9fd8e0152256f8c Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 15 Sep 2003 13:26:14 +0000 Subject: 2003-09-15 Joel Sherrill PR 483/bsps * startup/bspstart.c, startup/start_c.c: Spurious interrupt handlers cannot be installed until RTEMS has initialized the vector table. --- c/src/lib/libbsp/m68k/mrm332/ChangeLog | 6 ++++++ c/src/lib/libbsp/m68k/mrm332/startup/bspstart.c | 14 +++++++++++++- c/src/lib/libbsp/m68k/mrm332/startup/start_c.c | 4 +++- 3 files changed, 22 insertions(+), 2 deletions(-) (limited to 'c') 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 + + 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 * 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(); /* -- cgit v1.2.3