예제 #1
0
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_cleanup();

  /* BDM SIGEMT */
  asm("  .word  0x4afa");

  for(;;);
}
예제 #2
0
파일: spinit.c 프로젝트: atixing/rtems
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_generic_fatal( BSP_GENERIC_FATAL_SPURIOUS_INTERRUPT );
}