summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/mips/tx39/vectorisrs/vectorisrs.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libcpu/mips/tx39/vectorisrs/vectorisrs.c')
-rw-r--r--c/src/lib/libcpu/mips/tx39/vectorisrs/vectorisrs.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/c/src/lib/libcpu/mips/tx39/vectorisrs/vectorisrs.c b/c/src/lib/libcpu/mips/tx39/vectorisrs/vectorisrs.c
index 15a4753123..db31d751e5 100644
--- a/c/src/lib/libcpu/mips/tx39/vectorisrs/vectorisrs.c
+++ b/c/src/lib/libcpu/mips/tx39/vectorisrs/vectorisrs.c
@@ -12,7 +12,18 @@
} while (0)
#define CALL_ISR(_vector) \
- (_ISR_Vector_table[_vector])(_vector);
+ do { \
+ if ( _ISR_Vector_table[_vector] ) \
+ (_ISR_Vector_table[_vector])(_vector); \
+ else \
+ mips_default_exception(_vector); \
+ } while (0)
+
+void mips_default_exception( int vector )
+{
+ printk( "Unhandled exception %d\n", vector );
+ rtems_fatal_error_occurred(1);
+}
void mips_vector_isr_handlers( void )
{