From 100c9723d1558d676068aee0391984a91f517781 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 25 Apr 2018 10:31:53 +0200 Subject: bsp/mrm332: Move spinit.c to bsps This patch is a part of the BSP source reorganization. Update #3285. --- bsps/m68k/mrm332/start/spinit.c | 96 ++++++++++++++++++++++++++ c/src/lib/libbsp/m68k/mrm332/Makefile.am | 2 +- c/src/lib/libbsp/m68k/mrm332/spurious/spinit.c | 96 -------------------------- 3 files changed, 97 insertions(+), 97 deletions(-) create mode 100644 bsps/m68k/mrm332/start/spinit.c delete mode 100644 c/src/lib/libbsp/m68k/mrm332/spurious/spinit.c diff --git a/bsps/m68k/mrm332/start/spinit.c b/bsps/m68k/mrm332/start/spinit.c new file mode 100644 index 0000000000..8f71b5ebc3 --- /dev/null +++ b/bsps/m68k/mrm332/start/spinit.c @@ -0,0 +1,96 @@ +/* + * This routine installs spurious interrupt handlers for the mrm. + */ + +/* + * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#include +#include +#include + +const char * const _Spurious_Error_[] = {"Reset","Bus Error","Address Error", + "Illegal Instruction","Zero Division","CHK, CHK2 Instruction", + "TRAPcc, TRAPV Instruction","Privilege Violation","Trace", + "Line 1010 Emulation","Line 1111 Emulation","Hardware Breakpoint", + "Coprocessor Protocal Violation", + "Format Error ans Uninitialized Interrupt","Unassigned", + "Spurious Interrupt","AVec1","AVec2","AVec3","AVec4","AVec5","AVec6", + "AVec7","Trap Instruction","Debug","Reboot","Reserved Coprocessor", + "Reserved Unassigned","User Defined"}; + +static rtems_isr Spurious_Isr( + rtems_vector_number vector +) +{ + /*int sp = 0; */ +#if 0 + const char * const VectDescrip[] = { + _Spurious_Error_[0], _Spurious_Error_[0], _Spurious_Error_[1], + _Spurious_Error_[2], _Spurious_Error_[3], _Spurious_Error_[4], + _Spurious_Error_[5], _Spurious_Error_[6], _Spurious_Error_[7], + _Spurious_Error_[8], _Spurious_Error_[9], _Spurious_Error_[10], + _Spurious_Error_[11], _Spurious_Error_[12], _Spurious_Error_[13], + _Spurious_Error_[13], _Spurious_Error_[14], _Spurious_Error_[14], + _Spurious_Error_[14], _Spurious_Error_[14], _Spurious_Error_[14], + _Spurious_Error_[14], _Spurious_Error_[14], _Spurious_Error_[14], + _Spurious_Error_[15], _Spurious_Error_[16], _Spurious_Error_[17], + _Spurious_Error_[18], _Spurious_Error_[19], _Spurious_Error_[20], + _Spurious_Error_[21], _Spurious_Error_[22], _Spurious_Error_[23], + _Spurious_Error_[24], _Spurious_Error_[23], _Spurious_Error_[23], + _Spurious_Error_[23], _Spurious_Error_[23], _Spurious_Error_[23], + _Spurious_Error_[23], _Spurious_Error_[23], _Spurious_Error_[23], + _Spurious_Error_[23], _Spurious_Error_[23], _Spurious_Error_[23], + _Spurious_Error_[23], _Spurious_Error_[23], _Spurious_Error_[25], + _Spurious_Error_[26], _Spurious_Error_[26], _Spurious_Error_[26], + _Spurious_Error_[26], _Spurious_Error_[26], _Spurious_Error_[26], + _Spurious_Error_[26], _Spurious_Error_[26], _Spurious_Error_[26], + _Spurious_Error_[26], _Spurious_Error_[26], _Spurious_Error_[27], + _Spurious_Error_[27], _Spurious_Error_[27], _Spurious_Error_[27], + _Spurious_Error_[27], _Spurious_Error_[28]}; +#endif + + /*asm volatile ( "movea.l %%sp,%0 " : "=a" (sp) : "0" (sp) ); */ + + _CPU_ISR_Set_level( 7 ); + /*_UART_flush(); */ +#if 0 + RAW_PUTS("\n\rRTEMS: Spurious interrupt: "); + RAW_PUTS((char *)VectDescrip[( (vector>64) ? 64 : vector )]); + RAW_PUTS("\n\rRTEMS: Vector: "); + RAW_PUTI(vector); + RAW_PUTS(" sp: "); + RAW_PUTI(sp); + RAW_PUTS("\n\r"); +#endif + bsp_fatal( MRM332_FATAL_SPURIOUS_INTERRUPT ); +} + +void Spurious_Initialize(void) +{ + rtems_vector_number vector; + + for ( vector = 0x0 ; vector <= 0xFF ; vector++ ) + { + switch (vector) + { + case 4: + case 9: + case 31: + case 47: + case 66: + /* These vectors used by CPU32bug - don't overwrite them. */ + break; + + default: + (void) set_vector( Spurious_Isr, vector, 1 ); + break; + } + } +} diff --git a/c/src/lib/libbsp/m68k/mrm332/Makefile.am b/c/src/lib/libbsp/m68k/mrm332/Makefile.am index c8bc78929e..328f60a338 100644 --- a/c/src/lib/libbsp/m68k/mrm332/Makefile.am +++ b/c/src/lib/libbsp/m68k/mrm332/Makefile.am @@ -32,7 +32,7 @@ librtemsbsp_a_SOURCES +=../../../../../../bsps/m68k/mrm332/clock/ckinit.c librtemsbsp_a_SOURCES += ../../../../../../bsps/m68k/mrm332/console/console.c librtemsbsp_a_SOURCES += ../../../../../../bsps/m68k/mrm332/console/sci.c # spurious -librtemsbsp_a_SOURCES += spurious/spinit.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/m68k/mrm332/start/spinit.c # timer librtemsbsp_a_SOURCES += ../../../../../../bsps/m68k/mrm332/btimer/btimer.c diff --git a/c/src/lib/libbsp/m68k/mrm332/spurious/spinit.c b/c/src/lib/libbsp/m68k/mrm332/spurious/spinit.c deleted file mode 100644 index 8f71b5ebc3..0000000000 --- a/c/src/lib/libbsp/m68k/mrm332/spurious/spinit.c +++ /dev/null @@ -1,96 +0,0 @@ -/* - * This routine installs spurious interrupt handlers for the mrm. - */ - -/* - * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#include -#include -#include - -const char * const _Spurious_Error_[] = {"Reset","Bus Error","Address Error", - "Illegal Instruction","Zero Division","CHK, CHK2 Instruction", - "TRAPcc, TRAPV Instruction","Privilege Violation","Trace", - "Line 1010 Emulation","Line 1111 Emulation","Hardware Breakpoint", - "Coprocessor Protocal Violation", - "Format Error ans Uninitialized Interrupt","Unassigned", - "Spurious Interrupt","AVec1","AVec2","AVec3","AVec4","AVec5","AVec6", - "AVec7","Trap Instruction","Debug","Reboot","Reserved Coprocessor", - "Reserved Unassigned","User Defined"}; - -static rtems_isr Spurious_Isr( - rtems_vector_number vector -) -{ - /*int sp = 0; */ -#if 0 - const char * const VectDescrip[] = { - _Spurious_Error_[0], _Spurious_Error_[0], _Spurious_Error_[1], - _Spurious_Error_[2], _Spurious_Error_[3], _Spurious_Error_[4], - _Spurious_Error_[5], _Spurious_Error_[6], _Spurious_Error_[7], - _Spurious_Error_[8], _Spurious_Error_[9], _Spurious_Error_[10], - _Spurious_Error_[11], _Spurious_Error_[12], _Spurious_Error_[13], - _Spurious_Error_[13], _Spurious_Error_[14], _Spurious_Error_[14], - _Spurious_Error_[14], _Spurious_Error_[14], _Spurious_Error_[14], - _Spurious_Error_[14], _Spurious_Error_[14], _Spurious_Error_[14], - _Spurious_Error_[15], _Spurious_Error_[16], _Spurious_Error_[17], - _Spurious_Error_[18], _Spurious_Error_[19], _Spurious_Error_[20], - _Spurious_Error_[21], _Spurious_Error_[22], _Spurious_Error_[23], - _Spurious_Error_[24], _Spurious_Error_[23], _Spurious_Error_[23], - _Spurious_Error_[23], _Spurious_Error_[23], _Spurious_Error_[23], - _Spurious_Error_[23], _Spurious_Error_[23], _Spurious_Error_[23], - _Spurious_Error_[23], _Spurious_Error_[23], _Spurious_Error_[23], - _Spurious_Error_[23], _Spurious_Error_[23], _Spurious_Error_[25], - _Spurious_Error_[26], _Spurious_Error_[26], _Spurious_Error_[26], - _Spurious_Error_[26], _Spurious_Error_[26], _Spurious_Error_[26], - _Spurious_Error_[26], _Spurious_Error_[26], _Spurious_Error_[26], - _Spurious_Error_[26], _Spurious_Error_[26], _Spurious_Error_[27], - _Spurious_Error_[27], _Spurious_Error_[27], _Spurious_Error_[27], - _Spurious_Error_[27], _Spurious_Error_[28]}; -#endif - - /*asm volatile ( "movea.l %%sp,%0 " : "=a" (sp) : "0" (sp) ); */ - - _CPU_ISR_Set_level( 7 ); - /*_UART_flush(); */ -#if 0 - RAW_PUTS("\n\rRTEMS: Spurious interrupt: "); - RAW_PUTS((char *)VectDescrip[( (vector>64) ? 64 : vector )]); - RAW_PUTS("\n\rRTEMS: Vector: "); - RAW_PUTI(vector); - RAW_PUTS(" sp: "); - RAW_PUTI(sp); - RAW_PUTS("\n\r"); -#endif - bsp_fatal( MRM332_FATAL_SPURIOUS_INTERRUPT ); -} - -void Spurious_Initialize(void) -{ - rtems_vector_number vector; - - for ( vector = 0x0 ; vector <= 0xFF ; vector++ ) - { - switch (vector) - { - case 4: - case 9: - case 31: - case 47: - case 66: - /* These vectors used by CPU32bug - don't overwrite them. */ - break; - - default: - (void) set_vector( Spurious_Isr, vector, 1 ); - break; - } - } -} -- cgit v1.2.3